/linux/net/rfkill/ |
H A D | core.c | 15 #include <linux/rfkill.h> 25 #include "rfkill.h" 37 struct rfkill { struct 69 #define to_rfkill(d) container_of(d, struct rfkill, dev) argument 95 * the rfkill struct under their own lock, and take this lock during 96 * rfkill method calls -- which will cause an AB-BA deadlock situation. 105 static LIST_HEAD(rfkill_fds); /* list of open fds of /dev/rfkill */ 120 static void rfkill_led_trigger_event(struct rfkill *rfkill) in rfkill_led_trigger_event() argument 124 if (!rfkill->registered) in rfkill_led_trigger_event() 127 trigger = &rfkill->led_trigger; in rfkill_led_trigger_event() [all …]
|
H A D | rfkill-gpio.c | 11 #include <linux/rfkill.h> 25 struct rfkill *rfkill_dev; 33 struct rfkill_gpio_data *rfkill = data; in rfkill_gpio_set_power() local 35 if (!blocked && !IS_ERR(rfkill->clk) && !rfkill->clk_enabled) { in rfkill_gpio_set_power() 36 int ret = clk_enable(rfkill->clk); in rfkill_gpio_set_power() 42 gpiod_set_value_cansleep(rfkill->shutdown_gpio, !blocked); in rfkill_gpio_set_power() 43 gpiod_set_value_cansleep(rfkill->reset_gpio, !blocked); in rfkill_gpio_set_power() 45 if (blocked && !IS_ERR(rfkill->clk) && rfkill->clk_enabled) in rfkill_gpio_set_power() 46 clk_disable(rfkill->clk); in rfkill_gpio_set_power() 48 rfkill->clk_enabled = !blocked; in rfkill_gpio_set_power() [all …]
|
H A D | Kconfig | 5 menuconfig RFKILL config 12 module will be called rfkill. 17 depends on RFKILL 18 depends on LEDS_TRIGGERS = y || RFKILL = LEDS_TRIGGERS 23 depends on RFKILL 24 depends on INPUT = y || RFKILL = INPUT 28 tristate "GPIO RFKILL driver" 29 depends on RFKILL 33 If you say yes here you get support of a generic gpio RFKILL
|
H A D | Makefile | 6 rfkill-y += core.o 7 rfkill-$(CONFIG_RFKILL_INPUT) += input.o 8 obj-$(CONFIG_RFKILL) += rfkill.o 9 obj-$(CONFIG_RFKILL_GPIO) += rfkill-gpio.o
|
H A D | input.c | 8 * If you ever run into a situation in which you have a SW_ type rfkill 10 * "rfkill-input: remove unused code". 18 #include <linux/rfkill.h> 21 #include "rfkill.h" 77 "rfkill Emergency Power Off activated\n", in __rfkill_handle_global_op() 230 handle->name = "rfkill"; in rfkill_connect() 309 .name = "rfkill",
|
/linux/Documentation/driver-api/ |
H A D | rfkill.rst | 2 rfkill - RF kill switch support 12 The rfkill subsystem provides a generic interface for disabling any radio 21 The rfkill subsystem has a concept of "hard" and "soft" block, which 32 The rfkill subsystem has two parameters, rfkill.default_state and 33 rfkill.master_switch_mode, which are documented in 40 The rfkill subsystem is composed of three main components: 42 * the rfkill core, 43 * the deprecated rfkill-input module (an input layer handler, being 45 * the rfkill drivers. 47 The rfkill core provides API for kernel drivers to register their radio [all …]
|
/linux/drivers/platform/x86/dell/ |
H A D | dell-rbtn.c | 10 #include <linux/rfkill.h> 23 struct rfkill *rfkill; member 86 * rfkill device 89 static void rbtn_rfkill_query(struct rfkill *rfkill, void *data) in rbtn_rfkill_query() argument 98 rfkill_set_states(rfkill, state, state); in rbtn_rfkill_query() 103 /* NOTE: setting soft rfkill state is not supported */ in rbtn_rfkill_set_block() 117 if (rbtn_data->rfkill) in rbtn_rfkill_init() 122 * but rfkill interface does not support "ANY" type in rbtn_rfkill_init() 125 rbtn_data->rfkill = rfkill_alloc("dell-rbtn", &device->dev, in rbtn_rfkill_init() 127 if (!rbtn_data->rfkill) in rbtn_rfkill_init() [all …]
|
H A D | Kconfig | 76 depends on RFKILL || RFKILL = n 84 This driver adds support for rfkill and backlight control to Dell 105 depends on RFKILL 109 This driver register rfkill device or input hotkey device depending 111 rfkill devices it receive HW switch events and set correct hard 112 rfkill state.
|
/linux/Documentation/devicetree/bindings/net/ |
H A D | rfkill-gpio.yaml | 4 $id: http://devicetree.org/schemas/net/rfkill-gpio.yaml# 7 title: GPIO controlled rfkill switch 15 const: rfkill-gpio 18 description: rfkill switch name, defaults to node name 21 description: rfkill radio type 37 description: configure rfkill state as blocked at boot 50 rfkill { 51 compatible = "rfkill-gpio"; 52 label = "rfkill-pcie-wlan";
|
/linux/include/uapi/linux/ |
H A D | rfkill.h | 30 * enum rfkill_type - type of rfkill switch. 41 * @NUM_RFKILL_TYPES: number of defined rfkill types 74 * @RFKILL_HARD_BLOCK_SIGNAL: the hardware rfkill signal is active 83 * struct rfkill_event - events for userspace on /dev/rfkill 84 * @idx: index of dev rfkill 85 * @type: type of the rfkill struct 90 * Structure used for userspace communication on /dev/rfkill, 102 * struct rfkill_event_ext - events for userspace on /dev/rfkill 103 * @idx: index of dev rfkill 104 * @type: type of the rfkill struct [all …]
|
H A D | nl80211-vnd-intel.h | 20 * involvement is required. The kernel will assert the RFKILL signal with 26 * in RFKILL because the host doesn't own the device 38 * 9) iwlmei tells iwlwifi to lift the RFKILL 39 * 10) RFKILL OFF is reported to user space
|
/linux/drivers/platform/x86/intel/ |
H A D | oaktrail.c | 16 * 2. registers in the rfkill subsystem here: /sys/class/rfkill/rfkillX/ 36 #include <linux/rfkill.h> 87 static struct rfkill *bt_rfkill; 88 static struct rfkill *gps_rfkill; 89 static struct rfkill *wifi_rfkill; 90 static struct rfkill *wwan_rfkill; 93 /* rfkill */ 116 static struct rfkill *oaktrail_rfkill_new(char *name, enum rfkill_type type, in oaktrail_rfkill_new() 119 struct rfkill *rfkill_dev; in oaktrail_rfkill_new() 140 static inline void __oaktrail_rfkill_cleanup(struct rfkill *rf) in __oaktrail_rfkill_cleanup() [all …]
|
/linux/drivers/net/wireless/ath/ath5k/ |
H A D | rfkill.c | 2 * RFKILL support for ath5k 41 ATH5K_DBG(ah, ATH5K_DEBUG_ANY, "rfkill disable (gpio:%d polarity:%d)\n", in ath5k_rfkill_disable() 50 ATH5K_DBG(ah, ATH5K_DEBUG_ANY, "rfkill enable (gpio:%d polarity:%d)\n", in ath5k_rfkill_enable() 69 /* configuring GPIO for input for some reason disables rfkill */ in ath5k_is_rfkill_set() 89 /* read rfkill GPIO configuration from EEPROM header */ in ath5k_rfkill_hw_start() 97 /* enable interrupt for rfkill switch */ in ath5k_rfkill_hw_start() 106 /* disable interrupt for rfkill switch */ in ath5k_rfkill_hw_stop() 112 /* enable RFKILL when stopping HW so Wifi LED is turned off */ in ath5k_rfkill_hw_stop()
|
/linux/drivers/platform/x86/ |
H A D | toshiba_bluetooth.c | 19 #include <linux/rfkill.h> 31 struct rfkill *rfk; 162 /* RFKill handlers */ 183 static void bt_rfkill_poll(struct rfkill *rfkill, void *data) in bt_rfkill_poll() argument 191 * Note the Toshiba Bluetooth RFKill switch seems to be a strange in bt_rfkill_poll() 264 pr_err("Unable to allocate rfkill device\n"); in toshiba_bt_rfkill_add() 273 pr_err("Unable to register rfkill device\n"); in toshiba_bt_rfkill_add()
|
H A D | eeepc-laptop.c | 25 #include <linux/rfkill.h> 166 struct rfkill *wlan_rfkill; 167 struct rfkill *bluetooth_rfkill; 168 struct rfkill *wwan3g_rfkill; 169 struct rfkill *wimax_rfkill; 550 * PCI hotplug (for wlan rfkill) 672 * Refresh pci hotplug in case the rfkill state was in eeepc_register_rfkill_notifier() 694 pr_err("Error removing rfkill notify handler %s\n", in eeepc_unregister_rfkill_notifier() 697 * Refresh pci hotplug in case the rfkill in eeepc_unregister_rfkill_notifier() 752 * Rfkill devices [all …]
|
H A D | samsung-laptop.c | 20 #include <linux/rfkill.h> 324 struct rfkill *rfkill; member 622 static void swsmi_rfkill_query(struct rfkill *rfkill, void *priv) in swsmi_rfkill_query() argument 640 rfkill_set_sw_state(rfkill, !ret); in swsmi_rfkill_query() 1023 if (samsung->wlan.rfkill) { in samsung_rfkill_exit() 1024 rfkill_unregister(samsung->wlan.rfkill); in samsung_rfkill_exit() 1025 rfkill_destroy(samsung->wlan.rfkill); in samsung_rfkill_exit() 1026 samsung->wlan.rfkill = NULL; in samsung_rfkill_exit() 1028 if (samsung->bluetooth.rfkill) { in samsung_rfkill_exit() 1029 rfkill_unregister(samsung->bluetooth.rfkill); in samsung_rfkill_exit() [all …]
|
H A D | asus-wmi.c | 36 #include <linux/rfkill.h> 228 struct rfkill *rfkill; member 1892 * PCI hotplug (for wlan rfkill) 1918 if (asus->wlan.rfkill) in asus_rfkill_hotplug() 1919 rfkill_set_sw_state(asus->wlan.rfkill, blocked); in asus_rfkill_hotplug() 2014 pr_err("Error removing rfkill notify handler %s\n", node); in asus_unregister_rfkill_notifier() 2079 * Rfkill devices 2102 static void asus_rfkill_query(struct rfkill *rfkill, void *data) in asus_rfkill_query() argument 2112 rfkill_set_sw_state(priv->rfkill, !result); in asus_rfkill_query() 2149 struct rfkill **rfkill = &arfkill->rfkill; in asus_new_rfkill() local [all …]
|
/linux/arch/arm64/boot/dts/marvell/ |
H A D | cn9130-cf-base.dts | 37 rfkill-m2-gnss { 38 compatible = "rfkill-gpio"; 41 /* rfkill-gpio inverts internally */ 46 rfkill-m2-wwan { 47 compatible = "rfkill-gpio"; 50 /* rfkill-gpio inverts internally */
|
/linux/arch/arm64/boot/dts/freescale/ |
H A D | imx8mp-nitrogen-som.dtsi | 13 rfkill-bt { 14 compatible = "rfkill-gpio"; 15 label = "rfkill-bluetooth"; 22 rfkill-wlan { 23 compatible = "rfkill-gpio"; 24 label = "rfkill-wlan"; 303 pinctrl_rfkill_bt: rfkill-btgrp { 309 pinctrl_rfkill_wlan: rfkill-wlangrp {
|
/linux/drivers/platform/x86/lenovo/ |
H A D | Kconfig | 10 depends on RFKILL && INPUT 21 rfkill switch, hotkey, fan control and backlight control. 61 depends on RFKILL || RFKILL = n 83 Extra functionality will be available if the rfkill (CONFIG_RFKILL) 86 modular, ALSA and rfkill will also have to be built-in.
|
/linux/drivers/net/wireless/realtek/rtl818x/rtl8187/ |
H A D | rfkill.c | 3 * Linux RFKILL support for RTL8187 7 * Based on the RFKILL handling in the r8187 driver, which is: 18 #include "rfkill.h"
|
/linux/arch/arm64/boot/dts/rockchip/ |
H A D | rk3588-rock-5b.dtsi | 38 rfkill { 39 compatible = "rfkill-gpio"; 40 label = "rfkill-m2-wlan";
|
H A D | rk3588-armsom-w3.dts | 86 rfkill { 87 compatible = "rfkill-gpio"; 88 label = "rfkill-pcie-wlan"; 93 rfkill-bt { 94 compatible = "rfkill-gpio"; 95 label = "rfkill-m2-bt";
|
/linux/drivers/platform/x86/hp/ |
H A D | hp-wmi.c | 30 #include <linux/rfkill.h> 317 static struct rfkill *wifi_rfkill; 318 static struct rfkill *bluetooth_rfkill; 319 static struct rfkill *wwan_rfkill; 324 struct rfkill *rfkill; member 778 rfkill_set_states(rfkill2[i].rfkill, in hp_wmi_rfkill2_refresh() 1225 struct rfkill *rfkill; in hp_wmi_rfkill2_setup() local 1258 rfkill = rfkill_alloc(name, &device->dev, type, in hp_wmi_rfkill2_setup() 1260 if (!rfkill) { in hp_wmi_rfkill2_setup() 1267 rfkill2[rfkill2_count].rfkill = rfkill; in hp_wmi_rfkill2_setup() [all …]
|
/linux/drivers/net/wireless/broadcom/b43legacy/ |
H A D | Makefile | 9 # b43 RFKILL button support 10 b43legacy-y += rfkill.o
|