* [PATCH 0/6] rtc: rzn1: cleanups, no irq support, R-Car Gen5 enablement
@ 2026-09-14 21:18 Wolfram Sang
2026-09-14 21:18 ` [PATCH 1/6] dt-bindings: rtc: rzn1: drop unneeded 'start-year' from example Wolfram Sang
` (5 more replies)
0 siblings, 6 replies; 21+ messages in thread
From: Wolfram Sang @ 2026-09-14 21:18 UTC (permalink / raw)
To: linux-renesas-soc
Cc: Wolfram Sang, Alexandre Belloni, Conor Dooley, devicetree,
Geert Uytterhoeven, Krzysztof Kozlowski, linux-rtc, Magnus Damm,
Miquel Raynal, Rob Herring
The main intention of this series is to enable RTC support for the
Renesas R-Car Gen5 X5H SoC (patches 5+6). Because interrupts are not
wired there, patches to make interrupts optional are included (patches
3+4). Some cleanups I came up with are prepended (patches 1+2).
These patches have been tested on the original RZ/N1D board and the new
X5H Ironhide board. 'rtctest' passed on both SoCs. On X5H, some tests
are skipped, of course, because no alarms are supported.
'dt_binding_check' and 'dtbs_check' also did not find any issues.
A branch can be found here:
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/x5h/rtc-experimental
Looking forward to comments.
Wolfram Sang (6):
dt-bindings: rtc: rzn1: drop unneeded 'start-year' from example
dt-bindings: rtc: rzn1: add SoC names next to their IDs
dt-bindings: rtc: rzn1: interrupts are not required
rtc: rzn1: make interrupts optional
dt-bindings: rtc: rzn1: add R-Car X5H support
rtc: rzn1: add R-Car X5H support
.../bindings/rtc/renesas,rzn1-rtc.yaml | 19 +++---
drivers/rtc/rtc-rzn1.c | 59 +++++++++----------
2 files changed, 38 insertions(+), 40 deletions(-)
--
2.53.0
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 1/6] dt-bindings: rtc: rzn1: drop unneeded 'start-year' from example
2026-09-14 21:18 [PATCH 0/6] rtc: rzn1: cleanups, no irq support, R-Car Gen5 enablement Wolfram Sang
@ 2026-09-14 21:18 ` Wolfram Sang
2026-09-14 21:21 ` sashiko-bot
` (2 more replies)
2026-09-14 21:18 ` [PATCH 2/6] dt-bindings: rtc: rzn1: add SoC names next to their IDs Wolfram Sang
` (4 subsequent siblings)
5 siblings, 3 replies; 21+ messages in thread
From: Wolfram Sang @ 2026-09-14 21:18 UTC (permalink / raw)
To: linux-renesas-soc
Cc: Wolfram Sang, Miquel Raynal, Alexandre Belloni, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
Magnus Damm, linux-rtc, devicetree
We don't use 'start-year' in upstream DTs because the driver does the
right thing by default, ranging from 2000 to 2099. So, drop it from the
example, too.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml | 1 -
1 file changed, 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
index ea7b039a91e7..e96007981c34 100644
--- a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
+++ b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
@@ -91,5 +91,4 @@ examples:
clocks = <&sysctrl R9A06G032_HCLK_RTC>;
clock-names = "hclk";
power-domains = <&sysctrl>;
- start-year = <2000>;
};
--
2.53.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 2/6] dt-bindings: rtc: rzn1: add SoC names next to their IDs
2026-09-14 21:18 [PATCH 0/6] rtc: rzn1: cleanups, no irq support, R-Car Gen5 enablement Wolfram Sang
2026-09-14 21:18 ` [PATCH 1/6] dt-bindings: rtc: rzn1: drop unneeded 'start-year' from example Wolfram Sang
@ 2026-09-14 21:18 ` Wolfram Sang
2026-09-14 21:20 ` sashiko-bot
` (2 more replies)
2026-09-14 21:18 ` [PATCH 3/6] dt-bindings: rtc: rzn1: interrupts are not required Wolfram Sang
` (3 subsequent siblings)
5 siblings, 3 replies; 21+ messages in thread
From: Wolfram Sang @ 2026-09-14 21:18 UTC (permalink / raw)
To: linux-renesas-soc
Cc: Wolfram Sang, Miquel Raynal, Alexandre Belloni, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
Magnus Damm, linux-rtc, devicetree
This helps maintaining because the numbers are easy to confuse.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
.../devicetree/bindings/rtc/renesas,rzn1-rtc.yaml | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
index e96007981c34..7ea77cd0bee1 100644
--- a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
+++ b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
@@ -14,14 +14,14 @@ properties:
oneOf:
- items:
- enum:
- - renesas,r9a06g032-rtc
- - const: renesas,rzn1-rtc
+ - renesas,r9a06g032-rtc # RZ/N1D
+ - const: renesas,rzn1-rtc # RZ/N1
- - const: renesas,r9a09g077-rtc
+ - const: renesas,r9a09g077-rtc # RZ/T2H
- items:
- - const: renesas,r9a09g087-rtc
- - const: renesas,r9a09g077-rtc
+ - const: renesas,r9a09g087-rtc # RZ/N2H
+ - const: renesas,r9a09g077-rtc # RZ/T2H
reg:
maxItems: 1
--
2.53.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 3/6] dt-bindings: rtc: rzn1: interrupts are not required
2026-09-14 21:18 [PATCH 0/6] rtc: rzn1: cleanups, no irq support, R-Car Gen5 enablement Wolfram Sang
2026-09-14 21:18 ` [PATCH 1/6] dt-bindings: rtc: rzn1: drop unneeded 'start-year' from example Wolfram Sang
2026-09-14 21:18 ` [PATCH 2/6] dt-bindings: rtc: rzn1: add SoC names next to their IDs Wolfram Sang
@ 2026-09-14 21:18 ` Wolfram Sang
2026-09-14 21:29 ` sashiko-bot
2026-09-15 9:55 ` Lad, Prabhakar
2026-09-14 21:18 ` [PATCH 4/6] rtc: rzn1: make interrupts optional Wolfram Sang
` (2 subsequent siblings)
5 siblings, 2 replies; 21+ messages in thread
From: Wolfram Sang @ 2026-09-14 21:18 UTC (permalink / raw)
To: linux-renesas-soc
Cc: Wolfram Sang, Miquel Raynal, Alexandre Belloni, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
Magnus Damm, linux-rtc, devicetree
Interrupts are only needed for alarms to work. Reading/Setting the RTC
works fine without interrupts. Drop the requirement for interrupts
because an upcoming SoC does not have interrupts wired.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml | 2 --
1 file changed, 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
index 7ea77cd0bee1..b426a34958d6 100644
--- a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
+++ b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
@@ -52,8 +52,6 @@ properties:
required:
- compatible
- reg
- - interrupts
- - interrupt-names
- clocks
- clock-names
- power-domains
--
2.53.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 4/6] rtc: rzn1: make interrupts optional
2026-09-14 21:18 [PATCH 0/6] rtc: rzn1: cleanups, no irq support, R-Car Gen5 enablement Wolfram Sang
` (2 preceding siblings ...)
2026-09-14 21:18 ` [PATCH 3/6] dt-bindings: rtc: rzn1: interrupts are not required Wolfram Sang
@ 2026-09-14 21:18 ` Wolfram Sang
2026-09-14 21:29 ` sashiko-bot
2026-09-15 9:17 ` Wolfram Sang
2026-09-14 21:18 ` [PATCH 5/6] dt-bindings: rtc: rzn1: add R-Car X5H support Wolfram Sang
2026-09-14 21:18 ` [PATCH 6/6] " Wolfram Sang
5 siblings, 2 replies; 21+ messages in thread
From: Wolfram Sang @ 2026-09-14 21:18 UTC (permalink / raw)
To: linux-renesas-soc
Cc: Wolfram Sang, Miquel Raynal, Alexandre Belloni, linux-rtc
If no interrupts are specified, alarm handling will just be disabled. No
need to bail out. Instead of juggling with 4 different static rtc_ops
for all {subu|scmp}_{no_}alarm cases, a single non-static rtc_ops is
chosen which is adapted during probe().
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
drivers/rtc/rtc-rzn1.c | 58 +++++++++++++++++++-----------------------
1 file changed, 26 insertions(+), 32 deletions(-)
diff --git a/drivers/rtc/rtc-rzn1.c b/drivers/rtc/rtc-rzn1.c
index b9d69ebdd224..ebb56c8d75ea 100644
--- a/drivers/rtc/rtc-rzn1.c
+++ b/drivers/rtc/rtc-rzn1.c
@@ -378,22 +378,9 @@ static int rzn1_rtc_set_offset(struct device *dev, long offset)
return 0;
}
-static const struct rtc_class_ops rzn1_rtc_ops_subu = {
+static struct rtc_class_ops rzn1_rtc_ops = {
.read_time = rzn1_rtc_read_time,
.set_time = rzn1_rtc_set_time,
- .read_alarm = rzn1_rtc_read_alarm,
- .set_alarm = rzn1_rtc_set_alarm,
- .alarm_irq_enable = rzn1_rtc_alarm_irq_enable,
- .read_offset = rzn1_rtc_read_offset,
- .set_offset = rzn1_rtc_set_offset,
-};
-
-static const struct rtc_class_ops rzn1_rtc_ops_scmp = {
- .read_time = rzn1_rtc_read_time,
- .set_time = rzn1_rtc_set_time,
- .read_alarm = rzn1_rtc_read_alarm,
- .set_alarm = rzn1_rtc_set_alarm,
- .alarm_irq_enable = rzn1_rtc_alarm_irq_enable,
};
static void rzn1_rtc_disable_hardware(void *data)
@@ -431,14 +418,11 @@ static int rzn1_rtc_probe(struct platform_device *pdev)
if (IS_ERR(rtc->base))
return dev_err_probe(dev, PTR_ERR(rtc->base), "Missing reg\n");
- irq = platform_get_irq_byname(pdev, "alarm");
- if (irq < 0)
- return irq;
-
rtc->rtcdev = devm_rtc_allocate_device(dev);
if (IS_ERR(rtc->rtcdev))
return PTR_ERR(rtc->rtcdev);
+ rtc->rtcdev->ops = &rzn1_rtc_ops;
rtc->rtcdev->range_min = RTC_TIMESTAMP_BEGIN_2000;
rtc->rtcdev->range_max = RTC_TIMESTAMP_END_2099;
rtc->rtcdev->alarm_offset_max = 7 * 86400;
@@ -490,9 +474,9 @@ static int rzn1_rtc_probe(struct platform_device *pdev)
if (scmp_val) {
writel(rate - 1, rtc->base + RZN1_RTC_SCMP);
- rtc->rtcdev->ops = &rzn1_rtc_ops_scmp;
} else {
- rtc->rtcdev->ops = &rzn1_rtc_ops_subu;
+ rzn1_rtc_ops.read_offset = rzn1_rtc_read_offset;
+ rzn1_rtc_ops.set_offset = rzn1_rtc_set_offset;
}
/* Enable controller finally */
@@ -503,20 +487,30 @@ static int rzn1_rtc_probe(struct platform_device *pdev)
spin_lock_init(&rtc->ctl1_access_lock);
- ret = devm_request_irq(dev, irq, rzn1_rtc_alarm_irq, 0, "RZN1 RTC Alarm", rtc);
- if (ret)
- return dev_err_probe(dev, ret, "RTC alarm interrupt not available\n");
- irq = platform_get_irq_byname_optional(pdev, "pps");
- if (irq == -EPROBE_DEFER)
+ irq = platform_get_irq_byname_optional(pdev, "alarm");
+ if (irq == -EPROBE_DEFER) {
return irq;
- if (irq >= 0)
- ret = devm_request_irq(dev, irq, rzn1_rtc_1s_irq, 0, "RZN1 RTC 1s", rtc);
-
- if (irq < 0 || ret) {
- set_bit(RTC_FEATURE_ALARM_RES_MINUTE, rtc->rtcdev->features);
- clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->rtcdev->features);
- dev_warn(dev, "RTC pps interrupt not available. Alarm has only minute accuracy\n");
+ } else if (irq >= 0) {
+ ret = devm_request_irq(dev, irq, rzn1_rtc_alarm_irq, 0, "RZN1 RTC Alarm", rtc);
+ if (ret)
+ return dev_err_probe(dev, ret, "RTC alarm interrupt not available\n");
+
+ irq = platform_get_irq_byname_optional(pdev, "pps");
+ if (irq == -EPROBE_DEFER)
+ return irq;
+ if (irq >= 0)
+ ret = devm_request_irq(dev, irq, rzn1_rtc_1s_irq, 0, "RZN1 RTC 1s", rtc);
+
+ if (irq < 0 || ret) {
+ set_bit(RTC_FEATURE_ALARM_RES_MINUTE, rtc->rtcdev->features);
+ clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->rtcdev->features);
+ dev_warn(dev, "RTC pps interrupt not available. Alarm has only minute accuracy\n");
+ }
+
+ rzn1_rtc_ops.read_alarm = rzn1_rtc_read_alarm;
+ rzn1_rtc_ops.set_alarm = rzn1_rtc_set_alarm;
+ rzn1_rtc_ops.alarm_irq_enable = rzn1_rtc_alarm_irq_enable;
}
return devm_rtc_register_device(rtc->rtcdev);
--
2.53.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 5/6] dt-bindings: rtc: rzn1: add R-Car X5H support
2026-09-14 21:18 [PATCH 0/6] rtc: rzn1: cleanups, no irq support, R-Car Gen5 enablement Wolfram Sang
` (3 preceding siblings ...)
2026-09-14 21:18 ` [PATCH 4/6] rtc: rzn1: make interrupts optional Wolfram Sang
@ 2026-09-14 21:18 ` Wolfram Sang
2026-09-14 21:29 ` sashiko-bot
2026-09-14 21:18 ` [PATCH 6/6] " Wolfram Sang
5 siblings, 1 reply; 21+ messages in thread
From: Wolfram Sang @ 2026-09-14 21:18 UTC (permalink / raw)
To: linux-renesas-soc
Cc: Wolfram Sang, Miquel Raynal, Alexandre Belloni, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
Magnus Damm, linux-rtc, devicetree
Identical to RZ/T2H except that interrupts are not wired.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
index b426a34958d6..55e1a33c566b 100644
--- a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
+++ b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
@@ -23,6 +23,11 @@ properties:
- const: renesas,r9a09g087-rtc # RZ/N2H
- const: renesas,r9a09g077-rtc # RZ/T2H
+ - items:
+ - enum:
+ - renesas,r8a78000-rtc # R-Car X5H
+ - const: renesas,rcar-gen5-rtc # R-Car Gen5
+
reg:
maxItems: 1
@@ -66,6 +71,7 @@ allOf:
enum:
- renesas,r9a09g077-rtc
- renesas,r9a09g087-rtc
+ - renesas,rcar-gen5-rtc
then:
properties:
clocks:
--
2.53.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 6/6] rtc: rzn1: add R-Car X5H support
2026-09-14 21:18 [PATCH 0/6] rtc: rzn1: cleanups, no irq support, R-Car Gen5 enablement Wolfram Sang
` (4 preceding siblings ...)
2026-09-14 21:18 ` [PATCH 5/6] dt-bindings: rtc: rzn1: add R-Car X5H support Wolfram Sang
@ 2026-09-14 21:18 ` Wolfram Sang
2026-09-14 21:28 ` sashiko-bot
5 siblings, 1 reply; 21+ messages in thread
From: Wolfram Sang @ 2026-09-14 21:18 UTC (permalink / raw)
To: linux-renesas-soc
Cc: Wolfram Sang, Miquel Raynal, Alexandre Belloni,
Geert Uytterhoeven, Magnus Damm, linux-rtc
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
drivers/rtc/rtc-rzn1.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/rtc/rtc-rzn1.c b/drivers/rtc/rtc-rzn1.c
index ebb56c8d75ea..4360e125632e 100644
--- a/drivers/rtc/rtc-rzn1.c
+++ b/drivers/rtc/rtc-rzn1.c
@@ -526,6 +526,7 @@ static const struct rzn1_rtc_data rzn1_rtc_rzn1_data = {
static const struct of_device_id rzn1_rtc_of_match[] = {
{ .compatible = "renesas,r9a09g077-rtc", .data = &rzn1_rtc_rzt2h_data },
+ { .compatible = "renesas,rcar-gen5-rtc", .data = &rzn1_rtc_rzt2h_data },
{ .compatible = "renesas,rzn1-rtc", .data = &rzn1_rtc_rzn1_data },
{ /* sentinel */ }
};
--
2.53.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PATCH 2/6] dt-bindings: rtc: rzn1: add SoC names next to their IDs
2026-09-14 21:18 ` [PATCH 2/6] dt-bindings: rtc: rzn1: add SoC names next to their IDs Wolfram Sang
@ 2026-09-14 21:20 ` sashiko-bot
2026-09-15 9:52 ` Lad, Prabhakar
2026-09-15 16:55 ` Conor Dooley
2 siblings, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-09-14 21:20 UTC (permalink / raw)
To: Wolfram Sang
Cc: robh, wsa+renesas, linux-rtc, Alexandre Belloni, conor+dt,
devicetree
> This helps maintaining because the numbers are easy to confuse.
>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Sashiko has reviewed this patch and found no issues. It looks great!
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260914211826.73727-8-wsa+renesas@sang-engineering.com?part=2
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 1/6] dt-bindings: rtc: rzn1: drop unneeded 'start-year' from example
2026-09-14 21:18 ` [PATCH 1/6] dt-bindings: rtc: rzn1: drop unneeded 'start-year' from example Wolfram Sang
@ 2026-09-14 21:21 ` sashiko-bot
2026-09-15 9:52 ` Lad, Prabhakar
2026-09-15 16:55 ` Conor Dooley
2 siblings, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-09-14 21:21 UTC (permalink / raw)
To: Wolfram Sang
Cc: wsa+renesas, conor+dt, devicetree, robh, linux-rtc,
Alexandre Belloni
> We don't use 'start-year' in upstream DTs because the driver does the
> right thing by default, ranging from 2000 to 2099. So, drop it from the
> example, too.
>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Sashiko has reviewed this patch and found no issues. It looks great!
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260914211826.73727-8-wsa+renesas@sang-engineering.com?part=1
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 6/6] rtc: rzn1: add R-Car X5H support
2026-09-14 21:18 ` [PATCH 6/6] " Wolfram Sang
@ 2026-09-14 21:28 ` sashiko-bot
0 siblings, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-09-14 21:28 UTC (permalink / raw)
To: Wolfram Sang; +Cc: Alexandre Belloni, linux-rtc, wsa+renesas
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
New issues:
- [High] rzn1_rtc_probe() dynamically modifies the static global rzn1_rtc_ops struct, which causes state corruption if the driver is unbound and rebound or if multiple device instances exist.
Pre-existing issues:
- [High] rzn1_rtc_set_offset() fails to clear the hardware offset when the requested offset is 0, leaving the previous offset stuck in hardware.
--
commit c04fb139b5ae435fea49907420111efaa4083c83
Author: Wolfram Sang <wsa+renesas@sang-engineering.com>
rtc: rzn1: add R-Car X5H support
This commit adds the compatible string for the Renesas R-Car X5H RTC to
the rzn1 driver.
> diff --git a/drivers/rtc/rtc-rzn1.c b/drivers/rtc/rtc-rzn1.c
> index 583ce12b052d9..5860ecef428a6 100644
> --- a/drivers/rtc/rtc-rzn1.c
> +++ b/drivers/rtc/rtc-rzn1.c
> @@ -527,6 +527,7 @@ static const struct rzn1_rtc_data rzn1_rtc_rzn1_data = {
>
> static const struct of_device_id rzn1_rtc_of_match[] = {
> { .compatible = "renesas,r9a09g077-rtc", .data = &rzn1_rtc_rzt2h_data },
> + { .compatible = "renesas,rcar-gen5-rtc", .data = &rzn1_rtc_rzt2h_data },
[Severity: High]
Does dynamically modifying the static global rzn1_rtc_ops struct in
rzn1_rtc_probe() cause a regression where state is corrupted if multiple
device instances exist or if the driver is unbound and rebound?
If a device with alarms is probed, the global struct is modified:
drivers/rtc/rtc-rzn1.c:rzn1_rtc_probe() {
...
if (irq >= 0) {
...
rzn1_rtc_ops.read_alarm = rzn1_rtc_read_alarm;
rzn1_rtc_ops.set_alarm = rzn1_rtc_set_alarm;
rzn1_rtc_ops.alarm_irq_enable = rzn1_rtc_alarm_irq_enable;
}
...
}
If the driver is subsequently bound to a device without alarms (like R-Car
X5H, as introduced by this patch), the global struct incorrectly retains
the alarm callbacks. The RTC subsystem will then expose non-existent alarm
capabilities to userspace.
[Severity: High]
This is a pre-existing issue, but does rzn1_rtc_set_offset() fail to clear
the hardware offset when the requested offset is 0?
If a user configures a non-zero offset and subsequently attempts to clear
it by setting it to 0, the function exits before updating the hardware
register:
drivers/rtc/rtc-rzn1.c:rzn1_rtc_set_offset() {
...
if (!steps)
return 0;
...
writel(subu, rtc->base + RZN1_RTC_SUBU);
...
}
This early return leaves the previous offset permanently active in hardware.
> { .compatible = "renesas,rzn1-rtc", .data = &rzn1_rtc_rzn1_data },
> { /* sentinel */ }
> };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260914211826.73727-8-wsa+renesas@sang-engineering.com?part=6
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 3/6] dt-bindings: rtc: rzn1: interrupts are not required
2026-09-14 21:18 ` [PATCH 3/6] dt-bindings: rtc: rzn1: interrupts are not required Wolfram Sang
@ 2026-09-14 21:29 ` sashiko-bot
2026-09-15 9:55 ` Lad, Prabhakar
1 sibling, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-09-14 21:29 UTC (permalink / raw)
To: Wolfram Sang
Cc: Alexandre Belloni, wsa+renesas, conor+dt, devicetree, robh,
linux-rtc
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] Globally removing `interrupts` and `interrupt-names` from `required` weakens schema validation for existing SoCs.
- [Medium] Making `interrupts` and `interrupt-names` optional without adding a schema dependency allows incomplete interrupt specifications.
--
commit 963405de649fb7157801d57b7a47cf959108ca2c
Author: Wolfram Sang <wsa+renesas@sang-engineering.com>
dt-bindings: rtc: rzn1: interrupts are not required
This commit drops the interrupts and interrupt-names properties from the
required list in the rzn1-rtc binding. This change is made to support an
upcoming SoC where interrupts are not wired to the RTC.
> diff --git a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> index 7ea77cd0bee15..b426a34958d6d 100644
> --- a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> +++ b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> @@ -52,8 +52,6 @@ properties:
> required:
> - compatible
> - reg
> - - interrupts
> - - interrupt-names
[Severity: Medium]
Does globally removing these properties weaken schema validation for existing
SoCs? Device trees for existing SoCs where interrupts are physically wired
could now incorrectly omit the interrupts and silently pass the schema
checker, resulting in incomplete hardware descriptions.
To accommodate the new SoC without affecting existing ones, should we
conditionally require these properties for the older compatible strings
using an allOf -> if -> then block?
[Severity: Medium]
By making these properties optional independently, could this allow
incomplete interrupt specifications? If a device tree specifies interrupts
but omits interrupt-names, schema validation will pass. However, the driver
uses platform_get_irq_byname_optional(), which will fail with -EINVAL at
runtime if names are missing, silently disabling alarm functionality.
Would it be better to include a dependencies block (e.g.,
interrupts: [ interrupt-names ]) to ensure complete descriptions when
interrupts are provided?
> - clocks
> - clock-names
> - power-domains
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260914211826.73727-8-wsa+renesas@sang-engineering.com?part=3
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 4/6] rtc: rzn1: make interrupts optional
2026-09-14 21:18 ` [PATCH 4/6] rtc: rzn1: make interrupts optional Wolfram Sang
@ 2026-09-14 21:29 ` sashiko-bot
2026-09-15 9:17 ` Wolfram Sang
1 sibling, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-09-14 21:29 UTC (permalink / raw)
To: Wolfram Sang; +Cc: linux-rtc, Alexandre Belloni, wsa+renesas
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] The patch replaces immutable `const struct rtc_class_ops` structures with a single mutable global `struct rtc_class_ops rzn1_rtc_ops`. The driver then dynamically modifies this shared global struct during `probe()`. This introduces two severe issues: 1) A security regression by placing function pointers in writable `.data` memory instead of read-only `.rodata`, making them an easy target for control-flow hijacking exploits. 2) Driver model isolation breakage. If a device is unbound and rebound with different hardware capabilities (e.g., via a DT overlay lacking the alarm IRQ), or if multiple RTC instances exist, the global struct retains stale function pointers from previous probes. For example, a device without an alarm interrupt will inherit `set_alarm` from a prior successful probe, causing the RTC core to mistakenly advertise unsupported features and attempt to program unsupported hardware.
- [Medium] `RTC_FEATURE_UPDATE_INTERRUPT` is erroneously left enabled when the device lacks an alarm interrupt, causing the RTC core to advertise non-existent capabilities. Before this patch, the driver explicitly cleared `RTC_FEATURE_UPDATE_INTERRUPT` if it couldn't acquire the 'pps' interrupt. In this patch, the check for the 'pps' interrupt and the subsequent feature flag clearing logic are nested inside an `else if (irq >= 0)` block that checks for a valid 'alarm' interrupt. If a device has no 'alarm' interrupt, this entire block is bypassed. Consequently, the driver neither requests the 'pps' interrupt nor clears the `RTC_FEATURE_UPDATE_INTERRUPT` flag (which is enabled by default by the RTC core), leaving the device in an inconsistent state.
--
commit 2099c0ea773de6a8c400669f6b3316540360644e
Author: Wolfram Sang <wsa+renesas@sang-engineering.com>
rtc: rzn1: make interrupts optional
This patch makes interrupts optional in the rzn1 rtc driver, disabling
alarm handling if they are absent. It replaces the multiple static rtc_ops
structures with a single non-static one that is adapted during probe().
> diff --git a/drivers/rtc/rtc-rzn1.c b/drivers/rtc/rtc-rzn1.c
> index 1e1676a7f3cc9..583ce12b052d9 100644
> --- a/drivers/rtc/rtc-rzn1.c
> +++ b/drivers/rtc/rtc-rzn1.c
> @@ -379,22 +379,9 @@ static int rzn1_rtc_set_offset(struct device *dev, long offset)
> return 0;
> }
>
> -static const struct rtc_class_ops rzn1_rtc_ops_subu = {
> +static struct rtc_class_ops rzn1_rtc_ops = {
[Severity: High]
Does removing const from this global operations structure introduce a
security regression? Placing function pointers into writable memory makes
them a potential target for control-flow hijacking exploits.
[ ... ]
> @@ -491,9 +475,9 @@ static int rzn1_rtc_probe(struct platform_device *pdev)
>
> if (scmp_val) {
> writel(rate - 1, rtc->base + RZN1_RTC_SCMP);
> - rtc->rtcdev->ops = &rzn1_rtc_ops_scmp;
> } else {
> - rtc->rtcdev->ops = &rzn1_rtc_ops_subu;
> + rzn1_rtc_ops.read_offset = rzn1_rtc_read_offset;
> + rzn1_rtc_ops.set_offset = rzn1_rtc_set_offset;
[Severity: High]
Can mutating this shared global structure in rzn1_rtc_probe() lead to state
corruption across unbind/rebind cycles or if multiple instances of the RTC
exist?
If a device is unbound and then rebound with different hardware capabilities,
or if a device lacking an alarm interrupt inherits the set_alarm operations
from a previous probe, the RTC core could mistakenly advertise unsupported
features and attempt to program unsupported hardware.
[ ... ]
> @@ -504,20 +488,30 @@ static int rzn1_rtc_probe(struct platform_device *pdev)
>
> spin_lock_init(&rtc->ctl1_access_lock);
>
> - ret = devm_request_irq(dev, irq, rzn1_rtc_alarm_irq, 0, "RZN1 RTC Alarm", rtc);
> - if (ret)
> - return dev_err_probe(dev, ret, "RTC alarm interrupt not available\n");
>
> - irq = platform_get_irq_byname_optional(pdev, "pps");
> - if (irq == -EPROBE_DEFER)
> + irq = platform_get_irq_byname_optional(pdev, "alarm");
> + if (irq == -EPROBE_DEFER) {
> return irq;
> - if (irq >= 0)
> - ret = devm_request_irq(dev, irq, rzn1_rtc_1s_irq, 0, "RZN1 RTC 1s", rtc);
> -
> - if (irq < 0 || ret) {
> - set_bit(RTC_FEATURE_ALARM_RES_MINUTE, rtc->rtcdev->features);
> - clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->rtcdev->features);
> - dev_warn(dev, "RTC pps interrupt not available. Alarm has only minute accuracy\n");
> + } else if (irq >= 0) {
> + ret = devm_request_irq(dev, irq, rzn1_rtc_alarm_irq, 0, "RZN1 RTC Alarm", rtc);
[Severity: Medium]
Will RTC_FEATURE_UPDATE_INTERRUPT mistakenly remain enabled if there is no
alarm interrupt present on the device?
Because the feature flag cleanup and the pps interrupt probing are now nested
inside this else if (irq >= 0) block, a missing alarm interrupt bypasses this
entire logic.
Since the RTC core enables RTC_FEATURE_UPDATE_INTERRUPT by default, failing
to clear it here could leave the device in an inconsistent state and cause
incorrect capabilities to be advertised.
> + if (ret)
> + return dev_err_probe(dev, ret, "RTC alarm interrupt not available\n");
> +
> + irq = platform_get_irq_byname_optional(pdev, "pps");
> + if (irq == -EPROBE_DEFER)
> + return irq;
> + if (irq >= 0)
> + ret = devm_request_irq(dev, irq, rzn1_rtc_1s_irq, 0, "RZN1 RTC 1s", rtc);
> +
> + if (irq < 0 || ret) {
> + set_bit(RTC_FEATURE_ALARM_RES_MINUTE, rtc->rtcdev->features);
> + clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->rtcdev->features);
> + dev_warn(dev, "RTC pps interrupt not available. Alarm has only minute accuracy\n");
> + }
> +
> + rzn1_rtc_ops.read_alarm = rzn1_rtc_read_alarm;
> + rzn1_rtc_ops.set_alarm = rzn1_rtc_set_alarm;
> + rzn1_rtc_ops.alarm_irq_enable = rzn1_rtc_alarm_irq_enable;
> }
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260914211826.73727-8-wsa+renesas@sang-engineering.com?part=4
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 5/6] dt-bindings: rtc: rzn1: add R-Car X5H support
2026-09-14 21:18 ` [PATCH 5/6] dt-bindings: rtc: rzn1: add R-Car X5H support Wolfram Sang
@ 2026-09-14 21:29 ` sashiko-bot
0 siblings, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-09-14 21:29 UTC (permalink / raw)
To: Wolfram Sang
Cc: wsa+renesas, devicetree, conor+dt, linux-rtc, Alexandre Belloni,
robh
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
New issues:
- [Medium] The R-Car X5H compatible string is missing an `if-then` conditional block to explicitly disallow interrupts.
Pre-existing issues:
- [High] The driver dynamically modifies a global static `rtc_class_ops` structure during probe, causing operations to be incorrectly shared and corrupted across all device instances.
--
commit a9257218efe4782b04de9171568942363749f822
Author: Wolfram Sang <wsa+renesas@sang-engineering.com>
dt-bindings: rtc: rzn1: add R-Car X5H support
This patch adds support for the R-Car X5H hardware variant to the RZ/N1 RTC
device tree binding schema. The commit message explicitly notes that this
hardware is identical to RZ/T2H except that interrupts are not wired.
> diff --git a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> --- a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> +++ b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
[ ... ]
> @@ -66,6 +71,7 @@ allOf:
> enum:
> - renesas,r9a09g077-rtc
> - renesas,r9a09g087-rtc
> + - renesas,rcar-gen5-rtc
> then:
> properties:
> clocks:
[Severity: Medium]
Since the commit message states that interrupts are not wired for R-Car X5H,
should there be another if-then block added to the allOf section to
explicitly restrict the interrupts property for renesas,rcar-gen5-rtc?
Without this conditional check, a device tree incorrectly defining an
interrupts property for this compatible string would silently pass schema
validation despite the hardware limitation.
While reviewing the associated driver code, I noticed a separate issue:
drivers/rtc/rtc-rzn1.c:rzn1_rtc_probe() {
[ ... ]
if (scmp_val) {
writel(rate - 1, rtc->base + RZN1_RTC_SCMP);
} else {
rzn1_rtc_ops.read_offset = rzn1_rtc_read_offset;
rzn1_rtc_ops.set_offset = rzn1_rtc_set_offset;
}
[ ... ]
rzn1_rtc_ops.read_alarm = rzn1_rtc_read_alarm;
rzn1_rtc_ops.set_alarm = rzn1_rtc_set_alarm;
rzn1_rtc_ops.alarm_irq_enable = rzn1_rtc_alarm_irq_enable;
}
return devm_rtc_register_device(rtc->rtcdev);
}
[Severity: High]
This is a pre-existing issue, but does mutating the global static rzn1_rtc_ops
structure during probe cause state corruption across device instances?
If multiple RTC instances exist, devices probed subsequently that lack
certain capabilities (like no SUBU register or no alarm interrupt) will
incorrectly inherit the callbacks set by previously probed devices. Could
this lead to unhandled behavior if unsupported operations are invoked?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260914211826.73727-8-wsa+renesas@sang-engineering.com?part=5
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 4/6] rtc: rzn1: make interrupts optional
2026-09-14 21:18 ` [PATCH 4/6] rtc: rzn1: make interrupts optional Wolfram Sang
2026-09-14 21:29 ` sashiko-bot
@ 2026-09-15 9:17 ` Wolfram Sang
1 sibling, 0 replies; 21+ messages in thread
From: Wolfram Sang @ 2026-09-15 9:17 UTC (permalink / raw)
To: linux-renesas-soc; +Cc: Miquel Raynal, Alexandre Belloni, linux-rtc
[-- Attachment #1: Type: text/plain, Size: 442 bytes --]
On Mon, Sep 14, 2026 at 11:18:29PM +0200, Wolfram Sang wrote:
> If no interrupts are specified, alarm handling will just be disabled. No
> need to bail out. Instead of juggling with 4 different static rtc_ops
> for all {subu|scmp}_{no_}alarm cases, a single non-static rtc_ops is
> chosen which is adapted during probe().
I kinda expected it. Sashiko complained enough abou the non-const
rtc_ops, so I will switch to multiple const ones...
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 1/6] dt-bindings: rtc: rzn1: drop unneeded 'start-year' from example
2026-09-14 21:18 ` [PATCH 1/6] dt-bindings: rtc: rzn1: drop unneeded 'start-year' from example Wolfram Sang
2026-09-14 21:21 ` sashiko-bot
@ 2026-09-15 9:52 ` Lad, Prabhakar
2026-09-15 16:55 ` Conor Dooley
2 siblings, 0 replies; 21+ messages in thread
From: Lad, Prabhakar @ 2026-09-15 9:52 UTC (permalink / raw)
To: Wolfram Sang
Cc: linux-renesas-soc, Miquel Raynal, Alexandre Belloni, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
Magnus Damm, linux-rtc, devicetree
On Mon, Sep 14, 2026 at 10:19 PM Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
>
> We don't use 'start-year' in upstream DTs because the driver does the
> right thing by default, ranging from 2000 to 2099. So, drop it from the
> example, too.
>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
> Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml | 1 -
> 1 file changed, 1 deletion(-)
>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Cheers,
Prabhakar
> diff --git a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> index ea7b039a91e7..e96007981c34 100644
> --- a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> +++ b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> @@ -91,5 +91,4 @@ examples:
> clocks = <&sysctrl R9A06G032_HCLK_RTC>;
> clock-names = "hclk";
> power-domains = <&sysctrl>;
> - start-year = <2000>;
> };
> --
> 2.53.0
>
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 2/6] dt-bindings: rtc: rzn1: add SoC names next to their IDs
2026-09-14 21:18 ` [PATCH 2/6] dt-bindings: rtc: rzn1: add SoC names next to their IDs Wolfram Sang
2026-09-14 21:20 ` sashiko-bot
@ 2026-09-15 9:52 ` Lad, Prabhakar
2026-09-15 16:55 ` Conor Dooley
2 siblings, 0 replies; 21+ messages in thread
From: Lad, Prabhakar @ 2026-09-15 9:52 UTC (permalink / raw)
To: Wolfram Sang
Cc: linux-renesas-soc, Miquel Raynal, Alexandre Belloni, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
Magnus Damm, linux-rtc, devicetree
On Mon, Sep 14, 2026 at 10:19 PM Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
>
> This helps maintaining because the numbers are easy to confuse.
>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
> .../devicetree/bindings/rtc/renesas,rzn1-rtc.yaml | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Cheers,
Prabhakar
> diff --git a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> index e96007981c34..7ea77cd0bee1 100644
> --- a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> +++ b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> @@ -14,14 +14,14 @@ properties:
> oneOf:
> - items:
> - enum:
> - - renesas,r9a06g032-rtc
> - - const: renesas,rzn1-rtc
> + - renesas,r9a06g032-rtc # RZ/N1D
> + - const: renesas,rzn1-rtc # RZ/N1
>
> - - const: renesas,r9a09g077-rtc
> + - const: renesas,r9a09g077-rtc # RZ/T2H
>
> - items:
> - - const: renesas,r9a09g087-rtc
> - - const: renesas,r9a09g077-rtc
> + - const: renesas,r9a09g087-rtc # RZ/N2H
> + - const: renesas,r9a09g077-rtc # RZ/T2H
>
> reg:
> maxItems: 1
> --
> 2.53.0
>
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 3/6] dt-bindings: rtc: rzn1: interrupts are not required
2026-09-14 21:18 ` [PATCH 3/6] dt-bindings: rtc: rzn1: interrupts are not required Wolfram Sang
2026-09-14 21:29 ` sashiko-bot
@ 2026-09-15 9:55 ` Lad, Prabhakar
2026-09-15 16:54 ` Conor Dooley
1 sibling, 1 reply; 21+ messages in thread
From: Lad, Prabhakar @ 2026-09-15 9:55 UTC (permalink / raw)
To: Wolfram Sang
Cc: linux-renesas-soc, Miquel Raynal, Alexandre Belloni, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
Magnus Damm, linux-rtc, devicetree
Hi Wolfram,
Thank you for the patch.
On Mon, Sep 14, 2026 at 10:24 PM Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
>
> Interrupts are only needed for alarms to work. Reading/Setting the RTC
> works fine without interrupts. Drop the requirement for interrupts
> because an upcoming SoC does not have interrupts wired.
>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
> Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> index 7ea77cd0bee1..b426a34958d6 100644
> --- a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> +++ b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> @@ -52,8 +52,6 @@ properties:
> required:
> - compatible
> - reg
> - - interrupts
> - - interrupt-names
Maybe we can add a conditional schema check for SoCs where
interrupts{-names} are required.
Cheers,
Prabhakar
> - clocks
> - clock-names
> - power-domains
> --
> 2.53.0
>
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 3/6] dt-bindings: rtc: rzn1: interrupts are not required
2026-09-15 9:55 ` Lad, Prabhakar
@ 2026-09-15 16:54 ` Conor Dooley
2026-09-16 7:32 ` Wolfram Sang
0 siblings, 1 reply; 21+ messages in thread
From: Conor Dooley @ 2026-09-15 16:54 UTC (permalink / raw)
To: Lad, Prabhakar
Cc: Wolfram Sang, linux-renesas-soc, Miquel Raynal, Alexandre Belloni,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, Magnus Damm, linux-rtc, devicetree
[-- Attachment #1: Type: text/plain, Size: 1486 bytes --]
On Tue, Sep 15, 2026 at 10:55:20AM +0100, Lad, Prabhakar wrote:
> Hi Wolfram,
>
> Thank you for the patch.
>
> On Mon, Sep 14, 2026 at 10:24 PM Wolfram Sang
> <wsa+renesas@sang-engineering.com> wrote:
> >
> > Interrupts are only needed for alarms to work. Reading/Setting the RTC
> > works fine without interrupts. Drop the requirement for interrupts
> > because an upcoming SoC does not have interrupts wired.
> >
> > Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> > ---
> > Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml | 2 --
> > 1 file changed, 2 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> > index 7ea77cd0bee1..b426a34958d6 100644
> > --- a/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> > +++ b/Documentation/devicetree/bindings/rtc/renesas,rzn1-rtc.yaml
> > @@ -52,8 +52,6 @@ properties:
> > required:
> > - compatible
> > - reg
> > - - interrupts
> > - - interrupt-names
> Maybe we can add a conditional schema check for SoCs where
> interrupts{-names} are required.
Yeah, I'd prefer this. If all current devices have the interrupt wired,
there's little value in permitting them to not be populated and thereby
lose the support for alarms.
>
> Cheers,
> Prabhakar
>
> > - clocks
> > - clock-names
> > - power-domains
> > --
> > 2.53.0
> >
> >
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 2/6] dt-bindings: rtc: rzn1: add SoC names next to their IDs
2026-09-14 21:18 ` [PATCH 2/6] dt-bindings: rtc: rzn1: add SoC names next to their IDs Wolfram Sang
2026-09-14 21:20 ` sashiko-bot
2026-09-15 9:52 ` Lad, Prabhakar
@ 2026-09-15 16:55 ` Conor Dooley
2 siblings, 0 replies; 21+ messages in thread
From: Conor Dooley @ 2026-09-15 16:55 UTC (permalink / raw)
To: Wolfram Sang
Cc: linux-renesas-soc, Miquel Raynal, Alexandre Belloni, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
Magnus Damm, linux-rtc, devicetree
[-- Attachment #1: Type: text/plain, Size: 75 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 1/6] dt-bindings: rtc: rzn1: drop unneeded 'start-year' from example
2026-09-14 21:18 ` [PATCH 1/6] dt-bindings: rtc: rzn1: drop unneeded 'start-year' from example Wolfram Sang
2026-09-14 21:21 ` sashiko-bot
2026-09-15 9:52 ` Lad, Prabhakar
@ 2026-09-15 16:55 ` Conor Dooley
2 siblings, 0 replies; 21+ messages in thread
From: Conor Dooley @ 2026-09-15 16:55 UTC (permalink / raw)
To: Wolfram Sang
Cc: linux-renesas-soc, Miquel Raynal, Alexandre Belloni, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
Magnus Damm, linux-rtc, devicetree
[-- Attachment #1: Type: text/plain, Size: 75 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 3/6] dt-bindings: rtc: rzn1: interrupts are not required
2026-09-15 16:54 ` Conor Dooley
@ 2026-09-16 7:32 ` Wolfram Sang
0 siblings, 0 replies; 21+ messages in thread
From: Wolfram Sang @ 2026-09-16 7:32 UTC (permalink / raw)
To: Conor Dooley
Cc: Lad, Prabhakar, linux-renesas-soc, Miquel Raynal,
Alexandre Belloni, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, Magnus Damm, linux-rtc, devicetree
[-- Attachment #1: Type: text/plain, Size: 370 bytes --]
> > Maybe we can add a conditional schema check for SoCs where
> > interrupts{-names} are required.
>
> Yeah, I'd prefer this. If all current devices have the interrupt wired,
> there's little value in permitting them to not be populated and thereby
> lose the support for alarms.
Okay, I will refactor like this.
Thank you for your comments, everyone!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2026-09-16 7:33 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-14 21:18 [PATCH 0/6] rtc: rzn1: cleanups, no irq support, R-Car Gen5 enablement Wolfram Sang
2026-09-14 21:18 ` [PATCH 1/6] dt-bindings: rtc: rzn1: drop unneeded 'start-year' from example Wolfram Sang
2026-09-14 21:21 ` sashiko-bot
2026-09-15 9:52 ` Lad, Prabhakar
2026-09-15 16:55 ` Conor Dooley
2026-09-14 21:18 ` [PATCH 2/6] dt-bindings: rtc: rzn1: add SoC names next to their IDs Wolfram Sang
2026-09-14 21:20 ` sashiko-bot
2026-09-15 9:52 ` Lad, Prabhakar
2026-09-15 16:55 ` Conor Dooley
2026-09-14 21:18 ` [PATCH 3/6] dt-bindings: rtc: rzn1: interrupts are not required Wolfram Sang
2026-09-14 21:29 ` sashiko-bot
2026-09-15 9:55 ` Lad, Prabhakar
2026-09-15 16:54 ` Conor Dooley
2026-09-16 7:32 ` Wolfram Sang
2026-09-14 21:18 ` [PATCH 4/6] rtc: rzn1: make interrupts optional Wolfram Sang
2026-09-14 21:29 ` sashiko-bot
2026-09-15 9:17 ` Wolfram Sang
2026-09-14 21:18 ` [PATCH 5/6] dt-bindings: rtc: rzn1: add R-Car X5H support Wolfram Sang
2026-09-14 21:29 ` sashiko-bot
2026-09-14 21:18 ` [PATCH 6/6] " Wolfram Sang
2026-09-14 21:28 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).