linux/drivers/rtc
Bartosz Golaszewski da3ccf5b20 rtc: rx8010: don't modify the global rtc ops
commit d3b14296da upstream.

The way the driver is implemented is buggy for the (admittedly unlikely)
use case where there are two RTCs with one having an interrupt configured
and the second not. This is caused by the fact that we use a global
rtc_class_ops struct which we modify depending on whether the irq number
is present or not.

Fix it by using two const ops structs with and without alarm operations.
While at it: not being able to request a configured interrupt is an error
so don't ignore it and bail out of probe().

Fixes: ed13d89b08 ("rtc: Add Epson RX8010SJ RTC driver")
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20200914154601.32245-2-brgl@bgdev.pl
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-05 11:43:33 +01:00
..
Kconfig rtc: max8907: add missing select REGMAP_IRQ 2020-03-25 08:25:56 +01:00
Makefile rtc: fsl-ftm-alarm: add FTM alarm driver 2019-08-23 16:20:50 +02:00
class.c rtc: class: add debug message when registration fails 2019-08-20 21:44:45 +02:00
dev.c
hctosys.c
interface.c rtc: disable uie before setting time and enable after 2019-12-17 19:56:52 +01:00
lib.c
nvmem.c
proc.c
rtc-88pm80x.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-88pm860x.c rtc: 88pm860x: fix possible race condition 2020-04-23 10:36:31 +02:00
rtc-ab-b5ze-s3.c
rtc-ab-eoz9.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-ab3100.c
rtc-ab8500.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
rtc-abx80x.c
rtc-ac100.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-armada38x.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-as3722.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
rtc-asm9260.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-aspeed.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-at91rm9200.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-at91rm9200.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-at91sam9.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-au1xxx.c
rtc-bd70528.c rtc: bd70528: fix module alias to autoload module 2020-01-26 10:01:06 +01:00
rtc-bq32k.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-bq4802.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
rtc-brcmstb-waketimer.c rtc: brcmstb-waketimer: add missed clk_disable_unprepare 2020-01-17 19:49:03 +01:00
rtc-cadence.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-cmos.c rtc: cmos: Stop using shared IRQ 2020-02-14 16:34:12 -05:00
rtc-coh901331.c
rtc-core.h
rtc-cpcap.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
rtc-cros-ec.c mfd / platform: cros_ec: Reorganize platform and mfd includes 2019-09-02 11:33:42 +01:00
rtc-da9052.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-da9055.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-da9063.c
rtc-davinci.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-digicolor.c
rtc-dm355evm.c
rtc-ds1216.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
rtc-ds1286.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-ds1302.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 377 2019-06-05 17:37:10 +02:00
rtc-ds1305.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-ds1307.c RTC for 5.3 2019-07-17 10:03:50 -07:00
rtc-ds1343.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-ds1347.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-ds1374.c rtc: ds1374: fix possible race condition 2020-10-01 13:17:43 +02:00
rtc-ds1390.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-ds1511.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-ds1553.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-ds1672.c rtc: ds1672: remove unnecessary check 2019-08-21 09:57:23 +02:00
rtc-ds1685.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-ds1742.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-ds2404.c rtc: ds2404: use hw endiannes variable 2019-05-23 17:42:25 +02:00
rtc-ds3232.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-efi-platform.c
rtc-efi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-em3027.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-ep93xx.c
rtc-fm3130.c RTC for 5.3 2019-07-17 10:03:50 -07:00
rtc-fsl-ftm-alarm.c rtc: fsl-ftm-alarm: add FTM alarm driver 2019-08-23 16:20:50 +02:00
rtc-ftrtc010.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
rtc-generic.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
rtc-goldfish.c rtc: goldfish: Enable interrupt in set_alarm() when necessary 2020-08-26 10:40:54 +02:00
rtc-hid-sensor-time.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 335 2019-06-05 17:37:06 +02:00
rtc-hym8563.c rtc: hym8563: Return -EINVAL if the time is known to be invalid 2020-02-14 16:34:12 -05:00
rtc-imx-sc.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-imxdi.c rtc: imxdi: use devm_platform_ioremap_resource() to simplify code 2019-07-22 22:16:14 +02:00
rtc-isl1208.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-isl12022.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-isl12026.c rtc: isl12026: convert to i2c_new_dummy_device 2019-07-22 22:30:19 +02:00
rtc-jz4740.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-lp8788.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-lpc24xx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-lpc32xx.c
rtc-ls1x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-m41t80.c RTC for 5.3 2019-07-17 10:03:50 -07:00
rtc-m41t93.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-m41t94.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-m48t35.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-m48t59.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-m48t86.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-max6900.c
rtc-max6902.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-max6916.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-max8907.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-max8925.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-max8997.c
rtc-max8998.c
rtc-max77686.c rtc: max77686: convert to devm_i2c_new_dummy_device() 2019-09-01 09:18:35 +02:00
rtc-mc13xxx.c rtc: mc13xxx: fix a double-unlock issue 2020-06-24 17:50:12 +02:00
rtc-mc146818-lib.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
rtc-mcp795.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-meson-vrtc.c rtc: meson: mark PM functions as __maybe_unused 2019-09-10 16:14:15 +02:00
rtc-meson.c
rtc-moxart.c
rtc-mpc5121.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-mrst.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
rtc-msm6242.c rtc: msm6242: Fix reading of 10-hour digit 2020-01-17 19:49:03 +01:00
rtc-mt6397.c rtc: mt6397: fix alarm register overwrite 2020-01-17 19:48:16 +01:00
rtc-mt7622.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-mv.c
rtc-mxc.c rtc: mxc: use spin_lock_irqsave instead of spin_lock_irq in IRQ context 2019-08-12 23:04:25 +02:00
rtc-mxc_v2.c rtc: mxc_v2: use devm_platform_ioremap_resource() to simplify code 2019-07-22 22:16:12 +02:00
rtc-omap.c ARM: SoC-related driver updates 2019-05-16 09:19:14 -07:00
rtc-opal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 114 2019-05-24 17:39:01 +02:00
rtc-palmas.c
rtc-pcap.c
rtc-pcf2123.c rtc: pcf2123: add proper compatible string 2019-08-20 21:42:19 +02:00
rtc-pcf2127.c rtc: pcf2127: bugfix: watchdog build dependency 2019-08-27 18:24:15 +02:00
rtc-pcf8523.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-pcf8563.c rtc: pcf8563: let the core handle range offsetting 2019-09-01 10:57:47 +02:00
rtc-pcf8583.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-pcf50633.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-pcf85063.c
rtc-pcf85363.c rtc: pcf85363/pcf85263: fix regmap error in set_time 2019-09-01 08:48:28 +02:00
rtc-pic32.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-pl030.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-pl031.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-pm8xxx.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-ps3.c
rtc-puv3.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-pxa.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-r7301.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
rtc-r9701.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-rc5t583.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
rtc-rk808.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-rp5c01.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
rtc-rs5c313.c
rtc-rs5c348.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-rs5c372.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-rtd119x.c
rtc-rv3028.c rtc: rv3028: Add missed check for devm_regmap_init_i2c() 2020-06-24 17:50:36 +02:00
rtc-rv3029c2.c rtc: rv3029: revert error handling patch to rv3029_eeprom_write() 2019-08-21 09:57:23 +02:00
rtc-rv8803.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-rx4581.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-rx6110.c
rtc-rx8010.c rtc: rx8010: don't modify the global rtc ops 2020-11-05 11:43:33 +01:00
rtc-rx8025.c RTC for 5.3 2019-07-17 10:03:50 -07:00
rtc-rx8581.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-s3c.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-s3c.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-s5m.c rtc: s5m: convert to i2c_new_dummy_device 2019-07-23 20:34:31 +02:00
rtc-s35390a.c rtc: s35390a: convert to devm_i2c_new_dummy_device() 2019-09-01 09:18:35 +02:00
rtc-sa1100.c rtc: sa1100: fix possible race condition 2020-10-01 13:17:43 +02:00
rtc-sa1100.h
rtc-sc27xx.c rtc: sc27xx: Remove clearing SPRD_RTC_POWEROFF_ALM_FLAG flag 2019-09-10 16:14:13 +02:00
rtc-sd3078.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-sh.c
rtc-sirfsoc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 4 2019-05-21 11:28:40 +02:00
rtc-snvs.c rtc: snvs: switch to rtc_time64_to_tm/rtc_tm_to_time64 2019-09-01 08:48:23 +02:00
rtc-spear.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-st-lpc.c RTC for 5.3 2019-07-17 10:03:50 -07:00
rtc-starfire.c
rtc-stk17ta8.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-stm32.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-stmp3xxx.c
rtc-sun4v.c
rtc-sun6i.c rtc: sun6i: Add support for RTC clocks on R40 2020-01-14 20:08:21 +01:00
rtc-sunxi.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-tegra.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-test.c rtc: test: enable wakeup flags 2019-05-23 17:44:52 +02:00
rtc-tps6586x.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-tps65910.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-tps80031.c
rtc-twl.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-tx4939.c
rtc-v3020.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-vr41xx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
rtc-vt8500.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-wilco-ec.c
rtc-wm831x.c rtc: wm831x: Add IRQF_ONESHOT flag 2019-07-13 21:39:51 +02:00
rtc-wm8350.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-x1205.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-xgene.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-zynqmp.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
sysfs.c
systohc.c