clk: uniphier: move U_BOOT_DRIVER entry to core code
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Wed, 21 Sep 2016 22:42:21 +0000 (07:42 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Thu, 22 Sep 2016 16:00:39 +0000 (01:00 +0900)
Move U_BOOT_DRIVER() entry from the data file (clk-uniphier-mio.c)
to the core support file (clk-uniphier-core.c) because I do not want
to repeat the driver boilerplate when I add more clock data.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
drivers/clk/uniphier/clk-uniphier-core.c
drivers/clk/uniphier/clk-uniphier-mio.c
drivers/clk/uniphier/clk-uniphier.h

index 721e59e9697c927e1148e578117f0e9944c3ed25..2db4a7c0bdd25a0afee5c4974cb68b9ff2462f73 100644 (file)
 
 #include "clk-uniphier.h"
 
+/**
+ * struct uniphier_clk_priv - private data for UniPhier clock driver
+ *
+ * @base: base address of the clock provider
+ * @socdata: SoC specific data
+ */
+struct uniphier_clk_priv {
+       void __iomem *base;
+       const struct uniphier_clk_soc_data *socdata;
+};
+
+int uniphier_clk_probe(struct udevice *dev)
+{
+       struct uniphier_clk_priv *priv = dev_get_priv(dev);
+       fdt_addr_t addr;
+
+       addr = dev_get_addr(dev);
+       if (addr == FDT_ADDR_T_NONE)
+               return -EINVAL;
+
+       priv->base = devm_ioremap(dev, addr, SZ_4K);
+       if (!priv->base)
+               return -ENOMEM;
+
+       priv->socdata = (void *)dev_get_driver_data(dev);
+
+       return 0;
+}
+
 static int uniphier_clk_enable(struct clk *clk)
 {
        struct uniphier_clk_priv *priv = dev_get_priv(clk->dev);
@@ -128,20 +157,47 @@ const struct clk_ops uniphier_clk_ops = {
        .set_rate = uniphier_clk_set_rate,
 };
 
-int uniphier_clk_probe(struct udevice *dev)
-{
-       struct uniphier_clk_priv *priv = dev_get_priv(dev);
-       fdt_addr_t addr;
-
-       addr = dev_get_addr(dev);
-       if (addr == FDT_ADDR_T_NONE)
-               return -EINVAL;
-
-       priv->base = devm_ioremap(dev, addr, SZ_4K);
-       if (!priv->base)
-               return -ENOMEM;
-
-       priv->socdata = (void *)dev_get_driver_data(dev);
+static const struct udevice_id uniphier_clk_match[] = {
+       {
+               .compatible = "socionext,ph1-sld3-mioctrl",
+               .data = (ulong)&uniphier_mio_clk_data,
+       },
+       {
+               .compatible = "socionext,ph1-ld4-mioctrl",
+               .data = (ulong)&uniphier_mio_clk_data,
+       },
+       {
+               .compatible = "socionext,ph1-pro4-mioctrl",
+               .data = (ulong)&uniphier_mio_clk_data,
+       },
+       {
+               .compatible = "socionext,ph1-sld8-mioctrl",
+               .data = (ulong)&uniphier_mio_clk_data,
+       },
+       {
+               .compatible = "socionext,ph1-pro5-mioctrl",
+               .data = (ulong)&uniphier_mio_clk_data,
+       },
+       {
+               .compatible = "socionext,proxstream2-mioctrl",
+               .data = (ulong)&uniphier_mio_clk_data,
+       },
+       {
+               .compatible = "socionext,ph1-ld11-mioctrl",
+               .data = (ulong)&uniphier_mio_clk_data,
+       },
+       {
+               .compatible = "socionext,ph1-ld20-mioctrl",
+               .data = (ulong)&uniphier_mio_clk_data,
+       },
+       { /* sentinel */ }
+};
 
-       return 0;
-}
+U_BOOT_DRIVER(uniphier_clk) = {
+       .name = "uniphier-clk",
+       .id = UCLASS_CLK,
+       .of_match = uniphier_clk_match,
+       .probe = uniphier_clk_probe,
+       .priv_auto_alloc_size = sizeof(struct uniphier_clk_priv),
+       .ops = &uniphier_clk_ops,
+};
index 40c1b78e5e46aa4ed6d4017d3d0310b318f447e1..c1e7197c1a867b6a5a100e7d984cd4faa7dd9e82 100644 (file)
@@ -132,54 +132,9 @@ static const struct uniphier_clk_rate_data uniphier_mio_clk_rate[] = {
        UNIPHIER_MIO_CLK_RATE_SD(2, 2),         /* for PH1-Pro4 only */
 };
 
-static const struct uniphier_clk_soc_data uniphier_mio_clk_data = {
+const struct uniphier_clk_soc_data uniphier_mio_clk_data = {
        .gate = uniphier_mio_clk_gate,
        .nr_gate = ARRAY_SIZE(uniphier_mio_clk_gate),
        .rate = uniphier_mio_clk_rate,
        .nr_rate = ARRAY_SIZE(uniphier_mio_clk_rate),
 };
-
-static const struct udevice_id uniphier_mio_clk_match[] = {
-       {
-               .compatible = "socionext,ph1-sld3-mioctrl",
-               .data = (ulong)&uniphier_mio_clk_data,
-       },
-       {
-               .compatible = "socionext,ph1-ld4-mioctrl",
-               .data = (ulong)&uniphier_mio_clk_data,
-       },
-       {
-               .compatible = "socionext,ph1-pro4-mioctrl",
-               .data = (ulong)&uniphier_mio_clk_data,
-       },
-       {
-               .compatible = "socionext,ph1-sld8-mioctrl",
-               .data = (ulong)&uniphier_mio_clk_data,
-       },
-       {
-               .compatible = "socionext,ph1-pro5-mioctrl",
-               .data = (ulong)&uniphier_mio_clk_data,
-       },
-       {
-               .compatible = "socionext,proxstream2-mioctrl",
-               .data = (ulong)&uniphier_mio_clk_data,
-       },
-       {
-               .compatible = "socionext,ph1-ld11-mioctrl",
-               .data = (ulong)&uniphier_mio_clk_data,
-       },
-       {
-               .compatible = "socionext,ph1-ld20-mioctrl",
-               .data = (ulong)&uniphier_mio_clk_data,
-       },
-       { /* sentinel */ }
-};
-
-U_BOOT_DRIVER(uniphier_mio_clk) = {
-       .name = "uniphier-mio-clk",
-       .id = UCLASS_CLK,
-       .of_match = uniphier_mio_clk_match,
-       .probe = uniphier_clk_probe,
-       .priv_auto_alloc_size = sizeof(struct uniphier_clk_priv),
-       .ops = &uniphier_clk_ops,
-};
index 4e9f7dc3a4406b9dd0551897234b87a180e94ef2..0b60337205e79c596e476de5a5a87b408cfc97a8 100644 (file)
@@ -40,18 +40,6 @@ struct uniphier_clk_soc_data {
                .rate = f,                              \
        }
 
-/**
- * struct uniphier_clk_priv - private data for UniPhier clock driver
- *
- * @base: base address of the clock provider
- * @socdata: SoC specific data
- */
-struct uniphier_clk_priv {
-       void __iomem *base;
-       const struct uniphier_clk_soc_data *socdata;
-};
-
-extern const struct clk_ops uniphier_clk_ops;
-int uniphier_clk_probe(struct udevice *dev);
+extern const struct uniphier_clk_soc_data uniphier_mio_clk_data;
 
 #endif /* __CLK_UNIPHIER_H__ */