omap: Eliminate OMAP_MAX_NR_PORTS
authorAlexander Shishkin <virtuoso@slind.org>
Sun, 22 Nov 2009 18:10:47 +0000 (10:10 -0800)
committerTony Lindgren <tony@atomide.com>
Sun, 22 Nov 2009 18:24:32 +0000 (10:24 -0800)
Eliminate OMAP_MAX_NR_PORTS

Note that also the null terminator entry for omap1
serial_platform_data needs to be now removed to avoid
oopsing.

Note that mach-omap1 uses struct plat_serial8250_port
array, which requires a null terminator at the end,
and that's why we need to use ARRAY_SIZE - 1. This
is not needed on mach-omap2 as the array used is
struct omap_uart_state, and does not use a null
terminator.

Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap1/serial.c
arch/arm/mach-omap2/serial.c
arch/arm/plat-omap/include/plat/serial.h

index 5ebf094..6e5207c 100644 (file)
@@ -120,7 +120,7 @@ void __init omap_serial_init(void)
                serial_platform_data[2].uartclk = OMAP1510_BASE_BAUD * 16;
        }
 
-       for (i = 0; i < OMAP_MAX_NR_PORTS; i++) {
+       for (i = 0; i < ARRAY_SIZE(serial_platform_data) - 1; i++) {
 
                /* Static mapping, never released */
                serial_platform_data[i].membase =
index 72df1b1..2e17b57 100644 (file)
@@ -533,7 +533,7 @@ static inline void omap_uart_idle_init(struct omap_uart_state *uart) {}
 #define DEV_CREATE_FILE(dev, attr)
 #endif /* CONFIG_PM */
 
-static struct omap_uart_state omap_uart[OMAP_MAX_NR_PORTS] = {
+static struct omap_uart_state omap_uart[] = {
        {
                .pdev = {
                        .name                   = "serial8250",
@@ -583,7 +583,7 @@ void __init omap_serial_early_init(void)
         * if not needed.
         */
 
-       for (i = 0; i < OMAP_MAX_NR_PORTS; i++) {
+       for (i = 0; i < ARRAY_SIZE(omap_uart); i++) {
                struct omap_uart_state *uart = &omap_uart[i];
                struct platform_device *pdev = &uart->pdev;
                struct device *dev = &pdev->dev;
@@ -635,7 +635,7 @@ void __init omap_serial_init(void)
 {
        int i;
 
-       for (i = 0; i < OMAP_MAX_NR_PORTS; i++) {
+       for (i = 0; i < ARRAY_SIZE(omap_uart); i++) {
                struct omap_uart_state *uart = &omap_uart[i];
                struct platform_device *pdev = &uart->pdev;
                struct device *dev = &pdev->dev;
index e249186..9951345 100644 (file)
 #define OMAP_UART1_BASE                0xfffb0000
 #define OMAP_UART2_BASE                0xfffb0800
 #define OMAP_UART3_BASE                0xfffb9800
-#define OMAP_MAX_NR_PORTS      3
 #elif defined(CONFIG_ARCH_OMAP2)
 /* OMAP2 serial ports */
 #define OMAP_UART1_BASE                0x4806a000
 #define OMAP_UART2_BASE                0x4806c000
 #define OMAP_UART3_BASE                0x4806e000
-#define OMAP_MAX_NR_PORTS      3
 #elif defined(CONFIG_ARCH_OMAP3)
 /* OMAP3 serial ports */
 #define OMAP_UART1_BASE                0x4806a000
 #define OMAP_UART2_BASE                0x4806c000
 #define OMAP_UART3_BASE                0x49020000
-#define OMAP_MAX_NR_PORTS      3
 #elif defined(CONFIG_ARCH_OMAP4)
 /* OMAP4 serial ports */
 #define OMAP_UART1_BASE                0x4806a000
 #define OMAP_UART2_BASE                0x4806c000
 #define OMAP_UART3_BASE                0x48020000
 #define OMAP_UART4_BASE                0x4806e000
-#define OMAP_MAX_NR_PORTS      4
 #endif
 
 #define OMAP1510_BASE_BAUD     (12000000/16)