Loading drivers/clk/at91/pmc.c +0 −128 Original line number Diff line number Diff line Loading @@ -19,15 +19,6 @@ #include "pmc.h" struct at91_pmc_caps { u32 available_irqs; }; struct at91_pmc { struct regmap *regmap; const struct at91_pmc_caps *caps; }; int of_at91_get_clk_range(struct device_node *np, const char *propname, struct clk_range *range) { Loading @@ -50,122 +41,3 @@ int of_at91_get_clk_range(struct device_node *np, const char *propname, return 0; } EXPORT_SYMBOL_GPL(of_at91_get_clk_range); static const struct at91_pmc_caps at91rm9200_caps = { .available_irqs = AT91_PMC_MOSCS | AT91_PMC_LOCKA | AT91_PMC_LOCKB | AT91_PMC_MCKRDY | AT91_PMC_PCK0RDY | AT91_PMC_PCK1RDY | AT91_PMC_PCK2RDY | AT91_PMC_PCK3RDY, }; static const struct at91_pmc_caps at91sam9260_caps = { .available_irqs = AT91_PMC_MOSCS | AT91_PMC_LOCKA | AT91_PMC_LOCKB | AT91_PMC_MCKRDY | AT91_PMC_PCK0RDY | AT91_PMC_PCK1RDY, }; static const struct at91_pmc_caps at91sam9g45_caps = { .available_irqs = AT91_PMC_MOSCS | AT91_PMC_LOCKA | AT91_PMC_MCKRDY | AT91_PMC_LOCKU | AT91_PMC_PCK0RDY | AT91_PMC_PCK1RDY, }; static const struct at91_pmc_caps at91sam9n12_caps = { .available_irqs = AT91_PMC_MOSCS | AT91_PMC_LOCKA | AT91_PMC_LOCKB | AT91_PMC_MCKRDY | AT91_PMC_PCK0RDY | AT91_PMC_PCK1RDY | AT91_PMC_MOSCSELS | AT91_PMC_MOSCRCS | AT91_PMC_CFDEV, }; static const struct at91_pmc_caps at91sam9x5_caps = { .available_irqs = AT91_PMC_MOSCS | AT91_PMC_LOCKA | AT91_PMC_MCKRDY | AT91_PMC_LOCKU | AT91_PMC_PCK0RDY | AT91_PMC_PCK1RDY | AT91_PMC_MOSCSELS | AT91_PMC_MOSCRCS | AT91_PMC_CFDEV, }; static const struct at91_pmc_caps sama5d2_caps = { .available_irqs = AT91_PMC_MOSCS | AT91_PMC_LOCKA | AT91_PMC_MCKRDY | AT91_PMC_LOCKU | AT91_PMC_PCK0RDY | AT91_PMC_PCK1RDY | AT91_PMC_PCK2RDY | AT91_PMC_MOSCSELS | AT91_PMC_MOSCRCS | AT91_PMC_CFDEV | AT91_PMC_GCKRDY, }; static const struct at91_pmc_caps sama5d3_caps = { .available_irqs = AT91_PMC_MOSCS | AT91_PMC_LOCKA | AT91_PMC_MCKRDY | AT91_PMC_LOCKU | AT91_PMC_PCK0RDY | AT91_PMC_PCK1RDY | AT91_PMC_PCK2RDY | AT91_PMC_MOSCSELS | AT91_PMC_MOSCRCS | AT91_PMC_CFDEV, }; static void __init of_at91_pmc_setup(struct device_node *np, const struct at91_pmc_caps *caps) { struct at91_pmc *pmc; struct regmap *regmap; regmap = syscon_node_to_regmap(np); if (IS_ERR(regmap)) panic("Could not retrieve syscon regmap"); 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) { of_at91_pmc_setup(np, &at91rm9200_caps); } CLK_OF_DECLARE(at91rm9200_clk_pmc, "atmel,at91rm9200-pmc", of_at91rm9200_pmc_setup); static void __init of_at91sam9260_pmc_setup(struct device_node *np) { of_at91_pmc_setup(np, &at91sam9260_caps); } CLK_OF_DECLARE(at91sam9260_clk_pmc, "atmel,at91sam9260-pmc", of_at91sam9260_pmc_setup); static void __init of_at91sam9g45_pmc_setup(struct device_node *np) { of_at91_pmc_setup(np, &at91sam9g45_caps); } CLK_OF_DECLARE(at91sam9g45_clk_pmc, "atmel,at91sam9g45-pmc", of_at91sam9g45_pmc_setup); static void __init of_at91sam9n12_pmc_setup(struct device_node *np) { of_at91_pmc_setup(np, &at91sam9n12_caps); } CLK_OF_DECLARE(at91sam9n12_clk_pmc, "atmel,at91sam9n12-pmc", of_at91sam9n12_pmc_setup); static void __init of_at91sam9x5_pmc_setup(struct device_node *np) { of_at91_pmc_setup(np, &at91sam9x5_caps); } CLK_OF_DECLARE(at91sam9x5_clk_pmc, "atmel,at91sam9x5-pmc", of_at91sam9x5_pmc_setup); static void __init of_sama5d2_pmc_setup(struct device_node *np) { of_at91_pmc_setup(np, &sama5d2_caps); } CLK_OF_DECLARE(sama5d2_clk_pmc, "atmel,sama5d2-pmc", of_sama5d2_pmc_setup); static void __init of_sama5d3_pmc_setup(struct device_node *np) { of_at91_pmc_setup(np, &sama5d3_caps); } CLK_OF_DECLARE(sama5d3_clk_pmc, "atmel,sama5d3-pmc", of_sama5d3_pmc_setup); Loading
drivers/clk/at91/pmc.c +0 −128 Original line number Diff line number Diff line Loading @@ -19,15 +19,6 @@ #include "pmc.h" struct at91_pmc_caps { u32 available_irqs; }; struct at91_pmc { struct regmap *regmap; const struct at91_pmc_caps *caps; }; int of_at91_get_clk_range(struct device_node *np, const char *propname, struct clk_range *range) { Loading @@ -50,122 +41,3 @@ int of_at91_get_clk_range(struct device_node *np, const char *propname, return 0; } EXPORT_SYMBOL_GPL(of_at91_get_clk_range); static const struct at91_pmc_caps at91rm9200_caps = { .available_irqs = AT91_PMC_MOSCS | AT91_PMC_LOCKA | AT91_PMC_LOCKB | AT91_PMC_MCKRDY | AT91_PMC_PCK0RDY | AT91_PMC_PCK1RDY | AT91_PMC_PCK2RDY | AT91_PMC_PCK3RDY, }; static const struct at91_pmc_caps at91sam9260_caps = { .available_irqs = AT91_PMC_MOSCS | AT91_PMC_LOCKA | AT91_PMC_LOCKB | AT91_PMC_MCKRDY | AT91_PMC_PCK0RDY | AT91_PMC_PCK1RDY, }; static const struct at91_pmc_caps at91sam9g45_caps = { .available_irqs = AT91_PMC_MOSCS | AT91_PMC_LOCKA | AT91_PMC_MCKRDY | AT91_PMC_LOCKU | AT91_PMC_PCK0RDY | AT91_PMC_PCK1RDY, }; static const struct at91_pmc_caps at91sam9n12_caps = { .available_irqs = AT91_PMC_MOSCS | AT91_PMC_LOCKA | AT91_PMC_LOCKB | AT91_PMC_MCKRDY | AT91_PMC_PCK0RDY | AT91_PMC_PCK1RDY | AT91_PMC_MOSCSELS | AT91_PMC_MOSCRCS | AT91_PMC_CFDEV, }; static const struct at91_pmc_caps at91sam9x5_caps = { .available_irqs = AT91_PMC_MOSCS | AT91_PMC_LOCKA | AT91_PMC_MCKRDY | AT91_PMC_LOCKU | AT91_PMC_PCK0RDY | AT91_PMC_PCK1RDY | AT91_PMC_MOSCSELS | AT91_PMC_MOSCRCS | AT91_PMC_CFDEV, }; static const struct at91_pmc_caps sama5d2_caps = { .available_irqs = AT91_PMC_MOSCS | AT91_PMC_LOCKA | AT91_PMC_MCKRDY | AT91_PMC_LOCKU | AT91_PMC_PCK0RDY | AT91_PMC_PCK1RDY | AT91_PMC_PCK2RDY | AT91_PMC_MOSCSELS | AT91_PMC_MOSCRCS | AT91_PMC_CFDEV | AT91_PMC_GCKRDY, }; static const struct at91_pmc_caps sama5d3_caps = { .available_irqs = AT91_PMC_MOSCS | AT91_PMC_LOCKA | AT91_PMC_MCKRDY | AT91_PMC_LOCKU | AT91_PMC_PCK0RDY | AT91_PMC_PCK1RDY | AT91_PMC_PCK2RDY | AT91_PMC_MOSCSELS | AT91_PMC_MOSCRCS | AT91_PMC_CFDEV, }; static void __init of_at91_pmc_setup(struct device_node *np, const struct at91_pmc_caps *caps) { struct at91_pmc *pmc; struct regmap *regmap; regmap = syscon_node_to_regmap(np); if (IS_ERR(regmap)) panic("Could not retrieve syscon regmap"); 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) { of_at91_pmc_setup(np, &at91rm9200_caps); } CLK_OF_DECLARE(at91rm9200_clk_pmc, "atmel,at91rm9200-pmc", of_at91rm9200_pmc_setup); static void __init of_at91sam9260_pmc_setup(struct device_node *np) { of_at91_pmc_setup(np, &at91sam9260_caps); } CLK_OF_DECLARE(at91sam9260_clk_pmc, "atmel,at91sam9260-pmc", of_at91sam9260_pmc_setup); static void __init of_at91sam9g45_pmc_setup(struct device_node *np) { of_at91_pmc_setup(np, &at91sam9g45_caps); } CLK_OF_DECLARE(at91sam9g45_clk_pmc, "atmel,at91sam9g45-pmc", of_at91sam9g45_pmc_setup); static void __init of_at91sam9n12_pmc_setup(struct device_node *np) { of_at91_pmc_setup(np, &at91sam9n12_caps); } CLK_OF_DECLARE(at91sam9n12_clk_pmc, "atmel,at91sam9n12-pmc", of_at91sam9n12_pmc_setup); static void __init of_at91sam9x5_pmc_setup(struct device_node *np) { of_at91_pmc_setup(np, &at91sam9x5_caps); } CLK_OF_DECLARE(at91sam9x5_clk_pmc, "atmel,at91sam9x5-pmc", of_at91sam9x5_pmc_setup); static void __init of_sama5d2_pmc_setup(struct device_node *np) { of_at91_pmc_setup(np, &sama5d2_caps); } CLK_OF_DECLARE(sama5d2_clk_pmc, "atmel,sama5d2-pmc", of_sama5d2_pmc_setup); static void __init of_sama5d3_pmc_setup(struct device_node *np) { of_at91_pmc_setup(np, &sama5d3_caps); } CLK_OF_DECLARE(sama5d3_clk_pmc, "atmel,sama5d3-pmc", of_sama5d3_pmc_setup);