diff options
| -rw-r--r-- | arch/arm/mach-ux500/board-mop500-wlan.c | 20 | ||||
| -rw-r--r-- | arch/arm/mach-ux500/board-u5500-pins.c | 6 | ||||
| -rw-r--r-- | drivers/staging/cg2900/board-ux500-cg2900.c | 14 |
3 files changed, 32 insertions, 8 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-wlan.c b/arch/arm/mach-ux500/board-mop500-wlan.c index e525d4fe8aa..1e5c24ba1ea 100644 --- a/arch/arm/mach-ux500/board-mop500-wlan.c +++ b/arch/arm/mach-ux500/board-mop500-wlan.c @@ -47,6 +47,21 @@ static struct resource cw1200_href60_resources[] = { }, }; +static struct resource cw1200_u9500_resources[] = { + { + .start = 85, + .end = 85, + .flags = IORESOURCE_IO, + .name = "cw1200_reset", + }, + { + .start = NOMADIK_GPIO_TO_IRQ(144), + .end = NOMADIK_GPIO_TO_IRQ(144), + .flags = IORESOURCE_IRQ, + .name = "cw1200_irq", + }, +}; + static struct cw1200_platform_data cw1200_platform_data = { 0 }; static struct platform_device cw1200_device = { @@ -96,7 +111,10 @@ int __init mop500_wlan_init(void) { int ret; - if (machine_is_u8500() || machine_is_nomadik()) { + if (pins_for_u9500()) { + cw1200_device.num_resources = ARRAY_SIZE(cw1200_u9500_resources); + cw1200_device.resource = cw1200_u9500_resources; + } else if (machine_is_u8500() || machine_is_nomadik()) { cw1200_device.num_resources = ARRAY_SIZE(cw1200_href_resources); cw1200_device.resource = cw1200_href_resources; } else if (machine_is_hrefv60()) { diff --git a/arch/arm/mach-ux500/board-u5500-pins.c b/arch/arm/mach-ux500/board-u5500-pins.c index 4635f240815..759240edf4a 100644 --- a/arch/arm/mach-ux500/board-u5500-pins.c +++ b/arch/arm/mach-ux500/board-u5500-pins.c @@ -191,3 +191,9 @@ void __init u5500_pins_init(void) nmk_config_pins(u5500_pins_default, ARRAY_SIZE(u5500_pins_default)); ux500_pins_add(u5500_pins, ARRAY_SIZE(u5500_pins)); } + +/* Stub function to make board-ux500-cg2900.c compile within a U5500 configuration */ +int pins_for_u9500(void) +{ + return 0; +} diff --git a/drivers/staging/cg2900/board-ux500-cg2900.c b/drivers/staging/cg2900/board-ux500-cg2900.c index bd81f68fdc6..1f4b93ca0e5 100644 --- a/drivers/staging/cg2900/board-ux500-cg2900.c +++ b/drivers/staging/cg2900/board-ux500-cg2900.c @@ -265,7 +265,13 @@ static int __init board_cg2900_init(void) } dcg2900_init_platdata(&ux500_cg2900_uart_platform_data); - if (cpu_is_u8500()) { + if (pins_for_u9500()) { + /* u9500 */ + ux500_cg2900_uart_device.num_resources = + ARRAY_SIZE(cg2900_uart_resources_u9500); + ux500_cg2900_uart_device.resource = + cg2900_uart_resources_u9500; + } else if (cpu_is_u8500()) { if (machine_is_hrefv60()) { /* u8500 */ ux500_cg2900_uart_device.num_resources = @@ -285,12 +291,6 @@ static int __init board_cg2900_init(void) ARRAY_SIZE(cg2900_uart_resources_u5500); ux500_cg2900_uart_device.resource = cg2900_uart_resources_u5500; - } else { - /* u9500 */ - ux500_cg2900_uart_device.num_resources = - ARRAY_SIZE(cg2900_uart_resources_u9500); - ux500_cg2900_uart_device.resource = - cg2900_uart_resources_u9500; } err = platform_device_register(&ux500_cg2900_device); |
