diff options
Diffstat (limited to 'drivers/clk/zynq/clkc.c')
-rw-r--r-- | drivers/clk/zynq/clkc.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/clk/zynq/clkc.c b/drivers/clk/zynq/clkc.c index e4ce102d6e..d6de583e32 100644 --- a/drivers/clk/zynq/clkc.c +++ b/drivers/clk/zynq/clkc.c @@ -15,7 +15,7 @@ #include <linux/clk.h> #include <linux/clkdev.h> #include <linux/err.h> -#include <mach/zynq7000-regs.h> +#include <mach/zynq/zynq7000-regs.h> #include <malloc.h> enum zynq_clk { @@ -364,11 +364,11 @@ static struct clk *zynq_cpu_subclk(const char *name, return &subclk->hw.clk; } -static int zynq_clock_probe(struct device_d *dev) +static int zynq_clock_probe(struct device *dev) { struct resource *iores; void __iomem *clk_base; - unsigned long ps_clk_rate = 33333330; + u32 ps_clk_rate = 33333330; resource_size_t slcr_offset = 0; iores = dev_get_resource(dev, IORESOURCE_MEM, 0); @@ -380,7 +380,7 @@ static int zynq_clock_probe(struct device_d *dev) * in the SCLR region. So we can't directly map the address we get from * the DT, but need to add the SCLR base offset. */ - if (dev->device_node) { + if (dev->of_node) { struct resource *parent_res; parent_res = dev_get_resource(dev->parent, IORESOURCE_MEM, 0); @@ -390,6 +390,8 @@ static int zynq_clock_probe(struct device_d *dev) slcr_offset = parent_res->start; } + of_property_read_u32(dev->device_node, "ps-clk-frequency", &ps_clk_rate); + iores = request_iomem_region(dev_name(dev), iores->start + slcr_offset, iores->end + slcr_offset); if (IS_ERR(iores)) @@ -470,7 +472,7 @@ static int zynq_clock_probe(struct device_d *dev) clk_data.clks = clks; clk_data.clk_num = ARRAY_SIZE(clks); - of_clk_add_provider(dev->device_node, of_clk_src_onecell_get, + of_clk_add_provider(dev->of_node, of_clk_src_onecell_get, &clk_data); return 0; @@ -483,8 +485,9 @@ static __maybe_unused struct of_device_id zynq_clock_dt_ids[] = { /* sentinel */ } }; +MODULE_DEVICE_TABLE(of, zynq_clock_dt_ids); -static struct driver_d zynq_clock_driver = { +static struct driver zynq_clock_driver = { .probe = zynq_clock_probe, .name = "zynq-clock", .of_compatible = DRV_OF_COMPAT(zynq_clock_dt_ids), |