[PATCH v5 7/7] wifi: ath12k: Add support for disabling rfkill via devicetree

Jérôme de Bretagne via B4 Relay posted 7 patches 1 month, 3 weeks ago
There is a newer version of this series
[PATCH v5 7/7] wifi: ath12k: Add support for disabling rfkill via devicetree
Posted by Jérôme de Bretagne via B4 Relay 1 month, 3 weeks ago
From: Dale Whinham <daleyo@gmail.com>

Some devices (e.g. Microsoft Surface Pro 11) indicate that the rfkill
feature should be disabled by means of an ACPI bitflag.

If ACPI is not being used (i.e. booting using a devicetree) then this
property will not be read and therefore rfkill may be enabled and
the ath12k will be hard-blocked with no way to disable it.

Add a devicetree property that allows to disable the rfkill feature.

Signed-off-by: Dale Whinham <daleyo@gmail.com>
Tested-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
 drivers/net/wireless/ath/ath12k/core.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/wireless/ath/ath12k/core.c b/drivers/net/wireless/ath/ath12k/core.c
index cc352eef1939937ce902bee2fbd9737ca3ab5993..e10073bb975cfd2e9ee418edcc49d0d51cf93de1 100644
--- a/drivers/net/wireless/ath/ath12k/core.c
+++ b/drivers/net/wireless/ath/ath12k/core.c
@@ -77,6 +77,9 @@ static int ath12k_core_rfkill_config(struct ath12k_base *ab)
 	if (ath12k_acpi_get_disable_rfkill(ab))
 		return 0;
 
+	if (of_property_read_bool(ab->dev->of_node, "disable-rfkill"))
+		return 0;
+
 	for (i = 0; i < ab->num_radios; i++) {
 		ar = ab->pdevs[i].ar;
 

-- 
2.47.3


Re: [PATCH v5 7/7] wifi: ath12k: Add support for disabling rfkill via devicetree
Posted by Bryan O'Donoghue 1 month, 2 weeks ago
On 20/12/2025 00:22, Jérôme de Bretagne via B4 Relay wrote:
> From: Dale Whinham <daleyo@gmail.com>
> 
> Some devices (e.g. Microsoft Surface Pro 11) indicate that the rfkill
> feature should be disabled by means of an ACPI bitflag.
> 
> If ACPI is not being used (i.e. booting using a devicetree) then this
> property will not be read and therefore rfkill may be enabled and
> the ath12k will be hard-blocked with no way to disable it.
> 
> Add a devicetree property that allows to disable the rfkill feature.
> 
> Signed-off-by: Dale Whinham <daleyo@gmail.com>
> Tested-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> ---
>   drivers/net/wireless/ath/ath12k/core.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/net/wireless/ath/ath12k/core.c b/drivers/net/wireless/ath/ath12k/core.c
> index cc352eef1939937ce902bee2fbd9737ca3ab5993..e10073bb975cfd2e9ee418edcc49d0d51cf93de1 100644
> --- a/drivers/net/wireless/ath/ath12k/core.c
> +++ b/drivers/net/wireless/ath/ath12k/core.c
> @@ -77,6 +77,9 @@ static int ath12k_core_rfkill_config(struct ath12k_base *ab)
>   	if (ath12k_acpi_get_disable_rfkill(ab))
>   		return 0;
> 
> +	if (of_property_read_bool(ab->dev->of_node, "disable-rfkill"))
> +		return 0;
> +
>   	for (i = 0; i < ab->num_radios; i++) {
>   		ar = ab->pdevs[i].ar;
> 
> 
> --
> 2.47.3
> 
> 
> 

Just maintain a list of devices with the quirk. disable-rfkill won't fly 
because it doesn't describe hardware and DT != ACPI that way.

---
bod