diff options
author | Alan Jenkins <alan-jenkins@tuffmail.co.uk> | 2009-06-08 08:27:27 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-06-10 13:28:37 -0400 |
commit | b3fa1329eaf2a7b97124dacf5b663fd51346ac19 (patch) | |
tree | 93fd6a76af00568e8317e3e4f084135379ec6c25 /include/linux/rfkill.h | |
parent | 8f77f3849cc3ae2d6df9301785a3d316ea7d7ee1 (diff) |
rfkill: remove set_global_sw_state
rfkill_set_global_sw_state() (previously rfkill_set_default()) will no
longer be exported by the rewritten rfkill core.
Instead, platform drivers which can provide persistent soft-rfkill state
across power-down/reboot should indicate their initial state by calling
rfkill_set_sw_state() before registration. Otherwise, they will be
initialized to a default value during registration by a set_block call.
We remove existing calls to rfkill_set_sw_state() which happen before
registration, since these had no effect in the old model. If these
drivers do have persistent state, the calls can be put back (subject
to testing :-). This affects hp-wmi and acer-wmi.
Drivers with persistent state will affect the global state only if
rfkill-input is enabled. This is required, otherwise booting with
wireless soft-blocked and pressing the wireless-toggle key once would
have no apparent effect. This special case will be removed in future
along with rfkill-input, in favour of a more flexible userspace daemon
(see Documentation/feature-removal-schedule.txt).
Now rfkill_global_states[n].def is only used to preserve global states
over EPO, it is renamed to ".sav".
Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/linux/rfkill.h')
-rw-r--r-- | include/linux/rfkill.h | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/include/linux/rfkill.h b/include/linux/rfkill.h index d7e818ad0bc4..c1dca0b8138b 100644 --- a/include/linux/rfkill.h +++ b/include/linux/rfkill.h | |||
@@ -157,8 +157,14 @@ struct rfkill * __must_check rfkill_alloc(const char *name, | |||
157 | * @rfkill: rfkill structure to be registered | 157 | * @rfkill: rfkill structure to be registered |
158 | * | 158 | * |
159 | * This function should be called by the transmitter driver to register | 159 | * This function should be called by the transmitter driver to register |
160 | * the rfkill structure needs to be registered. Before calling this function | 160 | * the rfkill structure. Before calling this function the driver needs |
161 | * the driver needs to be ready to service method calls from rfkill. | 161 | * to be ready to service method calls from rfkill. |
162 | * | ||
163 | * If the software blocked state is not set before registration, | ||
164 | * set_block will be called to initialize it to a default value. | ||
165 | * | ||
166 | * If the hardware blocked state is not set before registration, | ||
167 | * it is assumed to be unblocked. | ||
162 | */ | 168 | */ |
163 | int __must_check rfkill_register(struct rfkill *rfkill); | 169 | int __must_check rfkill_register(struct rfkill *rfkill); |
164 | 170 | ||
@@ -251,19 +257,6 @@ bool rfkill_set_sw_state(struct rfkill *rfkill, bool blocked); | |||
251 | void rfkill_set_states(struct rfkill *rfkill, bool sw, bool hw); | 257 | void rfkill_set_states(struct rfkill *rfkill, bool sw, bool hw); |
252 | 258 | ||
253 | /** | 259 | /** |
254 | * rfkill_set_global_sw_state - set global sw block default | ||
255 | * @type: rfkill type to set default for | ||
256 | * @blocked: default to set | ||
257 | * | ||
258 | * This function sets the global default -- use at boot if your platform has | ||
259 | * an rfkill switch. If not early enough this call may be ignored. | ||
260 | * | ||
261 | * XXX: instead of ignoring -- how about just updating all currently | ||
262 | * registered drivers? | ||
263 | */ | ||
264 | void rfkill_set_global_sw_state(const enum rfkill_type type, bool blocked); | ||
265 | |||
266 | /** | ||
267 | * rfkill_blocked - query rfkill block | 260 | * rfkill_blocked - query rfkill block |
268 | * | 261 | * |
269 | * @rfkill: rfkill struct to query | 262 | * @rfkill: rfkill struct to query |
@@ -317,11 +310,6 @@ static inline void rfkill_set_states(struct rfkill *rfkill, bool sw, bool hw) | |||
317 | { | 310 | { |
318 | } | 311 | } |
319 | 312 | ||
320 | static inline void rfkill_set_global_sw_state(const enum rfkill_type type, | ||
321 | bool blocked) | ||
322 | { | ||
323 | } | ||
324 | |||
325 | static inline bool rfkill_blocked(struct rfkill *rfkill) | 313 | static inline bool rfkill_blocked(struct rfkill *rfkill) |
326 | { | 314 | { |
327 | return false; | 315 | return false; |