W dniu 31.03.2022 o 21:21, Greg KH pisze: > On Thu, Mar 31, 2022 at 09:06:11PM +0200, Mateusz Jończyk wrote: >> Before Linux 5.17, there was a problem with the CMOS RTC driver: >> cmos_read_alarm() and cmos_set_alarm() did not check for the UIP (Update >> in progress) bit, which could have caused it to sometimes fail silently >> and read bogus values or do not set the alarm correctly. >> Luckily, this issue was masked by cmos_read_time() invocations in core >> RTC code - see https://marc.info/?l=linux-rtc&m=164858416511425&w=4 [snip] >> diff --git a/drivers/rtc/debugfs.c b/drivers/rtc/debugfs.c >> new file mode 100644 >> index 000000000000..5ceed5504033 >> --- /dev/null >> +++ b/drivers/rtc/debugfs.c >> @@ -0,0 +1,112 @@ >> +// SPDX-License-Identifier: GPL-2.0-or-later >> + >> +/* >> + * Debugfs interface for testing RTC alarms. >> + */ >> +#include <linux/debugfs.h> >> +#include <linux/err.h> >> +#include <linux/rtc.h> >> + >> +static struct dentry *rtc_main_debugfs_dir; >> + >> +void rtc_debugfs_init(void) >> +{ >> + struct dentry *ret = debugfs_create_dir("rtc", NULL); >> + >> + // No error is critical here > What do you mean by this? I meant that even if debugfs_create_dir() fails, this does not matter here and the caller of rtc_debugfs_init() may continue execution. >> + if (!IS_ERR(ret)) >> + rtc_main_debugfs_dir = ret; > This should not be needed. > > Just set the directory and away you go. > > But why even save it? If you need it you can always look it up, right? OK, I did not know about easy lookup of debugfs directories. > And when are you removing this directory you created? Never, as the RTC subsystem cannot be compiled as a module. This is the main debugfs directory of RTC subsystem, directories for specific devices (rtc0, etc.) are created below it. Please correct me if I'm wrong, but I thought that empty debugfs directories do not hurt. Thanks for reviewing, Mateusz