ARM: davinci: serial: remove davinci_serial_setup_clk()
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>
This commit is contained in:
parent
fcf7157ba3
commit
323761bb75
|
@ -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,
|
||||
};
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
};
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue