Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp2822905pxb; Mon, 1 Nov 2021 02:32:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwPM2fQ3ubFqDg9cZqhTgs2jLOmmPAFP+VjhV1vz0sThsmL5iISkay11MJmlMaQV8TJ7bRd X-Received: by 2002:a17:907:d07:: with SMTP id gn7mr33604990ejc.272.1635759179426; Mon, 01 Nov 2021 02:32:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635759179; cv=none; d=google.com; s=arc-20160816; b=rUHd0v7jde4U6hG10IxqNwtcBSpB5FA1qMxr8NWJlBhGH7VqzM8sKlYKABCAGPyHnB k1qvD7h0/uE4W64YSAG6lWqg/mUOp55WUOED96H0pt+hHngSvzG19DLW1Pb1hTtlV7UZ fxPc3vI3Vb4A6Bv5DieTy8RcENPjoBFsdjV+Rq3LPYTcfCVRMGUVVKioMGkc+ANn+HyV i80blcy16QXZHetG/6qa5wPcX12BZ8ThETPkfGbkk8bROBy/VX0WkQLgbJEd2W0JDAJH GQviS44A7ivEpLQq1W+GmDBZK/vRUODPJf57/TTo1N1w4e1rvVYr0Pif5j0n9dTGXPzB JWMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=bQCfg5SG1EhXviMjfQl7/DctIJ+OEWTRNfq+EkUl938=; b=RMwP/my/lX0YX+OL9C/VA4xzLAgdnL92GGd9f2SWBC0c0CMtIF3rdObGI1jj6DFFyx ioEbanXhpAisoAxuvGcyzPbLD30uHOn7IV10f0pXKkyC5aIMXFyJJqMOLpO7a+DXrNqx s2npdA4oUbitF/pZhMZJ4m9ZdSEZTEi6pzi2lRFmI98FdeSoduht7QKHezbbO6qMQ23w L8G4mxo2FBW3toRUefT4eWp4P2f9NTt3WK3btlyz5ybbhV0Tdw+F+118OKyRe5yiXzLa MN4N+3ZE3sAim6ukvenMR+Oh6aWfoq7Q7Sd80NGvgGQj/EIH84wwm98dufX1+1qNT8zD 1pPw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nhiacxf6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w7si20630075ejy.356.2021.11.01.02.32.36; Mon, 01 Nov 2021 02:32:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nhiacxf6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232296AbhKAJbD (ORCPT + 99 others); Mon, 1 Nov 2021 05:31:03 -0400 Received: from mail.kernel.org ([198.145.29.99]:58580 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232198AbhKAJ05 (ORCPT ); Mon, 1 Nov 2021 05:26:57 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 346D36115B; Mon, 1 Nov 2021 09:22:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1635758550; bh=3Wz2oQ5ODzrXuaXYIO4ceHW9s5XR2RXg5ILDM9NdOuU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nhiacxf6D17MGI0fFUguhO7Nj1uR23HOc1nv2cKTkiqz00Yb1mXPzNJg5i+cqrWh9 pa3aZPN7cbjSEwKR1VNmpcfZsKfn/6+Fq2vrUlmgzQv6n5t6FdPQA1LhzEZ4lEvQ3F WEqtrXs1eSZ7RXOzr6FPjn1BhTdCsUQxMR6qR+Ys= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= , Linus Walleij Subject: [PATCH 5.4 10/51] Revert "pinctrl: bcm: ns: support updated DT binding as syscon subnode" Date: Mon, 1 Nov 2021 10:17:14 +0100 Message-Id: <20211101082502.363941616@linuxfoundation.org> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211101082500.203657870@linuxfoundation.org> References: <20211101082500.203657870@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Rafał Miłecki commit 6dba4bdfd7a30e77b848a45404b224588bf989e5 upstream. 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 Link: https://lore.kernel.org/r/20211008205938.29925-3-zajec5@gmail.com Signed-off-by: Linus Walleij Signed-off-by: Greg Kroah-Hartman --- 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 #include -#include #include #include #include @@ -13,7 +12,6 @@ #include #include #include -#include #include #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));