Hans de Goede
fbb974ba69
rtc: cmos: Do not export alarm rtc_ops when we do not support alarms
...
When there is no IRQ configured for the RTC, the rtc-cmos code does not
support alarms, all alarm rtc_ops fail with -EIO / -EINVAL.
The rtc-core expects a rtc driver which does not support rtc alarms to
not have alarm ops at all. Otherwise the wakealarm sysfs attr will read
as empty rather then returning an error, making it impossible for
userspace to find out beforehand if alarms are supported.
A system without an IRQ for the RTC before this patch:
[root@localhost ~]# cat /sys/class/rtc/rtc0/wakealarm
[root@localhost ~]#
After this patch:
[root@localhost ~]# cat /sys/class/rtc/rtc0/wakealarm
cat: /sys/class/rtc/rtc0/wakealarm: No such file or directory
[root@localhost ~]#
This fixes gnome-session + systemd trying to use suspend-then-hibernate,
which causes systemd to abort the suspend when writing the RTC alarm fails.
BugLink: https://github.com/systemd/systemd/issues/9988
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2018-11-07 17:13:55 +01:00
..
class.c
rtc: unexport non devm managed registration
2018-09-13 15:43:05 +02:00
hctosys.c
rtc: hctosys: Ensure system time doesn't overflow time_t
2018-03-27 10:44:43 +02:00
interface.c
rtc: remove irq_task from kerneldoc
2018-09-13 15:43:07 +02:00
Kconfig
rtc: ds1685: drop RTC_DS1685_PROC_REGS
2018-09-28 14:21:00 +02:00
Makefile
rtc: reorder Makefile entries
2018-09-28 14:20:58 +02:00
nvmem.c
rtc: nvmem: don't use IS_ERR_OR_NULL
2018-05-21 22:34:38 +02:00
rtc-88pm80x.c
rtc: 88pm80x: convert to rtc_tm_to_time64/rtc_time64_to_tm
2018-05-17 22:23:21 +02:00
rtc-88pm860x.c
rtc: 88pm860x: remove artificial limitation
2018-03-27 10:45:04 +02:00
rtc-ab-b5ze-s3.c
rtc: ab-b5ze-s3: let the core handle the RTC range
2018-05-17 22:23:25 +02:00
rtc-ab3100.c
rtc: stop validating rtc_time after rtc_time64_to_tm
2018-03-01 10:49:41 +01:00
rtc-ab8500.c
rtc: ab8500: remove useless check
2018-09-28 14:36:49 +02:00
rtc-abx80x.c
rtc: abx80x: add basic watchdog support
2018-09-12 12:02:21 +02:00
rtc-ac100.c
treewide: Use struct_size() for devm_kmalloc() and friends
2018-06-06 11:15:43 -07:00
rtc-armada38x.c
rtc: armada38x: switch to rtc_time64_to_tm/rtc_tm_to_time64
2018-09-28 14:21:03 +02:00
rtc-as3722.c
rtc-asm9260.c
rtc: asm9260: fix module autoload
2016-10-19 08:45:48 +02:00
rtc-at91rm9200.c
rtc: at91rm9200: add range
2018-05-17 22:23:14 +02:00
rtc-at91rm9200.h
rtc-at91sam9.c
rtc: at91sam9: Set name of regmap_config
2018-03-17 14:20:57 +01:00
rtc-au1xxx.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-bq32k.c
rtc: remove VLA usage
2018-03-17 14:20:56 +01:00
rtc-bq4802.c
rtc: bq4802: add error handling for devm_ioremap
2018-07-11 20:41:01 +02:00
rtc-brcmstb-waketimer.c
rtc: brcmstb-waketimer: add range
2018-05-21 22:33:52 +02:00
rtc-cmos.c
rtc: cmos: Do not export alarm rtc_ops when we do not support alarms
2018-11-07 17:13:55 +01:00
rtc-coh901331.c
headers: separate linux/mod_devicetable.h from linux/platform_device.h
2018-07-07 17:52:26 +02:00
rtc-core.h
rtc: move rtc_add_group/s definitions
2018-09-28 14:20:59 +02:00
rtc-cpcap.c
headers: separate linux/mod_devicetable.h from linux/platform_device.h
2018-07-07 17:52:26 +02:00
rtc-cros-ec.c
rtc: cros-ec: Switch to SPDX identifier.
2018-06-07 20:09:49 +02:00
rtc-da9052.c
rtc: diasemi: stop validating rtc_time in .read_time
2018-03-02 10:11:02 +01:00
rtc-da9055.c
rtc: diasemi: stop validating rtc_time in .read_time
2018-03-02 10:11:02 +01:00
rtc-da9063.c
rtc: diasemi: stop validating rtc_time in .read_time
2018-03-02 10:11:02 +01:00
rtc-davinci.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-dev.c
rtc: simplify rtc_irq_set_state/rtc_irq_set_freq
2018-07-26 15:08:53 +02:00
rtc-digicolor.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-dm355evm.c
mfd: dm355evm_msp: Move header file out of I2C realm
2017-08-15 08:06:14 +01:00
rtc-ds1216.c
rtc: simplify getting .drvdata
2018-05-03 22:08:00 +02:00
rtc-ds1286.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds1302.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds1305.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds1307.c
rtc: ds1307: fix ds1339 wakealarm support
2018-10-22 17:53:14 +02:00
rtc-ds1343.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds1347.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds1374.c
rtc: ds1374: wdt: Fix stop/start ioctl always returning -EINVAL
2017-05-04 14:46:25 +02:00
rtc-ds1390.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds1511.c
rtc: simplify getting .drvdata
2018-05-03 22:08:00 +02:00
rtc-ds1553.c
rtc: simplify getting .drvdata
2018-05-03 22:08:00 +02:00
rtc-ds1672.c
rtc: constify i2c_device_id
2017-09-01 01:10:11 +02:00
rtc-ds1685.c
rtc: ds1685: simplify getting .driver_data
2018-10-22 17:53:12 +02:00
rtc-ds1742.c
rtc: ds1742: don't explicitly specify word_size and stride of nvmem
2018-05-21 22:34:36 +02:00
rtc-ds2404.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds3232.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-efi-platform.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
rtc-efi.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-em3027.c
rtc: constify i2c_device_id
2017-09-01 01:10:11 +02:00
rtc-ep93xx.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-fm3130.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ftrtc010.c
headers: separate linux/mod_devicetable.h from linux/platform_device.h
2018-07-07 17:52:26 +02:00
rtc-generic.c
rtc: generic: remove get_rtc_time/set_rtc_time wrappers
2016-06-04 00:23:35 +02:00
rtc-goldfish.c
rtc: goldfish: Add missing MODULE_LICENSE
2018-02-13 21:46:04 +01:00
rtc-hid-sensor-time.c
rtc: hid-sensor-time: remove some dead code
2017-04-22 17:56:18 +02:00
rtc-hym8563.c
rtc: hym8563: in .read_alarm set .tm_sec to 0 to signal minute accuracy
2016-07-19 18:18:06 +02:00
rtc-imxdi.c
sched/wait: Disambiguate wq_entry->task_list and wq_head->task_list naming
2017-06-20 12:19:14 +02:00
rtc-isl1208.c
rtc: isl1208: don't include core header file
2018-09-28 14:20:59 +02:00
rtc-isl12022.c
rtc: isl12022: use true and false for boolean values
2018-04-03 16:40:46 +02:00
rtc-isl12026.c
rtc: isl12026: fixup nvmem registration
2018-03-17 14:20:51 +01:00
rtc-jz4740.c
rtc: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-lib.c
rtc: lib: correct documentation typo
2018-09-28 14:21:02 +02:00
rtc-lp8788.c
rtc-lpc24xx.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-lpc32xx.c
rtc: simplify getting .drvdata
2018-05-03 22:08:00 +02:00
rtc-ls1x.c
rtc: ls1x: add range
2018-05-18 09:38:22 +02:00
rtc-m41t80.c
rtc: m41t80: mark expected switch fall-through
2018-10-16 12:56:58 +02:00
rtc-m41t93.c
rtc: m41t93: stop validating rtc_time in .read_time
2018-03-02 10:12:19 +01:00
rtc-m41t94.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-m48t35.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-m48t59.c
rtc: m48t59: remove redundant pointer 'name'
2018-07-12 21:17:36 +02:00
rtc-m48t86.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-max6900.c
rtc: max6900: remove useless indirection
2018-03-17 14:20:46 +01:00
rtc-max6902.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-max6916.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-max8907.c
rtc-max8925.c
rtc: max8925: remove redundant check on ret
2017-07-31 00:17:48 +02:00
rtc-max8997.c
rtc: maxim: Add SPDX license identifiers
2018-08-14 23:38:45 +02:00
rtc-max8998.c
rtc: maxim: Add SPDX license identifiers
2018-08-14 23:38:45 +02:00
rtc-max77686.c
rtc: maxim: Add SPDX license identifiers
2018-08-14 23:38:45 +02:00
rtc-mc13xxx.c
headers: separate linux/mod_devicetable.h from linux/platform_device.h
2018-07-07 17:52:26 +02:00
rtc-mc146818-lib.c
rtc: move mc146818 helper functions out-of-line
2016-06-26 01:20:08 +02:00
rtc-mcp795.c
rtc: remove VLA usage
2018-03-17 14:20:56 +01:00
rtc-moxart.c
rtc-mpc5121.c
rtc: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-mrst.c
rtc: mrst: remove set but not used variable 'valid'
2018-08-31 11:17:41 +02:00
rtc-msm6242.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-mt6397.c
rtc: mt6397: fix possible race condition
2018-09-11 13:56:20 +02:00
rtc-mt7622.c
rtc: mt7622: fix module autoloading for OF platform drivers
2018-04-03 16:40:48 +02:00
rtc-mv.c
rtc: mv: let the core handle invalid alarms
2018-10-03 11:07:24 +02:00
rtc-mxc.c
rtc: mxc: Switch to SPDX identifier
2018-05-22 09:47:17 +02:00
rtc-mxc_v2.c
headers: separate linux/mod_devicetable.h from linux/platform_device.h
2018-07-07 17:52:26 +02:00
rtc-nuc900.c
rtc: nuc900: stop validating rtc_time in .read_time
2018-03-02 10:12:17 +01:00
rtc-omap.c
rtc: omap: Cut down the shutdown time from 2 seconds to 1 sec
2018-08-27 22:51:57 +02:00
rtc-opal.c
rtc: opal: Fix OPAL RTC driver OPAL_BUSY loops
2018-04-25 13:24:13 +10:00
rtc-palmas.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-pcap.c
rtc: simplify getting .drvdata
2018-05-03 22:08:00 +02:00
rtc-pcf2123.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-pcf2127.c
rtc: pcf2127: add support for accessing internal static RAM
2018-07-11 20:41:22 +02:00
rtc-pcf8523.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-pcf8563.c
rtc: pcf8563: don't alway enable the alarm
2017-11-09 01:16:36 +01:00
rtc-pcf8583.c
rtc-pcf50633.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-pcf85063.c
rtc: pcf85063: preserve control register value between stop and start
2018-07-28 14:49:25 +02:00
rtc-pcf85363.c
rtc: pcf85363: set time accurately
2018-03-17 14:20:49 +01:00
rtc-pic32.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-pl030.c
rtc: pl030: fix possible race condition
2018-09-11 13:56:35 +02:00
rtc-pl031.c
rtc: pl031: switch to devm_rtc_allocate_device/rtc_register_device
2018-09-11 13:56:35 +02:00
rtc-pm8xxx.c
rtc: pm8xxx: Fix issue in RTC write path
2018-03-17 14:20:52 +01:00
rtc-proc.c
rtc/proc: switch to proc_create_single_data
2018-05-16 07:24:30 +02:00
rtc-ps3.c
rtc: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-puv3.c
rtc: puv3: make alarms useful
2017-08-22 12:05:21 +02:00
rtc-pxa.c
rtc: pxa: fix probe function
2018-06-07 20:11:08 +02:00
rtc-r7301.c
headers: separate linux/mod_devicetable.h from linux/platform_device.h
2018-07-07 17:52:26 +02:00
rtc-r9701.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-rc5t583.c
rtc: explicitly set tm_sec = 0 for drivers with minute accurancy
2016-07-19 18:15:21 +02:00
rtc-rk808.c
rtc: rk808: fix possible race condition
2018-03-17 14:20:42 +01:00
rtc-rp5c01.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-rs5c313.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-rs5c348.c
rtc: rs5c348: report error when time is invalid
2018-09-28 14:21:03 +02:00
rtc-rs5c372.c
rtc: rs5c372: remove useless indirection
2018-03-17 14:20:45 +01:00
rtc-rtd119x.c
rtc: Add Realtek RTD1295
2017-09-05 09:55:02 +02:00
rtc-rv3029c2.c
rtc: rv3029: Clean up error handling in rv3029_eeprom_write()
2017-10-12 16:24:19 +02:00
rtc-rv8803.c
rtc: rv8803: add Epson RX8803 support
2018-08-27 23:24:36 +02:00
rtc-rx4581.c
rtc: rx4581: remove useless message
2018-03-02 10:12:24 +01:00
rtc-rx6110.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-rx8010.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-rx8025.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-rx8581.c
rtc: rx8581: switch to regmap
2018-05-17 22:43:22 +02:00
rtc-s3c.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-s3c.h
rtc-s5m.c
rtc: s5m: Add SPDX license identifier
2018-08-14 23:38:47 +02:00
rtc-s35390a.c
rtc: s35390a: Change buf's type to u8 in s35390a_init
2018-10-22 19:29:43 +02:00
rtc-sa1100.c
rtc: sa1100: don't set PIE frequency
2018-07-25 15:29:43 +02:00
rtc-sa1100.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
rtc-sc27xx.c
rtc: sc27xx: Always read normal alarm when registering RTC device
2018-10-25 02:35:42 +02:00
rtc-sh.c
RTC for 4.19
2018-08-20 16:30:27 -07:00
rtc-sirfsoc.c
rtc: sirfsoc: remove useless sirfsoc_rtc_ioctl
2018-03-01 10:49:27 +01:00
rtc-snvs.c
rtc: snvs: Add timeouts to avoid kernel lockups
2018-07-11 20:41:09 +02:00
rtc-spear.c
rtc: spear: stop validating rtc_time in .set_time and .set_alarm
2018-03-02 10:12:21 +01:00
rtc-st-lpc.c
rtc: st-lpc: add range
2018-05-23 09:26:19 +02:00
rtc-starfire.c
rtc: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-stk17ta8.c
rtc: simplify getting .drvdata
2018-05-03 22:08:00 +02:00
rtc-stm32.c
rtc: stm32: add stm32mp1 rtc support
2018-05-22 20:10:54 +02:00
rtc-stmp3xxx.c
rtc: stmp3xxx: Don't reset the rtc in .probe() when watchdog is running
2018-07-11 20:42:08 +02:00
rtc-sun4v.c
rtc: sparc: make sun4v explicitly non-modular
2016-11-04 23:31:33 +01:00
rtc-sun6i.c
rtc: sun6i: Use struct_size() in kzalloc()
2018-08-27 23:02:18 +02:00
rtc-sunxi.c
rtc: sunxi: fix possible race condition
2018-06-04 14:36:14 +02:00
rtc-sysfs.c
rtc: sysfs: fix NULL check in rtc_add_groups()
2018-08-27 23:03:34 +02:00
rtc-tegra.c
rtc: tegra: Propagate errors from platform_get_irq()
2018-10-16 12:56:56 +02:00
rtc-test.c
rtc: test: Switch to SPDX identifier
2018-09-28 14:21:00 +02:00
rtc-tps6586x.c
rtc: tps6586x: let the core handle rtc range
2018-05-17 22:54:24 +02:00
rtc-tps65910.c
rtc: tps65910: add range
2018-05-17 22:37:11 +02:00
rtc-tps80031.c
rtc-twl.c
mfd: twl: Move header file out of I2C realm
2017-09-04 14:41:02 +01:00
rtc-tx4939.c
rtc: tx4939: fixup nvmem name and register size
2018-09-28 14:20:59 +02:00
rtc-v3020.c
rtc: v3020: move rtc-v3020.h to platform_data
2016-07-09 10:24:21 +02:00
rtc-vr41xx.c
rtc: vr41xx: switch to rtc_time64_to_tm/rtc_tm_to_time64
2018-10-03 11:07:22 +02:00
rtc-vt8500.c
rtc-wm831x.c
rtc: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-wm8350.c
rtc: wm8350: Remove unused to_wm8350_from_rtc_dev
2017-03-16 22:59:54 +01:00
rtc-x1205.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-xgene.c
rtc: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-zynqmp.c
rtc: simplify getting .drvdata
2018-05-03 22:08:00 +02:00
systohc.c
rtc: remove a warning during scripts/kernel-doc step
2018-03-27 10:45:05 +02:00