Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
op-rfkill.c File Reference
#include <net/wimax.h>
#include <net/genetlink.h>
#include <linux/wimax.h>
#include <linux/security.h>
#include <linux/rfkill.h>
#include <linux/export.h>
#include "wimax-internal.h"
#include "debug-levels.h"

Go to the source code of this file.

Macros

#define D_SUBMODULE   op_rfkill
 

Functions

void wimax_report_rfkill_hw (struct wimax_dev *wimax_dev, enum wimax_rf_state state)
 
 EXPORT_SYMBOL_GPL (wimax_report_rfkill_hw)
 
void wimax_report_rfkill_sw (struct wimax_dev *wimax_dev, enum wimax_rf_state state)
 
 EXPORT_SYMBOL_GPL (wimax_report_rfkill_sw)
 
int wimax_rfkill (struct wimax_dev *wimax_dev, enum wimax_rf_state state)
 
 EXPORT_SYMBOL (wimax_rfkill)
 
int wimax_rfkill_add (struct wimax_dev *wimax_dev)
 
void wimax_rfkill_rm (struct wimax_dev *wimax_dev)
 

Variables

struct genl_ops wimax_gnl_rfkill
 

Macro Definition Documentation

#define D_SUBMODULE   op_rfkill

Definition at line 71 of file op-rfkill.c.

Function Documentation

EXPORT_SYMBOL ( wimax_rfkill  )
EXPORT_SYMBOL_GPL ( wimax_report_rfkill_hw  )
EXPORT_SYMBOL_GPL ( wimax_report_rfkill_sw  )
void wimax_report_rfkill_hw ( struct wimax_dev wimax_dev,
enum wimax_rf_state  state 
)

wimax_report_rfkill_hw - Reports changes in the hardware RF switch

: WiMAX device descriptor

: New state of the RF Kill switch. WIMAX_RF_ON radio on, WIMAX_RF_OFF radio off.

When the device detects a change in the state of thehardware RF switch, it must call this function to let the WiMAX kernel stack know that the state has changed so it can be properly propagated.

The WiMAX stack caches the state (the driver doesn't need to). As well, as the change is propagated it will come back as a request to change the software state to mirror the hardware state.

If the device doesn't have a hardware kill switch, just report it on initialization as always on (WIMAX_RF_ON, radio on).

Definition at line 93 of file op-rfkill.c.

void wimax_report_rfkill_sw ( struct wimax_dev wimax_dev,
enum wimax_rf_state  state 
)

wimax_report_rfkill_sw - Reports changes in the software RF switch

: WiMAX device descriptor

: New state of the RF kill switch. WIMAX_RF_ON radio on, WIMAX_RF_OFF radio off.

Reports changes in the software RF switch state to the the WiMAX stack.

The main use is during initialization, so the driver can query the device for its current software radio kill switch state and feed it to the system.

On the side, the device does not change the software state by itself. In practice, this can happen, as the device might decide to switch (in software) the radio off for different reasons.

Definition at line 149 of file op-rfkill.c.

int wimax_rfkill ( struct wimax_dev wimax_dev,
enum wimax_rf_state  state 
)

wimax_rfkill - Set the software RF switch state for a WiMAX device

: WiMAX device descriptor

: New RF state.

Returns:

>= 0 toggle state if ok, < 0 errno code on error. The toggle state is returned as a bitmap, bit 0 being the hardware RF state, bit 1 the software RF state.

0 means disabled (WIMAX_RF_ON, radio on), 1 means enabled radio off (WIMAX_RF_OFF).

Description:

Called by the user when he wants to request the WiMAX radio to be switched on (WIMAX_RF_ON) or off (WIMAX_RF_OFF). With WIMAX_RF_QUERY, just the current state is returned.

NOTE:

This call will block until the operation is complete.

Definition at line 301 of file op-rfkill.c.

int wimax_rfkill_add ( struct wimax_dev wimax_dev)

Definition at line 348 of file op-rfkill.c.

void wimax_rfkill_rm ( struct wimax_dev wimax_dev)

Definition at line 394 of file op-rfkill.c.

Variable Documentation

struct genl_ops wimax_gnl_rfkill
Initial value:
= {
.flags = GENL_ADMIN_PERM,
.policy = wimax_gnl_rfkill_policy,
.doit = wimax_gnl_doit_rfkill,
.dumpit = NULL,
}

Definition at line 462 of file op-rfkill.c.