Home
last modified time | relevance | path

Searched refs:rfkill (Results 1 – 25 of 88) sorted by relevance

1234

/linux-6.12.1/include/linux/
Drfkill.h41 struct rfkill;
62 void (*poll)(struct rfkill *rfkill, void *data);
63 void (*query)(struct rfkill *rfkill, void *data);
79 struct rfkill * __must_check rfkill_alloc(const char *name,
100 int __must_check rfkill_register(struct rfkill *rfkill);
110 void rfkill_pause_polling(struct rfkill *rfkill);
119 void rfkill_resume_polling(struct rfkill *rfkill);
130 void rfkill_unregister(struct rfkill *rfkill);
138 void rfkill_destroy(struct rfkill *rfkill);
149 bool rfkill_set_hw_state_reason(struct rfkill *rfkill,
[all …]
/linux-6.12.1/net/rfkill/
Dcore.c37 struct rfkill { struct
69 #define to_rfkill(d) container_of(d, struct rfkill, dev) argument
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()
129 if (rfkill->state & RFKILL_BLOCK_ANY) in rfkill_led_trigger_event()
137 struct rfkill *rfkill; in rfkill_led_trigger_activate() local
139 rfkill = container_of(led->trigger, struct rfkill, led_trigger); in rfkill_led_trigger_activate()
141 rfkill_led_trigger_event(rfkill); in rfkill_led_trigger_activate()
146 const char *rfkill_get_led_trigger_name(struct rfkill *rfkill) in rfkill_get_led_trigger_name() argument
[all …]
Drfkill-gpio.c25 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 clk_enable(rfkill->clk); in rfkill_gpio_set_power()
38 gpiod_set_value_cansleep(rfkill->shutdown_gpio, !blocked); in rfkill_gpio_set_power()
39 gpiod_set_value_cansleep(rfkill->reset_gpio, !blocked); in rfkill_gpio_set_power()
41 if (blocked && !IS_ERR(rfkill->clk) && rfkill->clk_enabled) in rfkill_gpio_set_power()
42 clk_disable(rfkill->clk); in rfkill_gpio_set_power()
44 rfkill->clk_enabled = !blocked; in rfkill_gpio_set_power()
63 struct rfkill_gpio_data *rfkill) in rfkill_gpio_acpi_probe() argument
[all …]
DMakefile6 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
/linux-6.12.1/Documentation/ABI/stable/
Dsysfs-class-rfkill1 rfkill - radio frequency (RF) connector kill switch support
3 For details to this subsystem look at Documentation/driver-api/rfkill.rst.
5 For the deprecated ``/sys/class/rfkill/*/claim`` knobs of this interface look in
6 Documentation/ABI/removed/sysfs-class-rfkill.
8 What: /sys/class/rfkill
12 Description: The rfkill class subsystem folder.
13 Each registered rfkill driver is represented by an rfkillX
17 What: /sys/class/rfkill/rfkill[0-9]+/name
25 What: /sys/class/rfkill/rfkill[0-9]+/type
30 Values: See include/linux/rfkill.h.
[all …]
/linux-6.12.1/Documentation/driver-api/
Drfkill.rst2 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-6.12.1/drivers/platform/x86/dell/
Ddell-rbtn.c23 struct rfkill *rfkill; member
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()
117 if (rbtn_data->rfkill) 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()
130 ret = rfkill_register(rbtn_data->rfkill); in rbtn_rfkill_init()
132 rfkill_destroy(rbtn_data->rfkill); in rbtn_rfkill_init()
133 rbtn_data->rfkill = NULL; in rbtn_rfkill_init()
144 if (!rbtn_data->rfkill) in rbtn_rfkill_exit()
[all …]
Ddell-laptop.c97 static struct rfkill *wifi_rfkill;
98 static struct rfkill *bluetooth_rfkill;
99 static struct rfkill *wwan_rfkill;
551 static void dell_rfkill_update_sw_state(struct rfkill *rfkill, int radio, in dell_rfkill_update_sw_state() argument
557 int block = rfkill_blocked(rfkill); in dell_rfkill_update_sw_state()
563 rfkill_set_sw_state(rfkill, !!(status & BIT(radio + 16))); in dell_rfkill_update_sw_state()
567 static void dell_rfkill_update_hw_state(struct rfkill *rfkill, int radio, in dell_rfkill_update_hw_state() argument
571 rfkill_set_hw_state(rfkill, !(status & BIT(16))); in dell_rfkill_update_hw_state()
574 static void dell_rfkill_query(struct rfkill *rfkill, void *data) in dell_rfkill_query() argument
597 dell_rfkill_update_hw_state(rfkill, radio, status, hwswitch); in dell_rfkill_query()
/linux-6.12.1/Documentation/ABI/removed/
Dsysfs-class-rfkill1 rfkill - radio frequency (RF) connector kill switch support
3 For details to this subsystem look at Documentation/driver-api/rfkill.rst.
5 What: /sys/class/rfkill/rfkill[0-9]+/claim
10 claim just control over a single rfkill instance.
/linux-6.12.1/drivers/platform/x86/intel/
Doaktrail.c87 static struct rfkill *bt_rfkill;
88 static struct rfkill *gps_rfkill;
89 static struct rfkill *wifi_rfkill;
90 static struct rfkill *wwan_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()
/linux-6.12.1/arch/arm64/boot/dts/marvell/
Dcn9132-clearfog.dts70 rfkill-m2-wlan {
71 compatible = "rfkill-gpio";
76 /* rfkill-gpio inverts internally */
81 rfkill-m2-wlan {
82 compatible = "rfkill-gpio";
87 /* rfkill-gpio inverts internally */
92 rfkill-m2-wwan {
93 compatible = "rfkill-gpio";
98 /* rfkill-gpio inverts internally */
103 rfkill-m2-gnss {
[all …]
Dcn9130-cf-base.dts37 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-6.12.1/drivers/platform/x86/hp/
Dhp-wmi.c282 static struct rfkill *wifi_rfkill;
283 static struct rfkill *bluetooth_rfkill;
284 static struct rfkill *wwan_rfkill;
289 struct rfkill *rfkill; member
682 rfkill_set_states(rfkill2[i].rfkill, in hp_wmi_rfkill2_refresh()
1126 struct rfkill *rfkill; in hp_wmi_rfkill2_setup() local
1159 rfkill = rfkill_alloc(name, &device->dev, type, in hp_wmi_rfkill2_setup()
1161 if (!rfkill) { in hp_wmi_rfkill2_setup()
1168 rfkill2[rfkill2_count].rfkill = rfkill; in hp_wmi_rfkill2_setup()
1170 rfkill_init_sw_state(rfkill, in hp_wmi_rfkill2_setup()
[all …]
/linux-6.12.1/drivers/platform/x86/
Dsamsung-laptop.c322 struct rfkill *rfkill; member
618 static void swsmi_rfkill_query(struct rfkill *rfkill, void *priv) in swsmi_rfkill_query() argument
636 rfkill_set_sw_state(rfkill, !ret); in swsmi_rfkill_query()
932 if (samsung->wlan.rfkill) { in samsung_rfkill_exit()
933 rfkill_unregister(samsung->wlan.rfkill); in samsung_rfkill_exit()
934 rfkill_destroy(samsung->wlan.rfkill); in samsung_rfkill_exit()
935 samsung->wlan.rfkill = NULL; in samsung_rfkill_exit()
937 if (samsung->bluetooth.rfkill) { in samsung_rfkill_exit()
938 rfkill_unregister(samsung->bluetooth.rfkill); in samsung_rfkill_exit()
939 rfkill_destroy(samsung->bluetooth.rfkill); in samsung_rfkill_exit()
[all …]
Dasus-wmi.c224 struct rfkill *rfkill; member
1875 if (asus->wlan.rfkill) in asus_rfkill_hotplug()
1876 rfkill_set_sw_state(asus->wlan.rfkill, blocked); in asus_rfkill_hotplug()
2059 static void asus_rfkill_query(struct rfkill *rfkill, void *data) in asus_rfkill_query() argument
2069 rfkill_set_sw_state(priv->rfkill, !result); in asus_rfkill_query()
2106 struct rfkill **rfkill = &arfkill->rfkill; in asus_new_rfkill() local
2116 *rfkill = rfkill_alloc(name, &asus->platform_device->dev, type, in asus_new_rfkill()
2119 *rfkill = rfkill_alloc(name, &asus->platform_device->dev, type, in asus_new_rfkill()
2122 if (!*rfkill) in asus_new_rfkill()
2127 rfkill_set_led_trigger_name(*rfkill, "asus-wlan"); in asus_new_rfkill()
[all …]
Dxo1-rfkill.c41 struct rfkill *rfk; in xo1_rfkill_probe()
61 struct rfkill *rfk = platform_get_drvdata(pdev); in xo1_rfkill_remove()
Deeepc-laptop.c165 struct rfkill *wlan_rfkill;
166 struct rfkill *bluetooth_rfkill;
167 struct rfkill *wwan3g_rfkill;
168 struct rfkill *wimax_rfkill;
765 struct rfkill **rfkill, in eeepc_new_rfkill() argument
776 *rfkill = rfkill_alloc(name, &eeepc->platform_device->dev, type, in eeepc_new_rfkill()
779 if (!*rfkill) in eeepc_new_rfkill()
782 rfkill_init_sw_state(*rfkill, get_acpi(eeepc, cm) != 1); in eeepc_new_rfkill()
783 result = rfkill_register(*rfkill); in eeepc_new_rfkill()
785 rfkill_destroy(*rfkill); in eeepc_new_rfkill()
[all …]
Dtoshiba_bluetooth.c31 struct rfkill *rfk;
183 static void bt_rfkill_poll(struct rfkill *rfkill, void *data) in bt_rfkill_poll() argument
Dasus-laptop.c227 struct rfkill *rfkill; member
1282 rfkill_set_sw_state(asus->gps.rfkill, !value); in gps_store()
1324 if (!rfk->rfkill) in asus_rfkill_terminate()
1327 rfkill_unregister(rfk->rfkill); in asus_rfkill_terminate()
1328 rfkill_destroy(rfk->rfkill); in asus_rfkill_terminate()
1329 rfk->rfkill = NULL; in asus_rfkill_terminate()
1348 rfk->rfkill = rfkill_alloc(name, &asus->platform_device->dev, in asus_rfkill_setup()
1350 if (!rfk->rfkill) in asus_rfkill_setup()
1353 result = rfkill_register(rfk->rfkill); in asus_rfkill_setup()
1355 rfkill_destroy(rfk->rfkill); in asus_rfkill_setup()
[all …]
Dmsi-laptop.c110 static struct rfkill *rfk_wlan, *rfk_bluetooth, *rfk_threeg;
773 static bool msi_rfkill_set_state(struct rfkill *rfkill, bool blocked) in msi_rfkill_set_state() argument
776 return rfkill_set_hw_state(rfkill, blocked); in msi_rfkill_set_state()
778 return rfkill_set_sw_state(rfkill, blocked); in msi_rfkill_set_state()
Dcompal-laptop.c353 static void compal_rfkill_poll(struct rfkill *rfkill, void *data) in compal_rfkill_poll() argument
357 rfkill_set_hw_state(rfkill, hw_blocked); in compal_rfkill_poll()
751 static struct rfkill *wifi_rfkill;
752 static struct rfkill *bt_rfkill;
/linux-6.12.1/net/nfc/
Dcore.c102 if (dev->rfkill && rfkill_blocked(dev->rfkill)) { in nfc_dev_up()
1129 dev->rfkill = rfkill_alloc(dev_name(&dev->dev), &dev->dev, in nfc_register_device()
1131 if (dev->rfkill) { in nfc_register_device()
1132 if (rfkill_register(dev->rfkill) < 0) { in nfc_register_device()
1133 rfkill_destroy(dev->rfkill); in nfc_register_device()
1134 dev->rfkill = NULL; in nfc_register_device()
1166 if (dev->rfkill) { in nfc_unregister_device()
1167 rfkill_unregister(dev->rfkill); in nfc_unregister_device()
1168 rfkill_destroy(dev->rfkill); in nfc_unregister_device()
1169 dev->rfkill = NULL; in nfc_unregister_device()
/linux-6.12.1/net/wireless/
Dcore.c220 static void cfg80211_rfkill_poll(struct rfkill *rfkill, void *data) in cfg80211_rfkill_poll() argument
564 rdev->wiphy.rfkill = rfkill_alloc(dev_name(&rdev->wiphy.dev), in wiphy_new_nm()
568 if (!rdev->wiphy.rfkill) { in wiphy_new_nm()
1032 res = rfkill_register(rdev->wiphy.rfkill); in wiphy_register()
1034 rfkill_destroy(rdev->wiphy.rfkill); in wiphy_register()
1035 rdev->wiphy.rfkill = NULL; in wiphy_register()
1051 rfkill_resume_polling(wiphy->rfkill); in wiphy_rfkill_start_polling()
1097 if (rdev->wiphy.rfkill) in wiphy_unregister()
1098 rfkill_unregister(rdev->wiphy.rfkill); in wiphy_unregister()
1157 rfkill_destroy(rdev->wiphy.rfkill); in cfg80211_dev_free()
[all …]
/linux-6.12.1/drivers/net/wireless/realtek/rtl818x/rtl8187/
DMakefile2 rtl8187-objs := dev.o rtl8225.o leds.o rfkill.o
/linux-6.12.1/drivers/net/wireless/broadcom/b43legacy/
DMakefile10 b43legacy-y += rfkill.o

1234