All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tomer Maimon <tmaimon77@gmail.com>
To: <avifishman70@gmail.com>, <tali.perry1@gmail.com>,
	<joel@jms.id.au>, <venture@google.com>, <yuenn@google.com>,
	<benjaminfair@google.com>, <robh+dt@kernel.org>,
	<krzysztof.kozlowski+dt@linaro.org>, <mturquette@baylibre.com>,
	<sboyd@kernel.org>, <p.zabel@pengutronix.de>,
	<gregkh@linuxfoundation.org>, <daniel.lezcano@linaro.org>,
	<tglx@linutronix.de>, <wim@linux-watchdog.org>,
	<linux@roeck-us.net>, <catalin.marinas@arm.com>,
	<will@kernel.org>, <arnd@arndb.de>, <olof@lixom.net>,
	<jirislaby@kernel.org>, <shawnguo@kernel.org>,
	<bjorn.andersson@linaro.org>, <geert+renesas@glider.be>,
	<marcel.ziswiler@toradex.com>, <vkoul@kernel.org>,
	<biju.das.jz@bp.renesas.com>, <nobuhiro1.iwamatsu@toshiba.co.jp>,
	<robert.hancock@calian.com>, <j.neuschaefer@gmx.net>,
	<lkundrak@v3.sk>
Cc: <devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-clk@vger.kernel.org>, <linux-serial@vger.kernel.org>,
	<linux-watchdog@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	Tomer Maimon <tmaimon77@gmail.com>
Subject: [PATCH v8 07/16] reset: npcm: using syscon instead of device data
Date: Mon, 11 Jul 2022 15:35:10 +0300	[thread overview]
Message-ID: <20220711123519.217219-8-tmaimon77@gmail.com> (raw)
In-Reply-To: <20220711123519.217219-1-tmaimon77@gmail.com>

Using syscon device tree property instead of device data to handle the
NPCM general control registers.

In case the syscon not found the code still search for nuvoton,npcm750-gcr
to support DTS backward compatibility.

Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
---
 drivers/reset/reset-npcm.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/reset/reset-npcm.c b/drivers/reset/reset-npcm.c
index 2ea4d3136e15..b08f8d8a1d63 100644
--- a/drivers/reset/reset-npcm.c
+++ b/drivers/reset/reset-npcm.c
@@ -138,8 +138,7 @@ static int npcm_reset_xlate(struct reset_controller_dev *rcdev,
 }
 
 static const struct of_device_id npcm_rc_match[] = {
-	{ .compatible = "nuvoton,npcm750-reset",
-		.data = (void *)"nuvoton,npcm750-gcr" },
+	{ .compatible = "nuvoton,npcm750-reset" },
 	{ }
 };
 
@@ -160,10 +159,15 @@ static int npcm_usb_reset(struct platform_device *pdev, struct npcm_rc_data *rc)
 	gcr_dt = (const char *)
 	of_match_device(dev->driver->of_match_table, dev)->data;
 
-	gcr_regmap = syscon_regmap_lookup_by_compatible(gcr_dt);
+	gcr_regmap = syscon_regmap_lookup_by_phandle(dev->of_node, "nuvoton,sysgcr");
 	if (IS_ERR(gcr_regmap)) {
-		dev_err(&pdev->dev, "Failed to find %s\n", gcr_dt);
-		return PTR_ERR(gcr_regmap);
+		dev_warn(&pdev->dev, "Failed to find nuvoton,sysgcr property, please update the device tree\n");
+		dev_info(&pdev->dev, "Using nuvoton,npcm750-gcr for Poleg backward compatibility\n");
+		gcr_regmap = syscon_regmap_lookup_by_compatible("nuvoton,npcm750-gcr");
+		if (IS_ERR(gcr_regmap)) {
+			dev_err(&pdev->dev, "Failed to find nuvoton,npcm750-gcr");
+			return PTR_ERR(gcr_regmap);
+		}
 	}
 
 	/* checking which USB device is enabled */
-- 
2.33.0


WARNING: multiple messages have this Message-ID (diff)
From: Tomer Maimon <tmaimon77@gmail.com>
To: <avifishman70@gmail.com>, <tali.perry1@gmail.com>,
	<joel@jms.id.au>, <venture@google.com>, <yuenn@google.com>,
	<benjaminfair@google.com>, <robh+dt@kernel.org>,
	<krzysztof.kozlowski+dt@linaro.org>, <mturquette@baylibre.com>,
	<sboyd@kernel.org>, <p.zabel@pengutronix.de>,
	<gregkh@linuxfoundation.org>, <daniel.lezcano@linaro.org>,
	<tglx@linutronix.de>, <wim@linux-watchdog.org>,
	<linux@roeck-us.net>, <catalin.marinas@arm.com>,
	<will@kernel.org>, <arnd@arndb.de>, <olof@lixom.net>,
	<jirislaby@kernel.org>, <shawnguo@kernel.org>,
	<bjorn.andersson@linaro.org>, <geert+renesas@glider.be>,
	<marcel.ziswiler@toradex.com>, <vkoul@kernel.org>,
	<biju.das.jz@bp.renesas.com>, <nobuhiro1.iwamatsu@toshiba.co.jp>,
	<robert.hancock@calian.com>, <j.neuschaefer@gmx.net>,
	<lkundrak@v3.sk>
