forked from Ivasoft/openwrt
kernel: bump 5.10 to 5.10.77
Deleted (upstreamed): bcm53xx/patches-5.10/081-v5.15-Revert-pinctrl-bcm-ns-support-updated-DT-binding-as-.patch [1] [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.10.y&id=01c2881bb0e0a71b87ca425e1b763ac13855aa7e Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
This commit is contained in:
committed by
Hauke Mehrtens
parent
e37dffbf35
commit
4b26ba4155
@@ -1,106 +0,0 @@
|
||||
From 6dba4bdfd7a30e77b848a45404b224588bf989e5 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Fri, 8 Oct 2021 22:59:38 +0200
|
||||
Subject: [PATCH] Revert "pinctrl: bcm: ns: support updated DT binding as
|
||||
syscon subnode"
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This reverts commit a49d784d5a8272d0f63c448fe8dc69e589db006e.
|
||||
|
||||
The updated binding was wrong / invalid and has been reverted. There
|
||||
isn't any upstream kernel DTS using it and Broadcom isn't known to use
|
||||
it neither. There is close to zero chance this will cause regression for
|
||||
anyone.
|
||||
|
||||
Actually in-kernel bcm5301x.dtsi still uses the old good binding and so
|
||||
it's broken since the driver update. This revert fixes it.
|
||||
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Link: https://lore.kernel.org/r/20211008205938.29925-3-zajec5@gmail.com
|
||||
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
---
|
||||
drivers/pinctrl/bcm/pinctrl-ns.c | 29 ++++++++++-------------------
|
||||
1 file changed, 10 insertions(+), 19 deletions(-)
|
||||
|
||||
--- a/drivers/pinctrl/bcm/pinctrl-ns.c
|
||||
+++ b/drivers/pinctrl/bcm/pinctrl-ns.c
|
||||
@@ -5,7 +5,6 @@
|
||||
|
||||
#include <linux/err.h>
|
||||
#include <linux/io.h>
|
||||
-#include <linux/mfd/syscon.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_device.h>
|
||||
@@ -13,7 +12,6 @@
|
||||
#include <linux/pinctrl/pinctrl.h>
|
||||
#include <linux/pinctrl/pinmux.h>
|
||||
#include <linux/platform_device.h>
|
||||
-#include <linux/regmap.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
#define FLAG_BCM4708 BIT(1)
|
||||
@@ -24,8 +22,7 @@ struct ns_pinctrl {
|
||||
struct device *dev;
|
||||
unsigned int chipset_flag;
|
||||
struct pinctrl_dev *pctldev;
|
||||
- struct regmap *regmap;
|
||||
- u32 offset;
|
||||
+ void __iomem *base;
|
||||
|
||||
struct pinctrl_desc pctldesc;
|
||||
struct ns_pinctrl_group *groups;
|
||||
@@ -232,9 +229,9 @@ static int ns_pinctrl_set_mux(struct pin
|
||||
unset |= BIT(pin_number);
|
||||
}
|
||||
|
||||
- regmap_read(ns_pinctrl->regmap, ns_pinctrl->offset, &tmp);
|
||||
+ tmp = readl(ns_pinctrl->base);
|
||||
tmp &= ~unset;
|
||||
- regmap_write(ns_pinctrl->regmap, ns_pinctrl->offset, tmp);
|
||||
+ writel(tmp, ns_pinctrl->base);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -266,13 +263,13 @@ static const struct of_device_id ns_pinc
|
||||
static int ns_pinctrl_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device *dev = &pdev->dev;
|
||||
- struct device_node *np = dev->of_node;
|
||||
const struct of_device_id *of_id;
|
||||
struct ns_pinctrl *ns_pinctrl;
|
||||
struct pinctrl_desc *pctldesc;
|
||||
struct pinctrl_pin_desc *pin;
|
||||
struct ns_pinctrl_group *group;
|
||||
struct ns_pinctrl_function *function;
|
||||
+ struct resource *res;
|
||||
int i;
|
||||
|
||||
ns_pinctrl = devm_kzalloc(dev, sizeof(*ns_pinctrl), GFP_KERNEL);
|
||||
@@ -290,18 +287,12 @@ static int ns_pinctrl_probe(struct platf
|
||||
return -EINVAL;
|
||||
ns_pinctrl->chipset_flag = (uintptr_t)of_id->data;
|
||||
|
||||
- ns_pinctrl->regmap = syscon_node_to_regmap(of_get_parent(np));
|
||||
- if (IS_ERR(ns_pinctrl->regmap)) {
|
||||
- int err = PTR_ERR(ns_pinctrl->regmap);
|
||||
-
|
||||
- dev_err(dev, "Failed to map pinctrl regs: %d\n", err);
|
||||
-
|
||||
- return err;
|
||||
- }
|
||||
-
|
||||
- if (of_property_read_u32(np, "offset", &ns_pinctrl->offset)) {
|
||||
- dev_err(dev, "Failed to get register offset\n");
|
||||
- return -ENOENT;
|
||||
+ res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
|
||||
+ "cru_gpio_control");
|
||||
+ ns_pinctrl->base = devm_ioremap_resource(dev, res);
|
||||
+ if (IS_ERR(ns_pinctrl->base)) {
|
||||
+ dev_err(dev, "Failed to map pinctrl regs\n");
|
||||
+ return PTR_ERR(ns_pinctrl->base);
|
||||
}
|
||||
|
||||
memcpy(pctldesc, &ns_pinctrl_desc, sizeof(*pctldesc));
|
||||
Reference in New Issue
Block a user