lkml.org 
[lkml]   [2022]   [May]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/3] pinctrl: sunxi: Remove reset controller consumers
    Date
    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>
    ---

    drivers/pinctrl/sunxi/Kconfig | 3 ---
    drivers/pinctrl/sunxi/pinctrl-sun50i-a64-r.c | 1 -
    drivers/pinctrl/sunxi/pinctrl-sun50i-h6-r.c | 1 -
    drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c | 1 -
    drivers/pinctrl/sunxi/pinctrl-sun6i-a31-r.c | 22 +---------------
    drivers/pinctrl/sunxi/pinctrl-sun8i-a23-r.c | 25 +------------------
    drivers/pinctrl/sunxi/pinctrl-sun8i-a83t-r.c | 1 -
    drivers/pinctrl/sunxi/pinctrl-sun9i-a80-r.c | 1 -
    8 files changed, 2 insertions(+), 53 deletions(-)

    diff --git a/drivers/pinctrl/sunxi/Kconfig b/drivers/pinctrl/sunxi/Kconfig
    index 33751a6a0757..7a7bcdc198a3 100644
    --- a/drivers/pinctrl/sunxi/Kconfig
    +++ b/drivers/pinctrl/sunxi/Kconfig
    @@ -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
    diff --git a/drivers/pinctrl/sunxi/pinctrl-sun50i-a64-r.c b/drivers/pinctrl/sunxi/pinctrl-sun50i-a64-r.c
    index e69c8dae121a..ef261eccda56 100644
    --- a/drivers/pinctrl/sunxi/pinctrl-sun50i-a64-r.c
    +++ b/drivers/pinctrl/sunxi/pinctrl-sun50i-a64-r.c
    @@ -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"

    diff --git a/drivers/pinctrl/sunxi/pinctrl-sun50i-h6-r.c b/drivers/pinctrl/sunxi/pinctrl-sun50i-h6-r.c
    index c7d90c44e87a..487a76c45f7e 100644
    --- a/drivers/pinctrl/sunxi/pinctrl-sun50i-h6-r.c
    +++ b/drivers/pinctrl/sunxi/pinctrl-sun50i-h6-r.c
    @@ -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"

    diff --git a/drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c b/drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c
    index 8e4f10ab96ce..c39ea46046c2 100644
    --- a/drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c
    +++ b/drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c
    @@ -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"

    diff --git a/drivers/pinctrl/sunxi/pinctrl-sun6i-a31-r.c b/drivers/pinctrl/sunxi/pinctrl-sun6i-a31-r.c
    index a00246d3dd49..2486cdf345e1 100644
    --- a/drivers/pinctrl/sunxi/pinctrl-sun6i-a31-r.c
    +++ b/drivers/pinctrl/sunxi/pinctrl-sun6i-a31-r.c
    @@ -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[] = {
    diff --git a/drivers/pinctrl/sunxi/pinctrl-sun8i-a23-r.c b/drivers/pinctrl/sunxi/pinctrl-sun8i-a23-r.c
    index 9e5b61449999..4fae12c905b7 100644
    --- a/drivers/pinctrl/sunxi/pinctrl-sun8i-a23-r.c
    +++ b/drivers/pinctrl/sunxi/pinctrl-sun8i-a23-r.c
    @@ -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[] = {
    diff --git a/drivers/pinctrl/sunxi/pinctrl-sun8i-a83t-r.c b/drivers/pinctrl/sunxi/pinctrl-sun8i-a83t-r.c
    index 6531cf67958e..0cb6c1a970c9 100644
    --- a/drivers/pinctrl/sunxi/pinctrl-sun8i-a83t-r.c
    +++ b/drivers/pinctrl/sunxi/pinctrl-sun8i-a83t-r.c
    @@ -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"

    diff --git a/drivers/pinctrl/sunxi/pinctrl-sun9i-a80-r.c b/drivers/pinctrl/sunxi/pinctrl-sun9i-a80-r.c
    index a191a65217ac..f11cb5bba0f7 100644
    --- a/drivers/pinctrl/sunxi/pinctrl-sun9i-a80-r.c
    +++ b/drivers/pinctrl/sunxi/pinctrl-sun9i-a80-r.c
    @@ -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"

    --
    2.35.1
    \
     
     \ /
      Last update: 2022-05-31 07:37    [W:3.504 / U:0.620 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site