Cc: <devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-clk@vger.kernel.org>, <linux-serial@vger.kernel.org>,
	<linux-watchdog@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	Tomer Maimon <tmaimon77@gmail.com>
Subject: [PATCH v8 07/16] reset: npcm: using syscon instead of device data
Date: Mon, 11 Jul 2022 15:35:10 +0300	[thread overview]
Message-ID: <20220711123519.217219-8-tmaimon77@gmail.com> (raw)
In-Reply-To: <20220711123519.217219-1-tmaimon77@gmail.com>

Using syscon device tree property instead of device data to handle the
NPCM general control registers.

In case the syscon not found the code still search for nuvoton,npcm750-gcr
to support DTS backward compatibility.

Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
---
 drivers/reset/reset-npcm.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/reset/reset-npcm.c b/drivers/reset/reset-npcm.c
index 2ea4d3136e15..b08f8d8a1d63 100644
--- a/drivers/reset/reset-npcm.c
+++ b/drivers/reset/reset-npcm.c
@@ -138,8 +138,7 @@ static int npcm_reset_xlate(struct reset_controller_dev *rcdev,
 }
 
 static const struct of_device_id npcm_rc_match[] = {
-	{ .compatible = "nuvoton,npcm750-reset",
-		.data = (void *)"nuvoton,npcm750-gcr" },
+	{ .compatible = "nuvoton,npcm750-reset" },
 	{ }
 };
 
@@ -160,10 +159,15 @@ static int npcm_usb_reset(struct platform_device *pdev, struct npcm_rc_data *rc)
 	gcr_dt = (const char *)
 	of_match_device(dev->driver->of_match_table, dev)->data;
 
-	gcr_regmap = syscon_regmap_lookup_by_compatible(gcr_dt);
+	gcr_regmap = syscon_regmap_lookup_by_phandle(dev->of_node, "nuvoton,sysgcr");
 	if (IS_ERR(gcr_regmap)) {
-		dev_err(&pdev->dev, "Failed to find %s\n", gcr_dt);
-		return PTR_ERR(gcr_regmap);
+		dev_warn(&pdev->dev, "Failed to find nuvoton,sysgcr property, please update the device tree\n");
+		dev_info(&pdev->dev, "Using nuvoton,npcm750-gcr for Poleg backward compatibility\n");
+		gcr_regmap = syscon_regmap_lookup_by_compatible("nuvoton,npcm750-gcr");
+		if (IS_ERR(gcr_regmap)) {
+			dev_err(&pdev->dev, "Failed to find nuvoton,npcm750-gcr");
+			return PTR_ERR(gcr_regmap);
+		}
 	}
 
 	/* checking which USB device is enabled */
