OSDN Git Service

rtc: nvmem: allow registering the nvmem device before the rtc
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Wed, 28 Feb 2018 20:58:02 +0000 (21:58 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Thu, 1 Mar 2018 09:49:14 +0000 (10:49 +0100)
commitac75779b72fd52741d7446ad27cf6d58c006c643
treea19d4ef74bb376700a4ab5b76fccf1ccd1e5754a
parentab3ea36eda76069ba52e9b6aef5a9370b0b462bf
rtc: nvmem: allow registering the nvmem device before the rtc

Switch the parent of the nvmem device to the parent of the rtc device so it
can be registered before the RTC.

This is a small change in the ABI as the nvmem moves out of the
/sys/class/rtc/rtcX folder to be under the parent device folder (that is
where the previous nvram files where registered).

However, it is still available under its correct location,
/sys/bus/nvmem/devices which is the one that should be used by userspace
applications.

The other benefit is that the nvmem device can stay registered even if the
rtc registration fails. Or it is possible to not register the rtc if the
nvmem registration failed.

Finally, it makes a lot of sense for devices that actually have different
i2c or spi addresses for the RTC and the EEPROM. That is basically how it
would end up when using MFD or even completely separate devices.

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Documentation/ABI/testing/sysfs-class-rtc
drivers/rtc/class.c
drivers/rtc/nvmem.c