Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

wlcore: move wl12xx_platform_data up and make it truly optional

The platform data is used not only by wlcore-based drivers, but also
by wl1251. Move it up in the directory hierarchy to reflect this.

Additionally, make it truly optional. At the moment, disabling
platform data while wl1251_sdio or wlcore_sdio are enabled doesn't
work, but it will be necessary when device tree support is
implemented.

Signed-off-by: Luciano Coelho <coelho@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>

+28 -17
+5 -5
arch/arm/mach-omap2/board-omap3evm.c
··· 309 309 .gpio_wp = 63, 310 310 .deferred = true, 311 311 }, 312 - #ifdef CONFIG_WL12XX_PLATFORM_DATA 312 + #ifdef CONFIG_WILINK_PLATFORM_DATA 313 313 { 314 314 .name = "wl1271", 315 315 .mmc = 2, ··· 450 450 .consumer_supplies = omap3evm_vio_supply, 451 451 }; 452 452 453 - #ifdef CONFIG_WL12XX_PLATFORM_DATA 453 + #ifdef CONFIG_WILINK_PLATFORM_DATA 454 454 455 455 #define OMAP3EVM_WLAN_PMENA_GPIO (150) 456 456 #define OMAP3EVM_WLAN_IRQ_GPIO (149) ··· 563 563 OMAP_PIN_OFF_NONE), 564 564 OMAP3_MUX(GPMC_WAIT2, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP | 565 565 OMAP_PIN_OFF_NONE), 566 - #ifdef CONFIG_WL12XX_PLATFORM_DATA 566 + #ifdef CONFIG_WILINK_PLATFORM_DATA 567 567 /* WLAN IRQ - GPIO 149 */ 568 568 OMAP3_MUX(UART1_RTS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), 569 569 ··· 601 601 OMAP3_MUX(SYS_BOOT4, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), 602 602 OMAP3_MUX(SYS_BOOT5, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), 603 603 OMAP3_MUX(SYS_BOOT6, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), 604 - #ifdef CONFIG_WL12XX_PLATFORM_DATA 604 + #ifdef CONFIG_WILINK_PLATFORM_DATA 605 605 /* WLAN IRQ - GPIO 149 */ 606 606 OMAP3_MUX(UART1_RTS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), 607 607 ··· 637 637 638 638 static void __init omap3_evm_wl12xx_init(void) 639 639 { 640 - #ifdef CONFIG_WL12XX_PLATFORM_DATA 640 + #ifdef CONFIG_WILINK_PLATFORM_DATA 641 641 int ret; 642 642 643 643 /* WL12xx WLAN Init */
+9
drivers/net/wireless/ti/Kconfig
··· 12 12 13 13 # keep last for automatic dependencies 14 14 source "drivers/net/wireless/ti/wlcore/Kconfig" 15 + 16 + config WILINK_PLATFORM_DATA 17 + bool "TI WiLink platform data" 18 + depends on WLCORE_SDIO || WL1251_SDIO 19 + default y 20 + ---help--- 21 + Small platform data bit needed to pass data to the sdio modules. 22 + 23 + 15 24 endif # WL_TI
+3 -1
drivers/net/wireless/ti/Makefile
··· 1 1 obj-$(CONFIG_WLCORE) += wlcore/ 2 2 obj-$(CONFIG_WL12XX) += wl12xx/ 3 - obj-$(CONFIG_WL12XX_PLATFORM_DATA) += wlcore/ 4 3 obj-$(CONFIG_WL1251) += wl1251/ 5 4 obj-$(CONFIG_WL18XX) += wl18xx/ 5 + 6 + # small builtin driver bit 7 + obj-$(CONFIG_WILINK_PLATFORM_DATA) += wilink_platform_data.o
-5
drivers/net/wireless/ti/wlcore/Kconfig
··· 33 33 34 34 If you choose to build a module, it'll be called wlcore_sdio. 35 35 Say N if unsure. 36 - 37 - config WL12XX_PLATFORM_DATA 38 - bool 39 - depends on WLCORE_SDIO != n || WL1251_SDIO != n 40 - default y
-3
drivers/net/wireless/ti/wlcore/Makefile
··· 9 9 obj-$(CONFIG_WLCORE_SPI) += wlcore_spi.o 10 10 obj-$(CONFIG_WLCORE_SDIO) += wlcore_sdio.o 11 11 12 - # small builtin driver bit 13 - obj-$(CONFIG_WL12XX_PLATFORM_DATA) += wl12xx_platform_data.o 14 - 15 12 ccflags-y += -D__CHECK_ENDIAN__
+11 -3
include/linux/wl12xx.h
··· 24 24 #ifndef _LINUX_WL12XX_H 25 25 #define _LINUX_WL12XX_H 26 26 27 + #include <linux/err.h> 28 + 27 29 /* Reference clock values */ 28 30 enum { 29 31 WL12XX_REFCLOCK_19 = 0, /* 19.2 MHz */ ··· 62 60 /* Platform does not support level trigger interrupts */ 63 61 #define WL12XX_PLATFORM_QUIRK_EDGE_IRQ BIT(0) 64 62 65 - #ifdef CONFIG_WL12XX_PLATFORM_DATA 63 + #ifdef CONFIG_WILINK_PLATFORM_DATA 66 64 67 65 int wl12xx_set_platform_data(const struct wl12xx_platform_data *data); 66 + 67 + struct wl12xx_platform_data *wl12xx_get_platform_data(void); 68 68 69 69 #else 70 70 ··· 76 72 return -ENOSYS; 77 73 } 78 74 79 - #endif 75 + static inline 76 + struct wl12xx_platform_data *wl12xx_get_platform_data(void) 77 + { 78 + return ERR_PTR(-ENODATA); 79 + } 80 80 81 - struct wl12xx_platform_data *wl12xx_get_platform_data(void); 81 + #endif 82 82 83 83 #endif