-- 
2.33.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2022-07-11 12:35 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-11 12:35 [PATCH v8 00/16] Introduce Nuvoton Arbel NPCM8XX BMC SoC Tomer Maimon
2022-07-11 12:35 ` Tomer Maimon
2022-07-11 12:35 ` [PATCH v8 01/16] dt-bindings: timer: npcm: Add npcm845 compatible string Tomer Maimon
2022-07-11 12:35   ` Tomer Maimon
2022-07-11 12:35 ` [PATCH v8 02/16] dt-bindings: watchdog: " Tomer Maimon
2022-07-11 12:35   ` Tomer Maimon
2022-07-11 12:35 ` [PATCH v8 03/16] dt-binding: clk: npcm845: Add binding for Nuvoton NPCM8XX Clock Tomer Maimon
2022-07-11 12:35   ` Tomer Maimon
2022-07-11 19:48   ` Stephen Boyd
2022-07-11 19:48     ` Stephen Boyd
2022-07-11 12:35 ` [PATCH v8 04/16] clk: npcm8xx: add clock controller Tomer Maimon
2022-07-11 12:35   ` Tomer Maimon
2022-07-11 19:55   ` Stephen Boyd
2022-07-11 19:55     ` Stephen Boyd
2022-07-12  7:28     ` Tomer Maimon
2022-07-12  7:28       ` Tomer Maimon
2022-07-14 18:23       ` Tomer Maimon
2022-07-14 18:23         ` Tomer Maimon
2022-07-18 19:14       ` Stephen Boyd
2022-07-18 19:14         ` Stephen Boyd
2022-07-19 10:04         ` Tomer Maimon
2022-07-19 10:04           ` Tomer Maimon
2022-07-23  3:02           ` Stephen Boyd
2022-07-23  3:02             ` Stephen Boyd
2022-07-24  9:06             ` Tomer Maimon
2022-07-24  9:06               ` Tomer Maimon
2022-07-29 22:56               ` Stephen Boyd
2022-07-29 22:56                 ` Stephen Boyd
2022-08-04 14:01                 ` Tomer Maimon
2022-08-04 14:01                   ` Tomer Maimon
2022-08-04 20:05                   ` Stephen Boyd
2022-08-04 20:05                     ` Stephen Boyd
2022-08-08 12:37                     ` Tomer Maimon
2022-08-08 12:37                       ` Tomer Maimon
2022-08-08 13:08                       ` Tomer Maimon
2022-08-08 13:08                         ` Tomer Maimon
2022-08-09 18:02                         ` Stephen Boyd
2022-08-09 18:02                           ` Stephen Boyd
2022-07-11 12:35 ` [PATCH v8 05/16] dt-bindings: reset: npcm: add GCR syscon property Tomer Maimon
2022-07-11 12:35   ` Tomer Maimon
2022-07-11 12:35 ` [PATCH v8 06/16] ARM: dts: nuvoton: add reset " Tomer Maimon
2022-07-11 12:35   ` Tomer Maimon
2022-07-11 12:35 ` Tomer Maimon [this message]
2022-07-11 12:35   ` [PATCH v8 07/16] reset: npcm: using syscon instead of device data Tomer Maimon
2022-07-11 12:35 ` [PATCH v8 08/16] dt-bindings: reset: npcm: Add support for NPCM8XX Tomer Maimon
2022-07-11 12:35   ` Tomer Maimon
2022-07-11 12:39   ` Philipp Zabel
2022-07-11 12:39     ` Philipp Zabel
2022-07-11 12:35 ` [PATCH v8 09/16] reset: npcm: Add NPCM8XX support Tomer Maimon
2022-07-11 12:35   ` Tomer Maimon
2022-07-11 12:40   ` Philipp Zabel
2022-07-11 12:40     ` Philipp Zabel
2022-07-11 12:35 ` [PATCH v8 10/16] dt-bindings: arm: npcm: Add maintainer Tomer Maimon
2022-07-11 12:35   ` Tomer Maimon
2022-07-11 12:35 ` [PATCH v8 11/16] dt-bindings: arm: npcm: Add nuvoton,npcm845 compatible string Tomer Maimon
2022-07-11 12:35   ` Tomer Maimon
2022-07-11 12:35 ` [PATCH v8 12/16] dt-bindings: arm: npcm: Add nuvoton,npcm845 GCR " Tomer Maimon
2022-07-11 12:35   ` Tomer Maimon
2022-07-11 12:35 ` [PATCH v8 13/16] arm64: npcm: Add support for Nuvoton NPCM8XX BMC SoC Tomer Maimon
2022-07-11 12:35   ` Tomer Maimon
2022-07-11 12:35 ` [PATCH v8 14/16] arm64: dts: nuvoton: Add initial NPCM8XX device tree Tomer Maimon
2022-07-11 12:35   ` Tomer Maimon
2022-07-11 12:35 ` [PATCH v8 15/16] arm64: dts: nuvoton: Add initial NPCM845 EVB " Tomer Maimon
2022-07-11 12:35   ` Tomer Maimon
2022-07-11 12:35 ` [PATCH v8 16/16] arm64: defconfig: Add Nuvoton NPCM family support Tomer Maimon
2022-07-11 12:35   ` Tomer Maimon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220711123519.217219-8-tmaimon77@gmail.com \
    --to=tmaimon77@gmail.com \
    --cc=arnd@arndb.de \
    --cc=avifishman70@gmail.com \
    --cc=benjaminfair@google.com \
    --cc=biju.das.jz@bp.renesas.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=geert+renesas@glider.be \
    --cc=gregkh@linuxfoundation.org \
    --cc=j.neuschaefer@gmx.net \
    --cc=jirislaby@kernel.org \
    --cc=joel@jms.id.au \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=lkundrak@v3.sk \
    --cc=marcel.ziswiler@toradex.com \
    --cc=mturquette@baylibre.com \
    --cc=nobuhiro1.iwamatsu@toshiba.co.jp \
    --cc=olof@lixom.net \
    --cc=p.zabel@pengutronix.de \
    --cc=robert.hancock@calian.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=shawnguo@kernel.org \
    --cc=tali.perry1@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=venture@google.com \
    --cc=vkoul@kernel.org \
    --cc=will@kernel.org \
    --cc=wim@linux-watchdog.org \
    --cc=yuenn@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.