ARM: davinci: serial: remove davinci_serial_setup_clk()
authorManjunathappa, Prakash <prakash.pm@ti.com>
Wed, 19 Jun 2013 09:15:42 +0000 (14:45 +0530)
committerSekhar Nori <nsekhar@ti.com>
Wed, 21 Aug 2013 19:08:59 +0000 (00:38 +0530)
Get rid of davinci_serial_setup_clk() since its not called
from multiple places now. Instead initialize clock in
davinci_serial_init() itself. This also helps get rid of
"serial_dev" member of struct davinci_soc_info.

Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Suggested-by: Sekhar Nori <nsekhar@ti.com>
[nsekhar@ti.com: split removal of davinci_serial_setup_clk()
 into a separate patch.]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
arch/arm/mach-davinci/da830.c
arch/arm/mach-davinci/da850.c
arch/arm/mach-davinci/dm355.c
arch/arm/mach-davinci/dm365.c
arch/arm/mach-davinci/dm644x.c
arch/arm/mach-davinci/dm646x.c
arch/arm/mach-davinci/include/mach/common.h
arch/arm/mach-davinci/include/mach/serial.h
arch/arm/mach-davinci/serial.c

index a3ffd52..111613b 100644 (file)
@@ -1199,7 +1199,6 @@ static struct davinci_soc_info davinci_soc_info_da830 = {
        .gpio_base              = DA8XX_GPIO_BASE,
        .gpio_num               = 128,
        .gpio_irq               = IRQ_DA8XX_GPIO0,
-       .serial_dev             = da8xx_serial_device,
        .emac_pdata             = &da8xx_emac_pdata,
 };
 
index d4274ab..5ef37f9 100644 (file)
@@ -1301,7 +1301,6 @@ static struct davinci_soc_info davinci_soc_info_da850 = {
        .gpio_base              = DA8XX_GPIO_BASE,
        .gpio_num               = 144,
        .gpio_irq               = IRQ_DA8XX_GPIO0,
-       .serial_dev             = da8xx_serial_device,
        .emac_pdata             = &da8xx_emac_pdata,
        .sram_dma               = DA8XX_SHARED_RAM_BASE,
        .sram_len               = SZ_128K,
index 8536735..0f3cb48 100644 (file)
@@ -1009,7 +1009,6 @@ static struct davinci_soc_info davinci_soc_info_dm355 = {
        .gpio_base              = DAVINCI_GPIO_BASE,
        .gpio_num               = 104,
        .gpio_irq               = IRQ_DM355_GPIOBNK0,
-       .serial_dev             = dm355_serial_device,
        .sram_dma               = 0x00010000,
        .sram_len               = SZ_32K,
 };
index fa5c693..3a039bc 100644 (file)
@@ -1109,7 +1109,6 @@ static struct davinci_soc_info davinci_soc_info_dm365 = {
        .gpio_num               = 104,
        .gpio_irq               = IRQ_DM365_GPIO0,
        .gpio_unbanked          = 8,    /* really 16 ... skip muxed GPIOs */
-       .serial_dev             = dm365_serial_device,
        .emac_pdata             = &dm365_emac_pdata,
        .sram_dma               = 0x00010000,
        .sram_len               = SZ_32K,
index 3969289..23de0de 100644 (file)
@@ -900,7 +900,6 @@ static struct davinci_soc_info davinci_soc_info_dm644x = {
        .gpio_base              = DAVINCI_GPIO_BASE,
        .gpio_num               = 71,
        .gpio_irq               = IRQ_GPIOBNK0,
-       .serial_dev             = dm644x_serial_device,
        .emac_pdata             = &dm644x_emac_pdata,
        .sram_dma               = 0x00008000,
        .sram_len               = SZ_16K,
index 331a9ec..4b25804 100644 (file)
@@ -877,7 +877,6 @@ static struct davinci_soc_info davinci_soc_info_dm646x = {
        .gpio_base              = DAVINCI_GPIO_BASE,
        .gpio_num               = 43, /* Only 33 usable */
        .gpio_irq               = IRQ_DM646X_GPIOBNK0,
-       .serial_dev             = dm646x_serial_device,
        .emac_pdata             = &dm646x_emac_pdata,
        .sram_dma               = 0x10010000,
        .sram_len               = SZ_32K,
index cce316b..0b3c169 100644 (file)
@@ -72,7 +72,6 @@ struct davinci_soc_info {
        unsigned                        gpio_unbanked;
        struct davinci_gpio_controller  *gpio_ctlrs;
        int                             gpio_ctlrs_num;
-       struct platform_device          *serial_dev;
        struct emac_platform_data       *emac_pdata;
        dma_addr_t                      sram_dma;
        unsigned                        sram_len;
index 36bf591..52b8571 100644 (file)
@@ -40,7 +40,6 @@
 
 #ifndef __ASSEMBLY__
 extern int davinci_serial_init(struct platform_device *);
-extern int davinci_serial_setup_clk(unsigned instance, unsigned int *rate);
 #endif
 
 #endif /* __ASM_ARCH_SERIAL_H */
index 45bd41a..5e93a73 100644 (file)
@@ -70,33 +70,12 @@ static void __init davinci_serial_reset(struct plat_serial8250_port *p)
                                 UART_DM646X_SCR_TX_WATERMARK);
 }
 
-/* Enable UART clock and obtain its rate */
-int __init davinci_serial_setup_clk(unsigned instance, unsigned int *rate)
-{
-       struct clk *clk;
-       struct davinci_soc_info *soc_info = &davinci_soc_info;
-       struct device *dev = &soc_info->serial_dev[instance].dev;
-
-       clk = clk_get(dev, NULL);
-       if (IS_ERR(clk)) {
-               pr_err("%s:%d: failed to get UART%d clock\n",
-                                       __func__, __LINE__, instance);
-               return PTR_ERR(clk);
-       }
-
-       clk_prepare_enable(clk);
-
-       if (rate)
-               *rate = clk_get_rate(clk);
-
-       return 0;
-}
-
 int __init davinci_serial_init(struct platform_device *serial_dev)
 {
        int i, ret = 0;
        struct device *dev;
        struct plat_serial8250_port *p;
+       struct clk *clk;
 
        /*
         * Make sure the serial ports are muxed on at this point.
@@ -110,9 +89,16 @@ int __init davinci_serial_init(struct platform_device *serial_dev)
                if (ret)
                        continue;
 
-               ret = davinci_serial_setup_clk(i, &p->uartclk);
-               if (ret)
+               clk = clk_get(dev, NULL);
+               if (IS_ERR(clk)) {
+                       pr_err("%s:%d: failed to get UART%d clock\n",
+                              __func__, __LINE__, i);
                        continue;
+               }
+
+               clk_prepare_enable(clk);
+
+               p->uartclk = clk_get_rate(clk);
 
                if (!p->membase && p->mapbase) {
                        p->membase = ioremap(p->mapbase, SZ_4K);