Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
4d25a75b
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
4d25a75b
编写于
2月 08, 2013
作者:
J
John W. Linville
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-linville' of
git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx
上级
3549c6b1
9c3a8d99
变更
17
隐藏空白更改
内联
并排
Showing
17 changed file
with
99 addition
and
59 deletion
+99
-59
arch/arm/mach-omap2/board-omap3evm.c
arch/arm/mach-omap2/board-omap3evm.c
+5
-5
drivers/net/wireless/ti/Kconfig
drivers/net/wireless/ti/Kconfig
+9
-0
drivers/net/wireless/ti/Makefile
drivers/net/wireless/ti/Makefile
+3
-1
drivers/net/wireless/ti/wilink_platform_data.c
drivers/net/wireless/ti/wilink_platform_data.c
+0
-0
drivers/net/wireless/ti/wl12xx/main.c
drivers/net/wireless/ti/wl12xx/main.c
+2
-1
drivers/net/wireless/ti/wl18xx/conf.h
drivers/net/wireless/ti/wl18xx/conf.h
+4
-3
drivers/net/wireless/ti/wl18xx/main.c
drivers/net/wireless/ti/wl18xx/main.c
+5
-0
drivers/net/wireless/ti/wlcore/Kconfig
drivers/net/wireless/ti/wlcore/Kconfig
+0
-5
drivers/net/wireless/ti/wlcore/Makefile
drivers/net/wireless/ti/wlcore/Makefile
+0
-3
drivers/net/wireless/ti/wlcore/boot.c
drivers/net/wireless/ti/wlcore/boot.c
+2
-2
drivers/net/wireless/ti/wlcore/cmd.c
drivers/net/wireless/ti/wlcore/cmd.c
+5
-3
drivers/net/wireless/ti/wlcore/main.c
drivers/net/wireless/ti/wlcore/main.c
+7
-10
drivers/net/wireless/ti/wlcore/sdio.c
drivers/net/wireless/ti/wlcore/sdio.c
+21
-12
drivers/net/wireless/ti/wlcore/spi.c
drivers/net/wireless/ti/wlcore/spi.c
+20
-8
drivers/net/wireless/ti/wlcore/wlcore.h
drivers/net/wireless/ti/wlcore/wlcore.h
+0
-1
drivers/net/wireless/ti/wlcore/wlcore_i.h
drivers/net/wireless/ti/wlcore/wlcore_i.h
+5
-0
include/linux/wl12xx.h
include/linux/wl12xx.h
+11
-5
未找到文件。
arch/arm/mach-omap2/board-omap3evm.c
浏览文件 @
4d25a75b
...
...
@@ -309,7 +309,7 @@ static struct omap2_hsmmc_info mmc[] = {
.
gpio_wp
=
63
,
.
deferred
=
true
,
},
#ifdef CONFIG_W
L12XX
_PLATFORM_DATA
#ifdef CONFIG_W
ILINK
_PLATFORM_DATA
{
.
name
=
"wl1271"
,
.
mmc
=
2
,
...
...
@@ -450,7 +450,7 @@ static struct regulator_init_data omap3evm_vio = {
.
consumer_supplies
=
omap3evm_vio_supply
,
};
#ifdef CONFIG_W
L12XX
_PLATFORM_DATA
#ifdef CONFIG_W
ILINK
_PLATFORM_DATA
#define OMAP3EVM_WLAN_PMENA_GPIO (150)
#define OMAP3EVM_WLAN_IRQ_GPIO (149)
...
...
@@ -563,7 +563,7 @@ static struct omap_board_mux omap35x_board_mux[] __initdata = {
OMAP_PIN_OFF_NONE
),
OMAP3_MUX
(
GPMC_WAIT2
,
OMAP_MUX_MODE4
|
OMAP_PIN_INPUT_PULLUP
|
OMAP_PIN_OFF_NONE
),
#ifdef CONFIG_W
L12XX
_PLATFORM_DATA
#ifdef CONFIG_W
ILINK
_PLATFORM_DATA
/* WLAN IRQ - GPIO 149 */
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_BOOT5
,
OMAP_MUX_MODE3
|
OMAP_PIN_OFF_NONE
),
OMAP3_MUX
(
SYS_BOOT6
,
OMAP_MUX_MODE3
|
OMAP_PIN_OFF_NONE
),
#ifdef CONFIG_W
L12XX
_PLATFORM_DATA
#ifdef CONFIG_W
ILINK
_PLATFORM_DATA
/* WLAN IRQ - GPIO 149 */
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
)
{
#ifdef CONFIG_W
L12XX
_PLATFORM_DATA
#ifdef CONFIG_W
ILINK
_PLATFORM_DATA
int
ret
;
/* WL12xx WLAN Init */
...
...
drivers/net/wireless/ti/Kconfig
浏览文件 @
4d25a75b
...
...
@@ -12,4 +12,13 @@ source "drivers/net/wireless/ti/wl18xx/Kconfig"
# keep last for automatic dependencies
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
drivers/net/wireless/ti/Makefile
浏览文件 @
4d25a75b
obj-$(CONFIG_WLCORE)
+=
wlcore/
obj-$(CONFIG_WL12XX)
+=
wl12xx/
obj-$(CONFIG_WL12XX_PLATFORM_DATA)
+=
wlcore/
obj-$(CONFIG_WL1251)
+=
wl1251/
obj-$(CONFIG_WL18XX)
+=
wl18xx/
# small builtin driver bit
obj-$(CONFIG_WILINK_PLATFORM_DATA)
+=
wilink_platform_data.o
drivers/net/wireless/ti/w
lcore/wl12xx
_platform_data.c
→
drivers/net/wireless/ti/w
ilink
_platform_data.c
浏览文件 @
4d25a75b
文件已移动
drivers/net/wireless/ti/wl12xx/main.c
浏览文件 @
4d25a75b
...
...
@@ -1703,7 +1703,8 @@ static struct ieee80211_sta_ht_cap wl12xx_ht_cap = {
static
int
wl12xx_setup
(
struct
wl1271
*
wl
)
{
struct
wl12xx_priv
*
priv
=
wl
->
priv
;
struct
wl12xx_platform_data
*
pdata
=
wl
->
pdev
->
dev
.
platform_data
;
struct
wlcore_platdev_data
*
pdev_data
=
wl
->
pdev
->
dev
.
platform_data
;
struct
wl12xx_platform_data
*
pdata
=
pdev_data
->
pdata
;
wl
->
rtable
=
wl12xx_rtable
;
wl
->
num_tx_desc
=
WL12XX_NUM_TX_DESCRIPTORS
;
...
...
drivers/net/wireless/ti/wl18xx/conf.h
浏览文件 @
4d25a75b
...
...
@@ -23,7 +23,7 @@
#define __WL18XX_CONF_H__
#define WL18XX_CONF_MAGIC 0x10e100ca
#define WL18XX_CONF_VERSION (WLCORE_CONF_VERSION | 0x000
5
)
#define WL18XX_CONF_VERSION (WLCORE_CONF_VERSION | 0x000
6
)
#define WL18XX_CONF_MASK 0x0000ffff
#define WL18XX_CONF_SIZE (WLCORE_CONF_SIZE + \
sizeof(struct wl18xx_priv_conf))
...
...
@@ -70,8 +70,9 @@ struct wl18xx_mac_and_phy_params {
u8
pwr_limit_reference_11_abg
;
u8
per_chan_pwr_limit_arr_11p
[
NUM_OF_CHANNELS_11_P
];
u8
pwr_limit_reference_11p
;
u8
spare1
[
9
];
u8
spare2
[
9
];
u8
spare1
;
u8
per_chan_bo_mode_11_abg
[
13
];
u8
per_chan_bo_mode_11_p
[
4
];
u8
primary_clock_setting_time
;
u8
clock_valid_on_wake_up
;
u8
secondary_clock_setting_time
;
...
...
drivers/net/wireless/ti/wl18xx/main.c
浏览文件 @
4d25a75b
...
...
@@ -547,6 +547,11 @@ static struct wl18xx_priv_conf wl18xx_default_priv_conf = {
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
},
.
pwr_limit_reference_11p
=
0x64
,
.
per_chan_bo_mode_11_abg
=
{
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
},
.
per_chan_bo_mode_11_p
=
{
0x00
,
0x00
,
0x00
,
0x00
},
.
per_chan_pwr_limit_arr_11p
=
{
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
},
.
psat
=
0
,
...
...
drivers/net/wireless/ti/wlcore/Kconfig
浏览文件 @
4d25a75b
...
...
@@ -33,8 +33,3 @@ config WLCORE_SDIO
If you choose to build a module, it'll be called wlcore_sdio.
Say N if unsure.
config WL12XX_PLATFORM_DATA
bool
depends on WLCORE_SDIO != n || WL1251_SDIO != n
default y
drivers/net/wireless/ti/wlcore/Makefile
浏览文件 @
4d25a75b
...
...
@@ -9,7 +9,4 @@ obj-$(CONFIG_WLCORE) += wlcore.o
obj-$(CONFIG_WLCORE_SPI)
+=
wlcore_spi.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__
drivers/net/wireless/ti/wlcore/boot.c
浏览文件 @
4d25a75b
...
...
@@ -84,8 +84,8 @@ static int wlcore_boot_parse_fw_ver(struct wl1271 *wl,
static
int
wlcore_validate_fw_ver
(
struct
wl1271
*
wl
)
{
unsigned
int
*
fw_ver
=
wl
->
chip
.
fw_ver
;
unsigned
int
*
min_ver
=
(
wl
->
fw_type
==
WL12XX_FW_TYPE_
NORMAL
)
?
wl
->
min_
sr_fw_ver
:
wl
->
min_m
r_fw_ver
;
unsigned
int
*
min_ver
=
(
wl
->
fw_type
==
WL12XX_FW_TYPE_
MULTI
)
?
wl
->
min_
mr_fw_ver
:
wl
->
min_s
r_fw_ver
;
char
min_fw_str
[
32
]
=
""
;
int
i
;
...
...
drivers/net/wireless/ti/wlcore/cmd.c
浏览文件 @
4d25a75b
...
...
@@ -510,10 +510,12 @@ int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif)
cmd
->
sta
.
hlid
=
wlvif
->
sta
.
hlid
;
cmd
->
sta
.
session
=
wl
->
session_ids
[
wlvif
->
sta
.
hlid
];
/*
* We don't have the correct remote rates in this stage. the rates
* will be reconfigured later, after authorization.
* We don't have the correct remote rates in this stage. The
* rates will be reconfigured later, after association, if the
* firmware supports ACX_PEER_CAP. Otherwise, there's nothing
* we can do, so use all supported_rates here.
*/
cmd
->
sta
.
remote_rates
=
cpu_to_le32
(
wlvif
->
rate_set
);
cmd
->
sta
.
remote_rates
=
cpu_to_le32
(
supported_rates
);
wl1271_debug
(
DEBUG_CMD
,
"role start: roleid=%d, hlid=%d, session=%d "
"basic_rate_set: 0x%x, remote_rates: 0x%x"
,
...
...
drivers/net/wireless/ti/wlcore/main.c
浏览文件 @
4d25a75b
...
...
@@ -2162,7 +2162,7 @@ static int wl12xx_init_vif_data(struct wl1271 *wl, struct ieee80211_vif *vif)
return
0
;
}
static
bool
wl12xx_init_fw
(
struct
wl1271
*
wl
)
static
int
wl12xx_init_fw
(
struct
wl1271
*
wl
)
{
int
retries
=
WL1271_BOOT_RETRIES
;
bool
booted
=
false
;
...
...
@@ -2228,7 +2228,7 @@ static bool wl12xx_init_fw(struct wl1271 *wl)
wl
->
state
=
WLCORE_STATE_ON
;
out:
return
booted
;
return
ret
;
}
static
bool
wl12xx_dev_role_started
(
struct
wl12xx_vif
*
wlvif
)
...
...
@@ -2371,7 +2371,6 @@ static int wl1271_op_add_interface(struct ieee80211_hw *hw,
struct
vif_counter_data
vif_count
;
int
ret
=
0
;
u8
role_type
;
bool
booted
=
false
;
vif
->
driver_flags
|=
IEEE80211_VIF_BEACON_FILTER
|
IEEE80211_VIF_SUPPORTS_CQM_RSSI
;
...
...
@@ -2432,11 +2431,9 @@ static int wl1271_op_add_interface(struct ieee80211_hw *hw,
*/
memcpy
(
wl
->
addresses
[
0
].
addr
,
vif
->
addr
,
ETH_ALEN
);
booted
=
wl12xx_init_fw
(
wl
);
if
(
!
booted
)
{
ret
=
-
EINVAL
;
ret
=
wl12xx_init_fw
(
wl
);
if
(
ret
<
0
)
goto
out
;
}
}
ret
=
wl12xx_cmd_role_enable
(
wl
,
vif
->
addr
,
...
...
@@ -5966,7 +5963,8 @@ static void wlcore_nvs_cb(const struct firmware *fw, void *context)
{
struct
wl1271
*
wl
=
context
;
struct
platform_device
*
pdev
=
wl
->
pdev
;
struct
wl12xx_platform_data
*
pdata
=
pdev
->
dev
.
platform_data
;
struct
wlcore_platdev_data
*
pdev_data
=
pdev
->
dev
.
platform_data
;
struct
wl12xx_platform_data
*
pdata
=
pdev_data
->
pdata
;
unsigned
long
irqflags
;
int
ret
;
...
...
@@ -5995,8 +5993,7 @@ static void wlcore_nvs_cb(const struct firmware *fw, void *context)
wl
->
irq
=
platform_get_irq
(
pdev
,
0
);
wl
->
platform_quirks
=
pdata
->
platform_quirks
;
wl
->
set_power
=
pdata
->
set_power
;
wl
->
if_ops
=
pdata
->
ops
;
wl
->
if_ops
=
pdev_data
->
if_ops
;
if
(
wl
->
platform_quirks
&
WL12XX_PLATFORM_QUIRK_EDGE_IRQ
)
irqflags
=
IRQF_TRIGGER_RISING
;
...
...
drivers/net/wireless/ti/wlcore/sdio.c
浏览文件 @
4d25a75b
...
...
@@ -217,7 +217,7 @@ static struct wl1271_if_operations sdio_ops = {
static
int
wl1271_probe
(
struct
sdio_func
*
func
,
const
struct
sdio_device_id
*
id
)
{
struct
wl
12xx_platform_data
*
wlan
_data
;
struct
wl
core_platdev_data
*
pdev
_data
;
struct
wl12xx_sdio_glue
*
glue
;
struct
resource
res
[
1
];
mmc_pm_flag_t
mmcflags
;
...
...
@@ -228,10 +228,18 @@ static int wl1271_probe(struct sdio_func *func,
if
(
func
->
num
!=
0x02
)
return
-
ENODEV
;
pdev_data
=
kzalloc
(
sizeof
(
*
pdev_data
),
GFP_KERNEL
);
if
(
!
pdev_data
)
{
dev_err
(
&
func
->
dev
,
"can't allocate platdev_data
\n
"
);
goto
out
;
}
pdev_data
->
if_ops
=
&
sdio_ops
;
glue
=
kzalloc
(
sizeof
(
*
glue
),
GFP_KERNEL
);
if
(
!
glue
)
{
dev_err
(
&
func
->
dev
,
"can't allocate glue
\n
"
);
goto
out
;
goto
out
_free_pdev_data
;
}
glue
->
dev
=
&
func
->
dev
;
...
...
@@ -242,9 +250,9 @@ static int wl1271_probe(struct sdio_func *func,
/* Use block mode for transferring over one block size of data */
func
->
card
->
quirks
|=
MMC_QUIRK_BLKSZ_FOR_BYTE_MODE
;
wlan_
data
=
wl12xx_get_platform_data
();
if
(
IS_ERR
(
wlan_
data
))
{
ret
=
PTR_ERR
(
wlan_
data
);
pdev_data
->
p
data
=
wl12xx_get_platform_data
();
if
(
IS_ERR
(
pdev_data
->
p
data
))
{
ret
=
PTR_ERR
(
pdev_data
->
p
data
);
dev_err
(
glue
->
dev
,
"missing wlan platform data: %d
\n
"
,
ret
);
goto
out_free_glue
;
}
...
...
@@ -254,9 +262,7 @@ static int wl1271_probe(struct sdio_func *func,
dev_dbg
(
glue
->
dev
,
"sdio PM caps = 0x%x
\n
"
,
mmcflags
);
if
(
mmcflags
&
MMC_PM_KEEP_POWER
)
wlan_data
->
pwr_in_suspend
=
true
;
wlan_data
->
ops
=
&
sdio_ops
;
pdev_data
->
pdata
->
pwr_in_suspend
=
true
;
sdio_set_drvdata
(
func
,
glue
);
...
...
@@ -274,7 +280,7 @@ static int wl1271_probe(struct sdio_func *func,
else
chip_family
=
"wl12xx"
;
glue
->
core
=
platform_device_alloc
(
chip_family
,
-
1
);
glue
->
core
=
platform_device_alloc
(
chip_family
,
PLATFORM_DEVID_AUTO
);
if
(
!
glue
->
core
)
{
dev_err
(
glue
->
dev
,
"can't allocate platform_device"
);
ret
=
-
ENOMEM
;
...
...
@@ -285,7 +291,7 @@ static int wl1271_probe(struct sdio_func *func,
memset
(
res
,
0x00
,
sizeof
(
res
));
res
[
0
].
start
=
wlan_
data
->
irq
;
res
[
0
].
start
=
pdev_data
->
p
data
->
irq
;
res
[
0
].
flags
=
IORESOURCE_IRQ
;
res
[
0
].
name
=
"irq"
;
...
...
@@ -295,8 +301,8 @@ static int wl1271_probe(struct sdio_func *func,
goto
out_dev_put
;
}
ret
=
platform_device_add_data
(
glue
->
core
,
wlan
_data
,
sizeof
(
*
wlan
_data
));
ret
=
platform_device_add_data
(
glue
->
core
,
pdev
_data
,
sizeof
(
*
pdev
_data
));
if
(
ret
)
{
dev_err
(
glue
->
dev
,
"can't add platform data
\n
"
);
goto
out_dev_put
;
...
...
@@ -315,6 +321,9 @@ static int wl1271_probe(struct sdio_func *func,
out_free_glue:
kfree
(
glue
);
out_free_pdev_data:
kfree
(
pdev_data
);
out:
return
ret
;
}
...
...
drivers/net/wireless/ti/wlcore/spi.c
浏览文件 @
4d25a75b
...
...
@@ -327,22 +327,29 @@ static struct wl1271_if_operations spi_ops = {
static
int
wl1271_probe
(
struct
spi_device
*
spi
)
{
struct
wl12xx_spi_glue
*
glue
;
struct
wl
12xx_platform_data
*
p
data
;
struct
wl
core_platdev_data
*
pdev_
data
;
struct
resource
res
[
1
];
int
ret
=
-
ENOMEM
;
pdata
=
spi
->
dev
.
platform_data
;
if
(
!
pdata
)
{
pdev_data
=
kzalloc
(
sizeof
(
*
pdev_data
),
GFP_KERNEL
);
if
(
!
pdev_data
)
{
dev_err
(
&
spi
->
dev
,
"can't allocate platdev_data
\n
"
);
goto
out
;
}
pdev_data
->
pdata
=
spi
->
dev
.
platform_data
;
if
(
!
pdev_data
->
pdata
)
{
dev_err
(
&
spi
->
dev
,
"no platform data
\n
"
);
return
-
ENODEV
;
ret
=
-
ENODEV
;
goto
out_free_pdev_data
;
}
pd
ata
->
ops
=
&
spi_ops
;
pd
ev_data
->
if_
ops
=
&
spi_ops
;
glue
=
kzalloc
(
sizeof
(
*
glue
),
GFP_KERNEL
);
if
(
!
glue
)
{
dev_err
(
&
spi
->
dev
,
"can't allocate glue
\n
"
);
goto
out
;
goto
out
_free_pdev_data
;
}
glue
->
dev
=
&
spi
->
dev
;
...
...
@@ -359,7 +366,7 @@ static int wl1271_probe(struct spi_device *spi)
goto
out_free_glue
;
}
glue
->
core
=
platform_device_alloc
(
"wl12xx"
,
-
1
);
glue
->
core
=
platform_device_alloc
(
"wl12xx"
,
PLATFORM_DEVID_AUTO
);
if
(
!
glue
->
core
)
{
dev_err
(
glue
->
dev
,
"can't allocate platform_device
\n
"
);
ret
=
-
ENOMEM
;
...
...
@@ -380,7 +387,8 @@ static int wl1271_probe(struct spi_device *spi)
goto
out_dev_put
;
}
ret
=
platform_device_add_data
(
glue
->
core
,
pdata
,
sizeof
(
*
pdata
));
ret
=
platform_device_add_data
(
glue
->
core
,
pdev_data
,
sizeof
(
*
pdev_data
));
if
(
ret
)
{
dev_err
(
glue
->
dev
,
"can't add platform data
\n
"
);
goto
out_dev_put
;
...
...
@@ -399,6 +407,10 @@ static int wl1271_probe(struct spi_device *spi)
out_free_glue:
kfree
(
glue
);
out_free_pdev_data:
kfree
(
pdev_data
);
out:
return
ret
;
}
...
...
drivers/net/wireless/ti/wlcore/wlcore.h
浏览文件 @
4d25a75b
...
...
@@ -183,7 +183,6 @@ struct wl1271 {
struct
wl1271_if_operations
*
if_ops
;
void
(
*
set_power
)(
bool
enable
);
int
irq
;
spinlock_t
wl_lock
;
...
...
drivers/net/wireless/ti/wlcore/wlcore_i.h
浏览文件 @
4d25a75b
...
...
@@ -206,6 +206,11 @@ struct wl1271_if_operations {
void
(
*
set_block_size
)
(
struct
device
*
child
,
unsigned
int
blksz
);
};
struct
wlcore_platdev_data
{
struct
wl12xx_platform_data
*
pdata
;
struct
wl1271_if_operations
*
if_ops
;
};
#define MAX_NUM_KEYS 14
#define MAX_KEY_SIZE 32
...
...
include/linux/wl12xx.h
浏览文件 @
4d25a75b
...
...
@@ -24,6 +24,8 @@
#ifndef _LINUX_WL12XX_H
#define _LINUX_WL12XX_H
#include <linux/err.h>
/* Reference clock values */
enum
{
WL12XX_REFCLOCK_19
=
0
,
/* 19.2 MHz */
...
...
@@ -55,17 +57,17 @@ struct wl12xx_platform_data {
int
board_tcxo_clock
;
unsigned
long
platform_quirks
;
bool
pwr_in_suspend
;
struct
wl1271_if_operations
*
ops
;
};
/* Platform does not support level trigger interrupts */
#define WL12XX_PLATFORM_QUIRK_EDGE_IRQ BIT(0)
#ifdef CONFIG_W
L12XX
_PLATFORM_DATA
#ifdef CONFIG_W
ILINK
_PLATFORM_DATA
int
wl12xx_set_platform_data
(
const
struct
wl12xx_platform_data
*
data
);
struct
wl12xx_platform_data
*
wl12xx_get_platform_data
(
void
);
#else
static
inline
...
...
@@ -74,8 +76,12 @@ int wl12xx_set_platform_data(const struct wl12xx_platform_data *data)
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
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录