pinctrl: sunxi: Remove reset controller consumers
authorSamuel Holland <samuel@sholland.org>
Tue, 31 May 2022 05:36:21 +0000 (00:36 -0500)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 15 Jun 2022 13:54:37 +0000 (15:54 +0200)
None of the sunxi pin controllers have a module reset line. All of the
SoC documentation, where available, agrees. The bits that would be used
for the PIO reset (i.e. matching the order of the clock gate bits) are
always reserved, both in the CCU and in the PRCM. And experiments on
several SoCs, including the A33, confirm that those reserved bits indeed
have no effect.

Let's remove this superfluous code and dependency, and also remove the
include statement that was copied to the other r_pio drivers.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20220531053623.43851-2-samuel@sholland.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/sunxi/Kconfig
drivers/pinctrl/sunxi/pinctrl-sun50i-a64-r.c
drivers/pinctrl/sunxi/pinctrl-sun50i-h6-r.c
drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c
drivers/pinctrl/sunxi/pinctrl-sun6i-a31-r.c
drivers/pinctrl/sunxi/pinctrl-sun8i-a23-r.c
drivers/pinctrl/sunxi/pinctrl-sun8i-a83t-r.c
drivers/pinctrl/sunxi/pinctrl-sun9i-a80-r.c

index 33751a6a075728f24c4c618008fa49bbfae62965..7a7bcdc198a308a6348b368b76e4e74061abd069 100644 (file)
@@ -29,7 +29,6 @@ config PINCTRL_SUN6I_A31
 config PINCTRL_SUN6I_A31_R
        bool "Support for the Allwinner A31 R-PIO"
        default MACH_SUN6I
-       depends on RESET_CONTROLLER
        select PINCTRL_SUNXI
 
 config PINCTRL_SUN8I_A23
@@ -55,7 +54,6 @@ config PINCTRL_SUN8I_A83T_R
 config PINCTRL_SUN8I_A23_R
        bool "Support for the Allwinner A23 and A33 R-PIO"
        default MACH_SUN8I
-       depends on RESET_CONTROLLER
        select PINCTRL_SUNXI
 
 config PINCTRL_SUN8I_H3
@@ -81,7 +79,6 @@ config PINCTRL_SUN9I_A80
 config PINCTRL_SUN9I_A80_R
        bool "Support for the Allwinner A80 R-PIO"
        default MACH_SUN9I
-       depends on RESET_CONTROLLER
        select PINCTRL_SUNXI
 
 config PINCTRL_SUN50I_A64
index e69c8dae121adee35b7ff721abab3d9d4141ff28..ef261eccda561af2aa5dd3f352abc0c9ac302caf 100644 (file)
@@ -24,7 +24,6 @@
 #include <linux/of_device.h>
 #include <linux/pinctrl/pinctrl.h>
 #include <linux/platform_device.h>
-#include <linux/reset.h>
 
 #include "pinctrl-sunxi.h"
 
index c7d90c44e87aa77ab2c035a6e0cdadc5d4ca3d96..487a76c45f7e8977b88a127e16e814c67eeec8ad 100644 (file)
@@ -16,7 +16,6 @@
 #include <linux/of.h>
 #include <linux/of_device.h>
 #include <linux/pinctrl/pinctrl.h>
-#include <linux/reset.h>
 
 #include "pinctrl-sunxi.h"
 
index 8e4f10ab96ced6873c04a1eb42002242476133b3..c39ea46046c2aa8ea4f7b38b2969972a51601a8c 100644 (file)
@@ -12,7 +12,6 @@
 #include <linux/of.h>
 #include <linux/of_device.h>
 #include <linux/pinctrl/pinctrl.h>
-#include <linux/reset.h>
 
 #include "pinctrl-sunxi.h"
 
index a00246d3dd49700de4eb81ef14843f10629a5604..2486cdf345e15d77ffbf057fa065d091b0b01d6d 100644 (file)
@@ -17,7 +17,6 @@
 #include <linux/of.h>
 #include <linux/of_device.h>
 #include <linux/pinctrl/pinctrl.h>
-#include <linux/reset.h>
 
 #include "pinctrl-sunxi.h"
 
@@ -111,26 +110,7 @@ static const struct sunxi_pinctrl_desc sun6i_a31_r_pinctrl_data = {
 
 static int sun6i_a31_r_pinctrl_probe(struct platform_device *pdev)
 {
-       struct reset_control *rstc;
-       int ret;
-
-       rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL);
-       if (IS_ERR(rstc)) {
-               dev_err(&pdev->dev, "Reset controller missing\n");
-               return PTR_ERR(rstc);
-       }
-
-       ret = reset_control_deassert(rstc);
-       if (ret)
-               return ret;
-
-       ret = sunxi_pinctrl_init(pdev,
-                                &sun6i_a31_r_pinctrl_data);
-
-       if (ret)
-               reset_control_assert(rstc);
-
-       return ret;
+       return sunxi_pinctrl_init(pdev, &sun6i_a31_r_pinctrl_data);
 }
 
 static const struct of_device_id sun6i_a31_r_pinctrl_match[] = {
index 9e5b61449999adbd2a895b8e3d85cc90093950bd..4fae12c905b784720dfc79d524bece3b7685dd39 100644 (file)
@@ -20,7 +20,6 @@
 #include <linux/of.h>
 #include <linux/of_device.h>
 #include <linux/pinctrl/pinctrl.h>
-#include <linux/reset.h>
 
 #include "pinctrl-sunxi.h"
 
@@ -98,29 +97,7 @@ static const struct sunxi_pinctrl_desc sun8i_a23_r_pinctrl_data = {
 
 static int sun8i_a23_r_pinctrl_probe(struct platform_device *pdev)
 {
-       struct reset_control *rstc;
-       int ret;
-
-       rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL);
-       if (IS_ERR(rstc)) {
-               ret = PTR_ERR(rstc);
-               if (ret == -EPROBE_DEFER)
-                       return ret;
-               dev_err(&pdev->dev, "Reset controller missing err=%d\n", ret);
-               return ret;
-       }
-
-       ret = reset_control_deassert(rstc);
-       if (ret)
-               return ret;
-
-       ret = sunxi_pinctrl_init(pdev,
-                                &sun8i_a23_r_pinctrl_data);
-
-       if (ret)
-               reset_control_assert(rstc);
-
-       return ret;
+       return sunxi_pinctrl_init(pdev, &sun8i_a23_r_pinctrl_data);
 }
 
 static const struct of_device_id sun8i_a23_r_pinctrl_match[] = {
index 6531cf67958ed07ddaf457558efe48c3793d15aa..0cb6c1a970c95f06e892df51dc2fbd688a72b22a 100644 (file)
@@ -27,7 +27,6 @@
 #include <linux/of_device.h>
 #include <linux/pinctrl/pinctrl.h>
 #include <linux/platform_device.h>
-#include <linux/reset.h>
 
 #include "pinctrl-sunxi.h"
 
index a191a65217ac2e9dc344286d752ebe13c4d947a1..f11cb5bba0f74428bfe19f2f1ca025b69279d057 100644 (file)
@@ -14,7 +14,6 @@
 #include <linux/of.h>
 #include <linux/of_device.h>
 #include <linux/pinctrl/pinctrl.h>
-#include <linux/reset.h>
 
 #include "pinctrl-sunxi.h"