1
0
Fork 0
alistair23-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 rtc: core: correct trivial checkpatch warnings 2019-04-04 10:07:08 +02:00
hctosys.c rtc: core: correct trivial checkpatch warnings 2019-04-04 10:07:08 +02:00
interface.c rtc: disable uie before setting time and enable after 2019-12-17 19:56:52 +01:00
lib.c rtc: lib: check whether tm->tm_year in int32 range 2019-04-06 15:05:31 +02:00
nvmem.c rtc: core: correct trivial checkpatch warnings 2019-04-04 10:07:08 +02:00
proc.c rtc: core: correct trivial checkpatch warnings 2019-04-04 10:07:08 +02:00
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-b5ze-s3: correct checkpatch issues 2019-04-04 10:07:08 +02:00
rtc-ab-eoz9.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-ab3100.c rtc: ab3100: convert to SPDX identifier 2019-04-11 16:42:55 +02:00
rtc-ab8500.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
rtc-abx80x.c rtc: abx80x: remove useless .remove 2019-03-18 03:36:01 +01:00
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: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
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: coh901331: convert to SPDX identifier 2019-04-08 14:40:12 +02:00
rtc-core.h rtc: move rtc_add_group/s definitions 2018-09-28 14:20:59 +02:00
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 for 5.2 2019-05-09 14:46:33 -07:00
rtc-davinci.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-digicolor.c rtc: digicolor: convert to SPDX identifier 2019-05-08 22:14:31 +02:00
rtc-dm355evm.c rtc: dm355evm: convert to SPDX identifier 2019-04-04 10:07:09 +02:00
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 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 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: ep93xx: fix checkpatch issues 2019-04-19 22:37:16 +02:00
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: lpc32xx: convert to SPDX identifier 2019-04-12 12:23:20 +02:00
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: max6900: remove useless indirection 2018-03-17 14:20:46 +01:00
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: max8997: Fix the returned value in case of error in 'max8997_rtc_read_alarm()' 2018-11-22 18:11:35 +01:00
rtc-max8998.c rtc: maxim: Add SPDX license identifiers 2018-08-14 23:38:45 +02:00
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: meson: remove useless rtc_nvmem_unregister call 2019-02-17 21:28:39 +01:00
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: mv: add range 2019-04-04 10:06:54 +02:00
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: pcap: convert to SPDX identifier 2019-05-08 22:14:36 +02:00
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: pcf85063: add RTC_VL_READ/RTC_VL_CLR support 2019-04-04 10:07:11 +02:00
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: ps3: set range 2019-04-04 10:07:10 +02:00
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: Add Realtek RTD1295 2017-09-05 09:55:02 +02:00
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: rx6110: declare missing of table 2019-04-29 15:53:42 +02:00
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 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: 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 for 5.2 2019-05-09 14:46:33 -07:00
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: stop validating rtc_time after rtc_time_to_tm 2018-03-01 10:49:41 +01:00
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: stmp3xxx: convert to SPDX identifier 2019-04-11 16:42:55 +02:00
rtc-sun4v.c rtc: sun4v: switch to SPDX identifier 2019-04-04 10:07:10 +02:00
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: Use dev_get_drvdata() 2019-04-29 15:53:43 +02:00
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 platform/chrome: wilco_ec: Standardize mailbox interface 2019-04-15 16:07:42 +02:00
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 rtc: core: correct trivial checkpatch warnings 2019-04-04 10:07:08 +02:00
systohc.c rtc: drop set_mms and set_mmss64 2019-05-08 22:14:36 +02:00