diff options
author | Kelvin Cheung <keguang.zhang@gmail.com> | 2012-10-23 07:17:01 +0200 |
---|---|---|
committer | John Crispin <blogic@openwrt.org> | 2012-11-09 11:37:20 +0100 |
commit | 446076459974ce00f02ce4954c2622fc70cb7597 (patch) | |
tree | 4d1a9c694030f82fdb3e153b642ebe28ce70456f /arch/mips/loongson1 | |
parent | MIPS: Loongson1B: use common clock infrastructure instead of private APIs (diff) | |
download | linux-446076459974ce00f02ce4954c2622fc70cb7597.tar.xz linux-446076459974ce00f02ce4954c2622fc70cb7597.zip |
MIPS: Loongson1B: improve ls1x_serial_setup()
Improve ls1x_serial_setup().
Signed-off-by: Kelvin Cheung <keguang.zhang@gmail.com>
Patchwork: http://patchwork.linux-mips.org/patch/4432
Signed-off-by: John Crispin <blogic@openwrt.org>
Diffstat (limited to 'arch/mips/loongson1')
-rw-r--r-- | arch/mips/loongson1/common/platform.c | 9 | ||||
-rw-r--r-- | arch/mips/loongson1/ls1b/board.c | 5 |
2 files changed, 6 insertions, 8 deletions
diff --git a/arch/mips/loongson1/common/platform.c b/arch/mips/loongson1/common/platform.c index e92d59c4bd78..5ca38dc77080 100644 --- a/arch/mips/loongson1/common/platform.c +++ b/arch/mips/loongson1/common/platform.c @@ -42,16 +42,17 @@ struct platform_device ls1x_uart_device = { }, }; -void __init ls1x_serial_setup(void) +void __init ls1x_serial_setup(struct platform_device *pdev) { struct clk *clk; struct plat_serial8250_port *p; - clk = clk_get(NULL, "dc"); + clk = clk_get(NULL, pdev->name); if (IS_ERR(clk)) - panic("unable to get dc clock, err=%ld", PTR_ERR(clk)); + panic("unable to get %s clock, err=%ld", + pdev->name, PTR_ERR(clk)); - for (p = ls1x_serial8250_port; p->flags != 0; ++p) + for (p = pdev->dev.platform_data; p->flags != 0; ++p) p->uartclk = clk_get_rate(clk); } diff --git a/arch/mips/loongson1/ls1b/board.c b/arch/mips/loongson1/ls1b/board.c index 295b1be893e3..1fbd5264f667 100644 --- a/arch/mips/loongson1/ls1b/board.c +++ b/arch/mips/loongson1/ls1b/board.c @@ -9,9 +9,6 @@ #include <platform.h> -#include <linux/serial_8250.h> -#include <loongson1.h> - static struct platform_device *ls1b_platform_devices[] __initdata = { &ls1x_uart_device, &ls1x_eth0_device, @@ -23,7 +20,7 @@ static int __init ls1b_platform_init(void) { int err; - ls1x_serial_setup(); + ls1x_serial_setup(&ls1x_uart_device); err = platform_add_devices(ls1b_platform_devices, ARRAY_SIZE(ls1b_platform_devices)); |