On Mon, Oct 5, 2020 at 6:29 PM Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> wrote: > > On 05/10/2020 09:13:08-0400, Peter Geis wrote: > > Good Morning, > > > > While testing suspend to ram on the Ouya, I encountered an interesting > > issue with the rtc-tps65910 driver. > > Attempting to use rtc-wake on the default configuration returned: > > rtcwake: /dev/rtc0 not enabled for wakeup events > > This is due to: > > eb5eba4ef722 drivers/rtc/rtc-tps65910.c: enable/disable wake in suspend/resume > > This commit changed this driver's behavior to not enable wakeup by > > default, but enables it when entering sleep mode. > > This seems to be odd behavior to me. > > Looking at a few other rtc drivers show they simply enable themselves > > as wakeup sources by default. > > > > I also found the sysfs entries are at /sys/devices/ .. > > /tps65910-rtc/power but are missing at /sys/class/rtc/rtc0/power/ > > > > I have two questions. > > - Should the sysfs wakeup entries be missing at /sys/class/rtc/rtc0/power/ ? > > I would be in /sys/class/rtc/rtc0/device/power > > > - Shouldn't a rtc be enabled as a wakeup source by default? > > > > The short answer is no, the reason being that not all RTCs are connected > to an IRQ or a pin that can wakeup or start the platform. What should be > done is enabling wakeup only when interrupts are available or the > wakeup-source property is in the rtc device tree node. Thank you for your explanation. So it would seem we have two issues. - The sysfs wakeup entries are not populating in /sys/class/rtc/rtc0/power when they are populating in /sys/devices/<..>/tps65910-rtc/power. - The wakeup-source property is not being applied to the tps65910-rtc sub-device when it is applied in the tps65910 devicetree node. Should wakeup-source handling be the tps65910-rtc driver's responsibility, or is that a limitation of the driver core that needs to be fixed? > > -- > Alexandre Belloni, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com