Commit 6cc9efed authored by Luciano Coelho's avatar Luciano Coelho

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: default avatarLuciano Coelho <coelho@ti.com>
Reviewed-by: default avatarFelipe Balbi <balbi@ti.com>
parent 06ab4058
...@@ -309,7 +309,7 @@ static struct omap2_hsmmc_info mmc[] = { ...@@ -309,7 +309,7 @@ static struct omap2_hsmmc_info mmc[] = {
.gpio_wp = 63, .gpio_wp = 63,
.deferred = true, .deferred = true,
}, },
#ifdef CONFIG_WL12XX_PLATFORM_DATA #ifdef CONFIG_WILINK_PLATFORM_DATA
{ {
.name = "wl1271", .name = "wl1271",
.mmc = 2, .mmc = 2,
...@@ -450,7 +450,7 @@ static struct regulator_init_data omap3evm_vio = { ...@@ -450,7 +450,7 @@ static struct regulator_init_data omap3evm_vio = {
.consumer_supplies = omap3evm_vio_supply, .consumer_supplies = omap3evm_vio_supply,
}; };
#ifdef CONFIG_WL12XX_PLATFORM_DATA #ifdef CONFIG_WILINK_PLATFORM_DATA
#define OMAP3EVM_WLAN_PMENA_GPIO (150) #define OMAP3EVM_WLAN_PMENA_GPIO (150)
#define OMAP3EVM_WLAN_IRQ_GPIO (149) #define OMAP3EVM_WLAN_IRQ_GPIO (149)
...@@ -563,7 +563,7 @@ static struct omap_board_mux omap35x_board_mux[] __initdata = { ...@@ -563,7 +563,7 @@ static struct omap_board_mux omap35x_board_mux[] __initdata = {
OMAP_PIN_OFF_NONE), OMAP_PIN_OFF_NONE),
OMAP3_MUX(GPMC_WAIT2, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP | OMAP3_MUX(GPMC_WAIT2, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP |
OMAP_PIN_OFF_NONE), OMAP_PIN_OFF_NONE),
#ifdef CONFIG_WL12XX_PLATFORM_DATA #ifdef CONFIG_WILINK_PLATFORM_DATA
/* WLAN IRQ - GPIO 149 */ /* WLAN IRQ - GPIO 149 */
OMAP3_MUX(UART1_RTS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), OMAP3_MUX(UART1_RTS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
...@@ -601,7 +601,7 @@ static struct omap_board_mux omap36x_board_mux[] __initdata = { ...@@ -601,7 +601,7 @@ static struct omap_board_mux omap36x_board_mux[] __initdata = {
OMAP3_MUX(SYS_BOOT4, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), OMAP3_MUX(SYS_BOOT4, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE),
OMAP3_MUX(SYS_BOOT5, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), OMAP3_MUX(SYS_BOOT5, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE),
OMAP3_MUX(SYS_BOOT6, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE), OMAP3_MUX(SYS_BOOT6, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE),
#ifdef CONFIG_WL12XX_PLATFORM_DATA #ifdef CONFIG_WILINK_PLATFORM_DATA
/* WLAN IRQ - GPIO 149 */ /* WLAN IRQ - GPIO 149 */
OMAP3_MUX(UART1_RTS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), OMAP3_MUX(UART1_RTS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
...@@ -637,7 +637,7 @@ static struct gpio omap3_evm_ehci_gpios[] __initdata = { ...@@ -637,7 +637,7 @@ static struct gpio omap3_evm_ehci_gpios[] __initdata = {
static void __init omap3_evm_wl12xx_init(void) static void __init omap3_evm_wl12xx_init(void)
{ {
#ifdef CONFIG_WL12XX_PLATFORM_DATA #ifdef CONFIG_WILINK_PLATFORM_DATA
int ret; int ret;
/* WL12xx WLAN Init */ /* WL12xx WLAN Init */
......
...@@ -12,4 +12,13 @@ source "drivers/net/wireless/ti/wl18xx/Kconfig" ...@@ -12,4 +12,13 @@ source "drivers/net/wireless/ti/wl18xx/Kconfig"
# keep last for automatic dependencies # keep last for automatic dependencies
source "drivers/net/wireless/ti/wlcore/Kconfig" source "drivers/net/wireless/ti/wlcore/Kconfig"
config WILINK_PLATFORM_DATA
bool "TI WiLink platform data"
depends on WLCORE_SDIO || WL1251_SDIO
default y
---help---
Small platform data bit needed to pass data to the sdio modules.
endif # WL_TI endif # WL_TI
obj-$(CONFIG_WLCORE) += wlcore/ obj-$(CONFIG_WLCORE) += wlcore/
obj-$(CONFIG_WL12XX) += wl12xx/ obj-$(CONFIG_WL12XX) += wl12xx/
obj-$(CONFIG_WL12XX_PLATFORM_DATA) += wlcore/
obj-$(CONFIG_WL1251) += wl1251/ obj-$(CONFIG_WL1251) += wl1251/
obj-$(CONFIG_WL18XX) += wl18xx/ obj-$(CONFIG_WL18XX) += wl18xx/
# small builtin driver bit
obj-$(CONFIG_WILINK_PLATFORM_DATA) += wilink_platform_data.o
...@@ -33,8 +33,3 @@ config WLCORE_SDIO ...@@ -33,8 +33,3 @@ config WLCORE_SDIO
If you choose to build a module, it'll be called wlcore_sdio. If you choose to build a module, it'll be called wlcore_sdio.
Say N if unsure. Say N if unsure.
config WL12XX_PLATFORM_DATA
bool
depends on WLCORE_SDIO != n || WL1251_SDIO != n
default y
...@@ -9,7 +9,4 @@ obj-$(CONFIG_WLCORE) += wlcore.o ...@@ -9,7 +9,4 @@ obj-$(CONFIG_WLCORE) += wlcore.o
obj-$(CONFIG_WLCORE_SPI) += wlcore_spi.o obj-$(CONFIG_WLCORE_SPI) += wlcore_spi.o
obj-$(CONFIG_WLCORE_SDIO) += wlcore_sdio.o obj-$(CONFIG_WLCORE_SDIO) += wlcore_sdio.o
# small builtin driver bit
obj-$(CONFIG_WL12XX_PLATFORM_DATA) += wl12xx_platform_data.o
ccflags-y += -D__CHECK_ENDIAN__ ccflags-y += -D__CHECK_ENDIAN__
...@@ -24,6 +24,8 @@ ...@@ -24,6 +24,8 @@
#ifndef _LINUX_WL12XX_H #ifndef _LINUX_WL12XX_H
#define _LINUX_WL12XX_H #define _LINUX_WL12XX_H
#include <linux/err.h>
/* Reference clock values */ /* Reference clock values */
enum { enum {
WL12XX_REFCLOCK_19 = 0, /* 19.2 MHz */ WL12XX_REFCLOCK_19 = 0, /* 19.2 MHz */
...@@ -60,10 +62,12 @@ struct wl12xx_platform_data { ...@@ -60,10 +62,12 @@ struct wl12xx_platform_data {
/* Platform does not support level trigger interrupts */ /* Platform does not support level trigger interrupts */
#define WL12XX_PLATFORM_QUIRK_EDGE_IRQ BIT(0) #define WL12XX_PLATFORM_QUIRK_EDGE_IRQ BIT(0)
#ifdef CONFIG_WL12XX_PLATFORM_DATA #ifdef CONFIG_WILINK_PLATFORM_DATA
int wl12xx_set_platform_data(const struct wl12xx_platform_data *data); int wl12xx_set_platform_data(const struct wl12xx_platform_data *data);
struct wl12xx_platform_data *wl12xx_get_platform_data(void);
#else #else
static inline static inline
...@@ -72,8 +76,12 @@ int wl12xx_set_platform_data(const struct wl12xx_platform_data *data) ...@@ -72,8 +76,12 @@ int wl12xx_set_platform_data(const struct wl12xx_platform_data *data)
return -ENOSYS; return -ENOSYS;
} }
#endif static inline
struct wl12xx_platform_data *wl12xx_get_platform_data(void)
{
return ERR_PTR(-ENODATA);
}
struct wl12xx_platform_data *wl12xx_get_platform_data(void); #endif
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment