]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ARM: tegra: paz00: Configure WiFi rfkill switch through device tree
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 25 Mar 2026 23:29:54 +0000 (16:29 -0700)
committerThierry Reding <treding@nvidia.com>
Fri, 27 Mar 2026 23:56:36 +0000 (00:56 +0100)
As of d64c732dfc9e ("net: rfkill: gpio: add DT support") rfkill-gpio
device can be instantiated via device tree.

Add the declaration there and drop board-paz00.c file and relevant
Makefile fragments.

Tested-by: Marc Dietrich <marvin24@gmx.de>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
arch/arm/boot/dts/nvidia/tegra20-paz00.dts
arch/arm/mach-tegra/Makefile
arch/arm/mach-tegra/board-paz00.c [deleted file]
arch/arm/mach-tegra/board.h
arch/arm/mach-tegra/tegra.c

index 1408e1e007596e6ce5fda3620e1c67c64b8037c4..d1093ad569e67482b68252210155e254e83c0633 100644 (file)
                enable-active-high;
        };
 
+       rfkill {
+               compatible = "rfkill-gpio";
+               label = "wifi_rfkill";
+               radio-type = "wlan";
+               reset-gpios = <&gpio TEGRA_GPIO(D, 1) GPIO_ACTIVE_HIGH>;
+               shutdown-gpios = <&gpio TEGRA_GPIO(K, 5) GPIO_ACTIVE_HIGH>;
+       };
+
        sound {
                compatible = "nvidia,tegra-audio-alc5632-paz00",
                        "nvidia,tegra-audio-alc5632";
index a2bb55bc0081ccb1914fa5f290ad44b38d2821d0..9e3abb14fbc193635033688b583bb3380ce07580 100644 (file)
@@ -15,5 +15,3 @@ obj-$(CONFIG_HOTPLUG_CPU)               += hotplug.o
 
 obj-$(CONFIG_ARCH_TEGRA_114_SOC)       += pm-tegra30.o
 obj-$(CONFIG_ARCH_TEGRA_124_SOC)       += pm-tegra30.o
-
-obj-$(CONFIG_ARCH_TEGRA_2x_SOC)                += board-paz00.o
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c
deleted file mode 100644 (file)
index 3ec810b..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * arch/arm/mach-tegra/board-paz00.c
- *
- * Copyright (C) 2011 Marc Dietrich <marvin24@gmx.de>
- *
- * Based on board-harmony.c
- * Copyright (C) 2010 Google, Inc.
- */
-
-#include <linux/err.h>
-#include <linux/gpio/machine.h>
-#include <linux/gpio/property.h>
-#include <linux/platform_device.h>
-#include <linux/printk.h>
-#include <linux/property.h>
-
-#include "board.h"
-
-static const struct software_node tegra_gpiochip_node = {
-       .name   = "tegra-gpio",
-};
-
-static const struct property_entry wifi_rfkill_prop[] __initconst = {
-       PROPERTY_ENTRY_STRING("name", "wifi_rfkill"),
-       PROPERTY_ENTRY_STRING("type", "wlan"),
-       PROPERTY_ENTRY_GPIO("reset-gpios",
-                           &tegra_gpiochip_node, 25, GPIO_ACTIVE_HIGH),
-       PROPERTY_ENTRY_GPIO("shutdown-gpios",
-                           &tegra_gpiochip_node, 85, GPIO_ACTIVE_HIGH),
-       { }
-};
-
-static const struct platform_device_info wifi_rfkill_info __initconst = {
-       .name           = "rfkill_gpio",
-       .id             = PLATFORM_DEVID_NONE,
-       .properties     = wifi_rfkill_prop,
-};
-
-void __init tegra_paz00_wifikill_init(void)
-{
-       struct platform_device *pd;
-       int err;
-
-       err = software_node_register(&tegra_gpiochip_node);
-       if (err) {
-               pr_err("failed to register %s node: %d\n",
-                      tegra_gpiochip_node.name, err);
-               return;
-       }
-
-       pd = platform_device_register_full(&wifi_rfkill_info);
-       err = PTR_ERR_OR_ZERO(pd);
-       if (err)
-               pr_err("failed to register WiFi rfkill device: %d\n", err);
-}
index 7b3ef0dc9be104a5e17d2ff115a3a92da4b94416..86c3ea0d6b30424039d46d50b30638d467f73614 100644 (file)
@@ -19,6 +19,4 @@
 void __init tegra_map_common_io(void);
 void __init tegra_init_irq(void);
 
-void __init tegra_paz00_wifikill_init(void);
-
 #endif
index 9ef1dfa7b926a351d7a3e7c2a698dd364ca7f8cc..f324a7e491d85ea526d769e8f2354b0dee293a21 100644 (file)
@@ -83,10 +83,6 @@ static void __init tegra_dt_init(void)
 
 static void __init tegra_dt_init_late(void)
 {
-       if (IS_ENABLED(CONFIG_ARCH_TEGRA_2x_SOC) &&
-           of_machine_is_compatible("compal,paz00"))
-               tegra_paz00_wifikill_init();
-
        if (IS_ENABLED(CONFIG_ARCH_TEGRA_2x_SOC) &&
            of_machine_is_compatible("nvidia,tegra20"))
                platform_device_register_simple("tegra20-cpufreq", -1, NULL, 0);