summaryrefslogtreecommitdiff
path: root/drivers/clk/at91/pmc.c
diff options
context:
space:
mode:
authorAlexandre Belloni <alexandre.belloni@free-electrons.com>2016-01-27 14:59:47 +0100
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>2016-02-17 17:53:00 +0100
commita5df602bd384c4b4a2f2869f07d6554767518a67 (patch)
tree3667c33c0f13d189f920b667b0ba875646013e6a /drivers/clk/at91/pmc.c
parent99a81706526fb167029a940ef1f7bfbe882abd3e (diff)
clk: at91: pmc: merge at91_pmc_init in atmel_pmc_probe
at91_pmc_init() doesn't do much anymore, merge it in atmel_pmc_probe(). Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com> Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Diffstat (limited to 'drivers/clk/at91/pmc.c')
-rw-r--r--drivers/clk/at91/pmc.c34
1 files changed, 9 insertions, 25 deletions
diff --git a/drivers/clk/at91/pmc.c b/drivers/clk/at91/pmc.c
index f17a2a1f1e85..01d049d4248a 100644
--- a/drivers/clk/at91/pmc.c
+++ b/drivers/clk/at91/pmc.c
@@ -110,30 +110,6 @@ static const struct at91_pmc_caps sama5d3_caps = {
AT91_PMC_CFDEV,
};
-static struct at91_pmc *__init at91_pmc_init(struct device_node *np,
- struct regmap *regmap,
- void __iomem *regbase,
- const struct at91_pmc_caps *caps)
-{
- struct at91_pmc *pmc;
-
- if (!regbase || !caps)
- return NULL;
-
- at91_pmc_base = regbase;
-
- pmc = kzalloc(sizeof(*pmc), GFP_KERNEL);
- if (!pmc)
- return NULL;
-
- pmc->regmap = regmap;
- pmc->caps = caps;
-
- regmap_write(pmc->regmap, AT91_PMC_IDR, 0xffffffff);
-
- return pmc;
-}
-
static void __init of_at91_pmc_setup(struct device_node *np,
const struct at91_pmc_caps *caps)
{
@@ -141,13 +117,21 @@ static void __init of_at91_pmc_setup(struct device_node *np,
void __iomem *regbase = of_iomap(np, 0);
struct regmap *regmap;
+ at91_pmc_base = regbase;
+
regmap = syscon_node_to_regmap(np);
if (IS_ERR(regmap))
panic("Could not retrieve syscon regmap");
- pmc = at91_pmc_init(np, regmap, regbase, caps);
+ pmc = kzalloc(sizeof(*pmc), GFP_KERNEL);
if (!pmc)
return;
+
+ pmc->regmap = regmap;
+ pmc->caps = caps;
+
+ regmap_write(pmc->regmap, AT91_PMC_IDR, 0xffffffff);
+
}
static void __init of_at91rm9200_pmc_setup(struct device_node *np)