Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

rtc: pcf8563: use correct of_node for output clock

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>

authored by

John Keeping and committed by
Alexandre Belloni
a380a02e d5aca9a1

+1 -1
+1 -1
drivers/rtc/rtc-pcf8563.c
··· 424 424 425 425 static struct clk *pcf8563_clkout_register_clk(struct pcf8563 *pcf8563) 426 426 { 427 - struct device_node *node = pcf8563->rtc->dev.of_node; 427 + struct device_node *node = pcf8563->rtc->dev.parent->of_node; 428 428 struct clk_init_data init; 429 429 struct clk *clk; 430 430 int ret;