Re: [PATCH v3 4/6] pmdomain: renesas: Add R-Car X5H MDLC driver
Geert Uytterhoeven <[email protected]> Thu, 6 Aug 2026 10:58:32 +0200
| Newsgroups | org.kernel.vger.linux-clk,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm,org.kernel.vger.linux-renesas-soc |
|---|---|
| Message-ID | <CAMuHMdX3mUVq5HAOcoLxf8_=ALKe_j-0uSTTORA_KyiOq1Bgiw@mail.gmail.com> |
Hi Philipp, On Thu, 6 Aug 2026 at 10:13, Philipp Zabel <[email protected]> wrote: > On Mi, 2026-08-05 at 17:20 +0200, Geert Uytterhoeven wrote: > > Add a minimal Module Controller driver for the R-Car X5H (R8A78000) SoC. > > For now this just supports the always-on power domains, and dummy module > > clocks and resets for the serial console (which is enabled by the boot > > loader). > > > > Signed-off-by: Geert Uytterhoeven <[email protected]> > > --- > > v3: > > - Replace <linux/mod_devicetable.h> by more specific > > <linux/device-id/of.h> in v7.2-rc2, > > - Add a comment to document only always-on domains are supported, > > - Consistently use /* sentinel */ for zero sentinels, > > - Drop trailing commas from sentinels, > > > > v2: > > - Spin off from "pmdomain: renesas: Add R-Car X5H MDLC SCMI remapping > > driver", > > - Add default support not using SCMI, > > - Drop all SCMI remapping support, > > - Document use of -1 as a sentinel, > > - Rename struct r8a78000_mdlc_info to mdlc_info, > > - Print HW IDs in hexadecimal, > > - Reduce log level for unsupported MDLC instances from warn to dbg, > > --- > > drivers/pmdomain/renesas/Kconfig | 4 + > > drivers/pmdomain/renesas/Makefile | 1 + > > drivers/pmdomain/renesas/r8a78000-mdlc.c | 330 +++++++++++++++++++++++ > > drivers/soc/renesas/Kconfig | 1 + > > 4 files changed, 336 insertions(+) > > create mode 100644 drivers/pmdomain/renesas/r8a78000-mdlc.c > > > > diff --git a/drivers/pmdomain/renesas/r8a78000-mdlc.c b/drivers/pmdomain/renesas/r8a78000-mdlc.c > > new file mode 100644 > > index 0000000000000000..5c8acead7cff9bdd > > --- /dev/null > > +++ b/drivers/pmdomain/renesas/r8a78000-mdlc.c > > @@ -0,0 +1,330 @@ > [...] > > +#define DEFINE_MDLC_RESET_WRAPPER(op) \ > > + static int r8a78000_mdlc_ ## op(struct reset_controller_dev *rcdev, \ > > + unsigned long id) \ > > + { \ > > + struct r8a78000_mdlc_priv *priv = rcdev_to_priv(rcdev); \ > > + \ > > + dev_dbg(priv->dev, "%s: Ignoring\n", __func__); \ > > + return 0; \ > > + } > > + > > +DEFINE_MDLC_RESET_WRAPPER(reset) > > +DEFINE_MDLC_RESET_WRAPPER(assert) > > +DEFINE_MDLC_RESET_WRAPPER(deassert) > > +DEFINE_MDLC_RESET_WRAPPER(status) > > + > > +static const struct reset_control_ops r8a78000_mdlc_reset_ops = { > > + .reset = r8a78000_mdlc_reset, > > + .assert = r8a78000_mdlc_assert, > > + .deassert = r8a78000_mdlc_deassert, > > + .status = r8a78000_mdlc_status, > > Are .reset and .status needed by any consumers? > I'd leave them -ENOTSUPP otherwise. .reset is used by a variety of R-Car drivers. .status is used by the R-Car I2C and PCIe drivers. So both will be used later. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected] In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds