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 33751a6..7a7bcdc 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 e69c8da..ef261ec 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 c7d90c4..487a76c 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 8e4f10a..c39ea46 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 a00246d..2486cdf 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 9e5b614..4fae12c 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 6531cf6..0cb6c1a 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 a191a65..f11cb5b 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"