diff options
author | Colin Cross <ccross@android.com> | 2011-07-25 17:16:50 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2011-07-26 18:48:24 -0700 |
commit | 6ac2566c20407b9198b0fc0711337ff2b4b43fdf (patch) | |
tree | 9e22a82fc7f62a425f1eed9ebbfe3b557780eff7 /arch/arm/mach-omap2/serial.c | |
parent | 94aafceb0be30f7035a4c0536960a0440d885120 (diff) | |
download | kernel_samsung_tuna-6ac2566c20407b9198b0fc0711337ff2b4b43fdf.zip kernel_samsung_tuna-6ac2566c20407b9198b0fc0711337ff2b4b43fdf.tar.gz kernel_samsung_tuna-6ac2566c20407b9198b0fc0711337ff2b4b43fdf.tar.bz2 |
ARM: omap2+: Allow boards to override default uart pads
Some boards don't use the default uart pads. Allow them to
register uarts with custom pad information.
Change-Id: I042fa711954226ae7cc9c9c8b398661ce824766e
Signed-off-by: Colin Cross <ccross@android.com>
Diffstat (limited to 'arch/arm/mach-omap2/serial.c')
-rw-r--r-- | arch/arm/mach-omap2/serial.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index 279f464..61f2d84 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c @@ -175,6 +175,8 @@ static struct omap_device_pad default_omap4_uart4_pads[] __initdata = {}; static void omap_serial_fill_default_pads(struct omap_board_data *bdata) { + BUG_ON(!cpu_is_omap44xx() && !cpu_is_omap34xx()); + switch (bdata->id) { case 0: bdata->pads = default_uart1_pads; @@ -337,6 +339,22 @@ static int __init omap_serial_early_init(void) } core_initcall(omap_serial_early_init); +void __init omap_serial_init_port_pads(int id, struct omap_device_pad *pads, + int size, struct omap_uart_port_info *info) +{ + struct omap_board_data bdata; + + bdata.id = id; + bdata.flags = 0; + bdata.pads = pads; + bdata.pads_cnt = size; + + if (!bdata.pads) + omap_serial_fill_default_pads(&bdata); + + omap_serial_init_port(&bdata, info); +} + /** * omap_serial_init_port() - initialize single serial port * @bdata: port specific board data pointer |