Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
driver.c File Reference
#include "i2400m.h"
#include <linux/etherdevice.h>
#include <linux/wimax/i2400m.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/suspend.h>
#include <linux/slab.h>
#include "debug-levels.h"

Go to the source code of this file.

Data Structures

struct  i2400m_reset_ctx
 

Macros

#define D_SUBMODULE   driver
 

Functions

 module_param_string (debug, i2400m_debug_params, sizeof(i2400m_debug_params), 0644)
 
 MODULE_PARM_DESC (debug,"String of space-separated NAME:VALUE pairs, where NAMEs ""are the different debug submodules and VALUE are the ""initial debug value to set.")
 
 module_param_string (barkers, i2400m_barkers_params, sizeof(i2400m_barkers_params), 0644)
 
 MODULE_PARM_DESC (barkers,"String of comma-separated 32-bit values; each is ""recognized as the value the device sends as a reboot ""signal; values are appended to a list--setting one value ""as zero cleans the existing list and starts a new one.")
 
int i2400m_pre_reset (struct i2400m *i2400m)
 
 EXPORT_SYMBOL_GPL (i2400m_pre_reset)
 
int i2400m_post_reset (struct i2400m *i2400m)
 
 EXPORT_SYMBOL_GPL (i2400m_post_reset)
 
int i2400m_dev_reset_handle (struct i2400m *i2400m, const char *reason)
 
 EXPORT_SYMBOL_GPL (i2400m_dev_reset_handle)
 
void i2400m_error_recovery (struct i2400m *i2400m)
 
 EXPORT_SYMBOL_GPL (i2400m_error_recovery)
 
void i2400m_init (struct i2400m *i2400m)
 
 EXPORT_SYMBOL_GPL (i2400m_init)
 
int i2400m_reset (struct i2400m *i2400m, enum i2400m_reset_type rt)
 
 EXPORT_SYMBOL_GPL (i2400m_reset)
 
int i2400m_setup (struct i2400m *i2400m, enum i2400m_bri bm_flags)
 
 EXPORT_SYMBOL_GPL (i2400m_setup)
 
void i2400m_release (struct i2400m *i2400m)
 
 EXPORT_SYMBOL_GPL (i2400m_release)
 
 module_init (i2400m_driver_init)
 
 module_exit (i2400m_driver_exit)
 
 MODULE_AUTHOR ("Intel Corporation <[email protected]>")
 
 MODULE_DESCRIPTION ("Intel 2400M WiMAX networking bus-generic driver")
 
 MODULE_LICENSE ("GPL")
 

Variables

struct d_level D_LEVEL []
 
size_t D_LEVEL_SIZE = ARRAY_SIZE(D_LEVEL)
 

Macro Definition Documentation

#define D_SUBMODULE   driver

Definition at line 74 of file driver.c.

Function Documentation

EXPORT_SYMBOL_GPL ( i2400m_pre_reset  )
EXPORT_SYMBOL_GPL ( i2400m_post_reset  )
EXPORT_SYMBOL_GPL ( i2400m_dev_reset_handle  )
EXPORT_SYMBOL_GPL ( i2400m_error_recovery  )
EXPORT_SYMBOL_GPL ( i2400m_init  )
EXPORT_SYMBOL_GPL ( i2400m_reset  )
EXPORT_SYMBOL_GPL ( i2400m_setup  )
EXPORT_SYMBOL_GPL ( i2400m_release  )
int i2400m_dev_reset_handle ( struct i2400m i2400m,
const char reason 
)

i2400m_dev_reset_handle - Handle a device's reset in a thread context

Schedule a device reset handling out on a thread context, so it is safe to call from atomic context. We can't use the i2400m's queue as we are going to destroy it and reinitialize it as part of the driver bringup/bringup process.

See __i2400m_dev_reset_handle() for details; that takes care of reinitializing the driver to handle the reset, calling into the bus-specific functions ops as needed.

Definition at line 698 of file driver.c.

void i2400m_error_recovery ( struct i2400m i2400m)

Definition at line 744 of file driver.c.

void i2400m_init ( struct i2400m i2400m)

i2400m_init - Initialize a 'struct i2400m' from all zeroes

This is a bus-generic API call.

Definition at line 795 of file driver.c.

int i2400m_post_reset ( struct i2400m i2400m)

Definition at line 535 of file driver.c.

int i2400m_pre_reset ( struct i2400m i2400m)

Definition at line 501 of file driver.c.

void i2400m_release ( struct i2400m i2400m)

i2400m_release - release the bus-generic driver resources

Sends a disconnect message and undoes any setup done by i2400m_setup()

Definition at line 967 of file driver.c.

int i2400m_reset ( struct i2400m i2400m,
enum i2400m_reset_type  rt 
)

Definition at line 833 of file driver.c.

int i2400m_setup ( struct i2400m i2400m,
enum i2400m_bri  bm_flags 
)

i2400m_setup - bus-generic setup function for the i2400m device

: device descriptor (bus-specific parts have been initialized)

Returns: 0 if ok, < 0 errno code on error.

Sets up basic device comunication infrastructure, boots the ROM to read the MAC address, registers with the WiMAX and network stacks and then brings up the device.

Definition at line 862 of file driver.c.

MODULE_AUTHOR ( "Intel Corporation <[email protected]>"  )
MODULE_DESCRIPTION ( "Intel 2400M WiMAX networking bus-generic driver"  )
module_exit ( i2400m_driver_exit  )
module_init ( i2400m_driver_init  )
MODULE_LICENSE ( "GPL"  )
module_param_string ( debug  ,
i2400m_debug_params  ,
sizeof(i2400m_debug_params)  ,
0644   
)
module_param_string ( barkers  ,
i2400m_barkers_params  ,
sizeof(i2400m_barkers_params)  ,
0644   
)
MODULE_PARM_DESC ( debug  ,
"String of space-separated NAME:VALUE  pairs,
where NAMEs""are the different debug submodules and VALUE are the""initial debug value to set."   
)
MODULE_PARM_DESC ( barkers  ,
"String of comma-separated 32-bit values; each is ""recognized as the value the device sends as a reboot ""signal; values are appended to a list--setting one value ""as zero cleans the existing list and starts a new one."   
)

Variable Documentation

struct d_level D_LEVEL[]
size_t D_LEVEL_SIZE = ARRAY_SIZE(D_LEVEL)

Definition at line 1007 of file driver.c.