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>
This commit is contained in:
parent
06ab4058ea
commit
6cc9efed70
|
@ -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 = {
|
||||||
.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 = {
|
||||||
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 = {
|
||||||
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 = {
|
||||||
|
|
||||||
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"
|
||||||
|
|
||||||
# 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
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
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 @@
|
||||||
#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 {
|
||||||
/* 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)
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
static inline
|
||||||
|
struct wl12xx_platform_data *wl12xx_get_platform_data(void)
|
||||||
struct wl12xx_platform_data *wl12xx_get_platform_data(void);
|
{
|
||||||
|
return ERR_PTR(-ENODATA);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue