forked from Minki/linux
wimax/i2400m: implement passive mode as a module option
Some versions of the user space Intel WiMAX daemon need to have full control over the device initialization sequence. By setting the module option i2400.passive_mode to 1, the driver defers all device configuration and initialization to user space. Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
This commit is contained in:
parent
a8ee303cae
commit
55a662d646
@ -82,6 +82,13 @@
|
|||||||
#define D_SUBMODULE control
|
#define D_SUBMODULE control
|
||||||
#include "debug-levels.h"
|
#include "debug-levels.h"
|
||||||
|
|
||||||
|
int i2400m_passive_mode; /* 0 (passive mode disabled) by default */
|
||||||
|
module_param_named(passive_mode, i2400m_passive_mode, int, 0644);
|
||||||
|
MODULE_PARM_DESC(passive_mode,
|
||||||
|
"If true, the driver will not do any device setup "
|
||||||
|
"and leave it up to user space, who must be properly "
|
||||||
|
"setup.");
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return if a TLV is of a give type and size
|
* Return if a TLV is of a give type and size
|
||||||
@ -1335,6 +1342,8 @@ int i2400m_dev_initialize(struct i2400m *i2400m)
|
|||||||
unsigned argc = 0;
|
unsigned argc = 0;
|
||||||
|
|
||||||
d_fnstart(3, dev, "(i2400m %p)\n", i2400m);
|
d_fnstart(3, dev, "(i2400m %p)\n", i2400m);
|
||||||
|
if (i2400m_passive_mode)
|
||||||
|
goto out_passive;
|
||||||
/* Disable idle mode? (enabled by default) */
|
/* Disable idle mode? (enabled by default) */
|
||||||
if (i2400m_idle_mode_disabled) {
|
if (i2400m_idle_mode_disabled) {
|
||||||
if (i2400m_le_v1_3(i2400m)) {
|
if (i2400m_le_v1_3(i2400m)) {
|
||||||
@ -1377,6 +1386,7 @@ int i2400m_dev_initialize(struct i2400m *i2400m)
|
|||||||
result = i2400m_set_init_config(i2400m, args, argc);
|
result = i2400m_set_init_config(i2400m, args, argc);
|
||||||
if (result < 0)
|
if (result < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
out_passive:
|
||||||
/*
|
/*
|
||||||
* Update state: Here it just calls a get state; parsing the
|
* Update state: Here it just calls a get state; parsing the
|
||||||
* result (System State TLV and RF Status TLV [done in the rx
|
* result (System State TLV and RF Status TLV [done in the rx
|
||||||
|
Loading…
Reference in New Issue
Block a user