[PATCH 1/5] soc: renesas: rz-sysc: Make power sequencer auxiliary device name SoC specific

From: Prabhakar

Date: Tue Sep 29 2026 - 08:33:23 EST


From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>

The SYS driver currently creates the power sequencer auxiliary device with
a hard-coded name, which prevents SoCs with different power sequencer
configurations from selecting their own targets and consumer match
callback.

Make the auxiliary device name part of the SoC-specific initialization
data and use it when creating the auxiliary device. Set the existing
RZ/G3L configuration to "pwrseq-pwrrdy".

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>
---
drivers/soc/renesas/r9a08g046-sysc.c | 1 +
drivers/soc/renesas/rz-sysc.c | 6 ++++--
drivers/soc/renesas/rz-sysc.h | 2 ++
3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/soc/renesas/r9a08g046-sysc.c b/drivers/soc/renesas/r9a08g046-sysc.c
index cd129c727461..4faaa511f41b 100644
--- a/drivers/soc/renesas/r9a08g046-sysc.c
+++ b/drivers/soc/renesas/r9a08g046-sysc.c
@@ -77,6 +77,7 @@ static const struct rz_sysc_soc_id_init_data rzg3l_sysc_soc_id_init_data __initc
.revision_mask = GENMASK(31, 28),
.specific_id_mask = GENMASK(27, 0),
.pwrrdy_pwrseq = true,
+ .pwrseq_aux_devname = "pwrseq-pwrrdy",
};

const struct rz_sysc_init_data rzg3l_sysc_init_data __initconst = {
diff --git a/drivers/soc/renesas/rz-sysc.c b/drivers/soc/renesas/rz-sysc.c
index 0e92c415d4be..05f04dd3c94e 100644
--- a/drivers/soc/renesas/rz-sysc.c
+++ b/drivers/soc/renesas/rz-sysc.c
@@ -107,6 +107,7 @@ MODULE_DEVICE_TABLE(of, rz_sysc_match);

static int rz_sysc_probe(struct platform_device *pdev)
{
+ const struct rz_sysc_soc_id_init_data *soc_data;
const struct rz_sysc_init_data *data;
const struct of_device_id *match;
struct device *dev = &pdev->dev;
@@ -150,8 +151,9 @@ static int rz_sysc_probe(struct platform_device *pdev)
if (IS_ERR(regmap))
return PTR_ERR(regmap);

- if (data->soc_id_init_data->pwrrdy_pwrseq &&
- !devm_auxiliary_device_create(dev, "pwrseq-pwrrdy", regmap))
+ soc_data = data->soc_id_init_data;
+ if (soc_data->pwrrdy_pwrseq &&
+ !devm_auxiliary_device_create(dev, soc_data->pwrseq_aux_devname, regmap))
return -ENODEV;

return of_syscon_register_regmap(dev->of_node, regmap);
diff --git a/drivers/soc/renesas/rz-sysc.h b/drivers/soc/renesas/rz-sysc.h
index e55f3258d703..b9665071cf4e 100644
--- a/drivers/soc/renesas/rz-sysc.h
+++ b/drivers/soc/renesas/rz-sysc.h
@@ -21,6 +21,7 @@
* @specific_id_mask: SYSC SoC ID specific ID mask
* @print_id: print SoC-specific extended device identification
* @pwrrdy_pwrseq: has pwrrdy register controlled through power sequencer
+ * @pwrseq_aux_devname: Auxiliary device name associated with the SoC
*/
struct rz_sysc_soc_id_init_data {
const char * const family;
@@ -31,6 +32,7 @@ struct rz_sysc_soc_id_init_data {
void (*print_id)(struct device *dev, void __iomem *sysc_base,
struct soc_device_attribute *soc_dev_attr);
bool pwrrdy_pwrseq;
+ const char * const pwrseq_aux_devname;
};

/**
--
2.55.0