]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
rtc: pcf8563: use correct of_node for output clock
authorJohn Keeping <jkeeping@inmusicbrands.com>
Thu, 8 Jan 2026 18:47:48 +0000 (18:47 +0000)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Mon, 19 Jan 2026 23:13:28 +0000 (00:13 +0100)
When switching to regmap, the i2c_client pointer was removed from struct
pcf8563 so this function switched to using the RTC device instead.  But
the RTC device is a child of the original I2C device and does not have
an associated of_node.

Reference the correct device's of_node to ensure that the output clock
can be found when referenced by other devices and so that the override
clock name is read correctly.

Cc: stable@vger.kernel.org
Fixes: 00f1bb9b8486b ("rtc: pcf8563: Switch to regmap")
Signed-off-by: John Keeping <jkeeping@inmusicbrands.com>
Link: https://patch.msgid.link/20260108184749.3413348-1-jkeeping@inmusicbrands.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-pcf8563.c

index 4e61011fb7a9672ee356f6328a7691ca413a82bc..b281e9489df1d4ddea0ad9c45f5c71c41ede6c50 100644 (file)
@@ -424,7 +424,7 @@ static const struct clk_ops pcf8563_clkout_ops = {
 
 static struct clk *pcf8563_clkout_register_clk(struct pcf8563 *pcf8563)
 {
-       struct device_node *node = pcf8563->rtc->dev.of_node;
+       struct device_node *node = pcf8563->rtc->dev.parent->of_node;
        struct clk_init_data init;
        struct clk *clk;
        int ret;