power: reset: at91-poweroff: make sclk part of struct shdwc
authorClaudiu Beznea <claudiu.beznea@microchip.com>
Thu, 30 Aug 2018 11:50:09 +0000 (14:50 +0300)
committerSebastian Reichel <sre@kernel.org>
Sun, 16 Sep 2018 10:32:09 +0000 (12:32 +0200)
Make sclk part of struct shdwc to have all the data specific to SHDWC
grouped together in one structure.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/reset/at91-sama5d2_shdwc.c

index c999410..945b41b 100644 (file)
@@ -70,6 +70,7 @@ struct shdwc_config {
 
 struct shdwc {
        const struct shdwc_config *cfg;
+       struct clk *sclk;
        void __iomem *at91_shdwc_base;
        void __iomem *mpddrc_base;
        void __iomem *pmc_base;
@@ -80,7 +81,6 @@ struct shdwc {
  * since pm_power_off itself is global.
  */
 static struct shdwc *at91_shdwc;
-static struct clk *sclk;
 
 static const unsigned long long sdwc_dbc_period[] = {
        0, 3, 32, 512, 4096, 32768,
@@ -271,11 +271,11 @@ static int __init at91_shdwc_probe(struct platform_device *pdev)
        match = of_match_node(at91_shdwc_of_match, pdev->dev.of_node);
        at91_shdwc->cfg = match->data;
 
-       sclk = devm_clk_get(&pdev->dev, NULL);
-       if (IS_ERR(sclk))
-               return PTR_ERR(sclk);
+       at91_shdwc->sclk = devm_clk_get(&pdev->dev, NULL);
+       if (IS_ERR(at91_shdwc->sclk))
+               return PTR_ERR(at91_shdwc->sclk);
 
-       ret = clk_prepare_enable(sclk);
+       ret = clk_prepare_enable(at91_shdwc->sclk);
        if (ret) {
                dev_err(&pdev->dev, "Could not enable slow clock\n");
                return ret;
@@ -328,7 +328,7 @@ static int __init at91_shdwc_probe(struct platform_device *pdev)
 unmap:
        iounmap(at91_shdwc->pmc_base);
 clk_disable:
-       clk_disable_unprepare(sclk);
+       clk_disable_unprepare(at91_shdwc->sclk);
 
        return ret;
 }
@@ -348,7 +348,7 @@ static int __exit at91_shdwc_remove(struct platform_device *pdev)
                iounmap(shdw->mpddrc_base);
        iounmap(shdw->pmc_base);
 
-       clk_disable_unprepare(sclk);
+       clk_disable_unprepare(shdw->sclk);
 
        return 0;
 }