Bartosz Golaszewski
3aaeaed8a8
rtc: rx8010: don't modify the global rtc ops
...
commit d3b14296da69adb7825022f3224ac6137eb30abf 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-10 10:23:59 +01:00
..
class.c
rtc: make class.c explicitly non-modular
2016-03-14 17:08:18 +01:00
hctosys.c
rtc: hctosys: Add missing range error reporting
2018-11-21 09:26:03 +01:00
interface.c
rtc: ensure rtc_set_alarm fails when alarms are not supported
2018-08-03 07:55:13 +02:00
Kconfig
rtc: max8907: add missing select REGMAP_IRQ
2020-04-02 17:20:26 +02:00
Makefile
rtc: isl12057: remove driver
2016-08-31 18:21:34 +02:00
rtc-88pm80x.c
rtc: 88pm80x: fix unintended sign extension
2020-01-29 10:24:14 +01:00
rtc-88pm860x.c
rtc: 88pm860x: fix unintended sign extension
2020-01-29 10:24:14 +01:00
rtc-ab-b5ze-s3.c
rtc: Export OF module alias information in missing drivers
2015-09-05 13:19:08 +02:00
rtc-ab3100.c
rtc-ab8500.c
rtc: ab8500: remove misuse of IRQF_NO_SUSPEND flag
2015-11-08 14:12:25 +01:00
rtc-abx80x.c
rtc: abx80x: use devm_add_action_or_reset()
2016-07-19 17:27:42 +02:00
rtc-ac100.c
rtc: ac100: Add NULL checking for devm_kzalloc call
2016-09-22 00:14:41 +02:00
rtc-armada38x.c
rtc: Fix module autoload for OF platform drivers
2015-09-05 19:37:22 +02:00
rtc-as3722.c
rtc: as3722: Drop IRQF_EARLY_RESUME flag
2016-03-14 17:08:25 +01:00
rtc-asm9260.c
rtc: asm9260: fix module autoload
2016-10-19 08:45:48 +02:00
rtc-at32ap700x.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-at91rm9200.c
rtc: at91rm9200: clear RTC alarm status flag prior to suspending
2015-11-08 14:12:28 +01:00
rtc-at91rm9200.h
rtc-at91sam9.c
rtc: at91sam9: Fix missing spin_lock_init()
2016-07-26 00:09:18 +02:00
rtc-au1xxx.c
rtc-bfin.c
rtc: Drop (un)likely before IS_ERR(_OR_NULL)
2015-09-05 13:19:09 +02:00
rtc-bq32k.c
rtc: bq32k: Fix handling of oscillator failure flag
2016-08-31 18:21:35 +02:00
rtc-bq4802.c
rtc: bq4802: add error handling for devm_ioremap
2018-09-26 08:36:39 +02:00
rtc-cmos.c
rtc: cmos: Stop using shared IRQ
2020-02-14 16:31:09 -05:00
rtc-coh901331.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-core.h
rtc: switch to using is_visible() to control sysfs attributes
2015-09-05 13:19:07 +02:00
rtc-da9052.c
rtc: explicitly set tm_sec = 0 for drivers with minute accurancy
2016-07-19 18:15:21 +02:00
rtc-da9055.c
rtc: explicitly set tm_sec = 0 for drivers with minute accurancy
2016-07-19 18:15:21 +02:00
rtc-da9063.c
rtc: da9063: set uie_unsupported when relevant
2019-05-08 07:19:10 +02:00
rtc-davinci.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-dev.c
rtc: dev: properly manage lifetime of dev and cdev in rtc device
2015-09-05 13:19:07 +02:00
rtc-digicolor.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-dm355evm.c
rtc-ds1216.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-ds1286.c
rtc: ds1286: move header to linux/rtc
2016-07-08 16:23:11 +02:00
rtc-ds1302.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-ds1305.c
rtc: simplify implementations of read_alarm
2016-07-09 10:24:45 +02:00
rtc-ds1307.c
rtc: ds1307: add Intersil ISL12057 support
2016-08-31 18:21:34 +02:00
rtc-ds1343.c
rtc: simplify implementations of read_alarm
2016-07-09 10:24:45 +02:00
rtc-ds1347.c
rtc: ds1347: changed raw spi calls to register map calls
2016-09-22 00:14:40 +02:00
rtc-ds1374.c
rtc: ds1374: wdt: Fix stop/start ioctl always returning -EINVAL
2018-03-24 11:00:22 +01:00
rtc-ds1390.c
RTC for 4.4
2015-11-10 10:01:21 -08:00
rtc-ds1511.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-ds1553.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-ds1672.c
rtc: ds1672: fix unintended sign extension
2020-01-29 10:24:14 +01:00
rtc-ds1685.c
rtc: simplify implementations of read_alarm
2016-07-09 10:24:45 +02:00
rtc-ds1742.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-ds2404.c
rtc: ds2404: move rtc-ds2404.h to platform_data
2016-06-27 10:48:28 +02:00
rtc-ds3232.c
rtc: simplify implementations of read_alarm
2016-07-09 10:24:45 +02:00
rtc-efi-platform.c
rtc-efi.c
rtc: efi: Fail probing if RTC reads don't work
2016-06-06 17:07:33 +02:00
rtc-em3027.c
rtc-ep93xx.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-fm3130.c
rtc: Drop owner assignment from i2c_driver
2015-09-05 13:19:06 +02:00
rtc-gemini.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-generic.c
rtc: generic: remove get_rtc_time/set_rtc_time wrappers
2016-06-04 00:23:35 +02:00
rtc-hid-sensor-time.c
rtc: hid-sensor-time: Constify platform_device_id
2015-06-19 20:03:20 +02:00
rtc-hym8563.c
rtc: hym8563: Return -EINVAL if the time is known to be invalid
2020-02-14 16:31:09 -05:00
rtc-imxdi.c
rtc: imxdi: fix spelling mistake in warning message
2016-01-11 20:19:58 +01:00
rtc-isl1208.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-isl12022.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-jz4740.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-lib.c
rtc: Fix overflow when converting time64_t to rtc_time
2019-03-27 14:13:04 +09:00
rtc-lp8788.c
rtc-lpc24xx.c
rtc: add rtc-lpc24xx driver
2015-09-05 13:19:06 +02:00
rtc-lpc32xx.c
rtc: lpc32xx: remove irq > NR_IRQS check from probe()
2016-01-11 20:19:59 +01:00
rtc-ls1x.c
MIPS: Loongson: Naming style cleanup and rework
2015-06-21 21:53:59 +02:00
rtc-m41t80.c
rtc: m41t80: Correct alarm month range with RTC reads
2019-01-09 16:16:45 +01:00
rtc-m41t93.c
spi: Drop owner assignment from spi_drivers
2015-10-28 10:30:17 +09:00
rtc-m41t94.c
spi: Drop owner assignment from spi_drivers
2015-10-28 10:30:17 +09:00
rtc-m48t35.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-m48t59.c
rtc: m48t59: clean up m48t59_nvram_read()/m48t59_nvram_write()
2015-09-05 13:19:10 +02:00
rtc-m48t86.c
rtc: m48t86: move m48t86.h to platform_data
2016-06-27 18:15:25 +02:00
rtc-max6900.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-max6902.c
spi: Drop owner assignment from spi_drivers
2015-10-28 10:30:17 +09:00
rtc-max6916.c
rtc: add support for Maxim max6916
2016-06-04 16:05:59 +02:00
rtc-max8907.c
rtc-max8925.c
rtc-max8997.c
rtc: max8997: Fix the returned value in case of error in 'max8997_rtc_read_alarm()'
2019-12-21 10:41:03 +01:00
rtc-max8998.c
rtc: ds1672, max6900, max8998: Add MODULE_DEVICE_TABLE
2015-06-25 01:13:36 +02:00
rtc-max77686.c
rtc: max77686: Use REGMAP_IRQ_REG for regmap-rtc-irqs initialisation
2016-03-14 17:08:27 +01:00
rtc-mc13xxx.c
rtc: mc13xxx: remove UIE signaling
2016-05-20 12:33:51 +02:00
rtc-mc146818-lib.c
rtc: cmos: ignore bogus century byte
2020-01-29 10:24:12 +01:00
rtc-mcp795.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-moxart.c
rtc: Fix module autoload for OF platform drivers
2015-09-05 19:37:22 +02:00
rtc-mpc5121.c
rtc: Fix module autoload for OF platform drivers
2015-09-05 19:37:22 +02:00
rtc-mrst.c
rtc: simplify implementations of read_alarm
2016-07-09 10:24:45 +02:00
rtc-msm6242.c
rtc: msm6242: Fix reading of 10-hour digit
2020-01-23 08:19:37 +01:00
rtc-mt6397.c
rtc: mt6397: fix alarm register overwrite
2020-01-23 08:19:34 +01:00
rtc-mv.c
rtc: Fix module autoload for OF platform drivers
2015-09-05 19:37:22 +02:00
rtc-mxc.c
rtc: mxc: remove UIE signaling
2016-05-20 12:33:51 +02:00
rtc-nuc900.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-omap.c
rtc: omap: Use define directive for PIN_CONFIG_ACTIVE_HIGH
2020-04-24 07:58:58 +02:00
rtc-opal.c
rtc: opal: Fix OPAL RTC driver OPAL_BUSY loops
2018-05-01 15:13:09 -07:00
rtc-palmas.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-pcap.c
rtc-pcf2123.c
rtc: pcf2123: Add missing error code assignment before test
2016-08-31 18:21:34 +02:00
rtc-pcf2127.c
rtc: pcf2127: fix a kmemleak caused in pcf2127_i2c_gather_write
2018-12-01 09:44:20 +01:00
rtc-pcf8523.c
rtc: pcf8523: set xtal load capacitance from DT
2019-11-06 12:18:04 +01:00
rtc-pcf8563.c
rtc: pcf8563: Clear event flags and disable interrupts before requesting irq
2020-01-29 10:24:26 +01:00
rtc-pcf8583.c
rtc: Drop owner assignment from i2c_driver
2015-09-05 13:19:06 +02:00
rtc-pcf50633.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-pcf85063.c
rtc: pcf85063: Add support for the PCF85063A device
2016-07-19 19:11:54 +02:00
rtc-pic32.c
rtc: pic32: Delete owner assignment
2016-08-31 18:21:35 +02:00
rtc-pl030.c
rtc-pl031.c
rtc: pl031: make interrupt optional
2017-12-25 14:23:43 +01:00
rtc-pm8xxx.c
rtc: pm8xxx: Fix issue in RTC write path
2020-04-24 07:59:09 +02:00
rtc-proc.c
rtc: fix module reference count in rtc-proc
2016-01-11 20:19:55 +01:00
rtc-ps3.c
rtc-puv3.c
rtc-pxa.c
rtc: sa1100/pxa: convert to run-time register mapping
2015-09-05 19:37:16 +02:00
rtc-r9701.c
spi: Drop owner assignment from spi_drivers
2015-10-28 10:30:17 +09: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: Compensate for Rockchip calendar deviation on November 31st
2015-12-20 13:39:00 +01:00
rtc-rp5c01.c
rtc: rp5c01: clean up rp5c01_nvram_read()/rp5c01_nvram_write()
2015-09-05 13:19:10 +02:00
rtc-rs5c313.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-rs5c348.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-rs5c372.c
rtc: simplify implementations of read_alarm
2016-07-09 10:24:45 +02:00
rtc-rv3029c2.c
rtc: rv3029: hide unused i2c device table
2016-05-21 17:07:16 +02:00
rtc-rv8803.c
rtc: rv8803: set VDETOFF and SWOFF via device tree
2016-10-12 13:24:39 +02:00
rtc-rx4581.c
spi: Drop owner assignment from spi_drivers
2015-10-28 10:30:17 +09:00
rtc-rx6110.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-rx8010.c
rtc: rx8010: don't modify the global rtc ops
2020-11-10 10:23:59 +01:00
rtc-rx8025.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-rx8581.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-s3c.c
rtc: s3c: Add s3c_rtc_{enable/disable}_clk in s3c_rtc_setfreq()
2016-07-19 17:48:06 +02:00
rtc-s3c.h
rtc-s5m.c
rtc: s5m: De-inline large functions to save space
2016-03-14 17:08:18 +01:00
rtc-s35390a.c
rtc: s35390a: Change buf's type to u8 in s35390a_init
2019-11-28 18:28:34 +01:00
rtc-sa1100.c
rtc: sa1100/pxa: convert to run-time register mapping
2015-09-05 19:37:16 +02:00
rtc-sa1100.h
rtc: sa1100/pxa: convert to run-time register mapping
2015-09-05 19:37:16 +02:00
rtc-sh.c
rtc: sh: Fix invalid alarm warning for non-enabled alarm
2019-05-08 07:19:08 +02:00
rtc-sirfsoc.c
rtc: sirfsoc: move to regmap APIs from platform-specific APIs
2015-09-05 13:19:06 +02:00
rtc-snvs.c
rtc: snvs: Add timeouts to avoid kernel lockups
2018-12-21 14:11:40 +01:00
rtc-spear.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-st-lpc.c
rtc: st: Update IP layout information to include Clocksource
2015-07-23 17:07:35 +01:00
rtc-starfire.c
rtc-stk17ta8.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-stmp3xxx.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-sun4v.c
rtc-sun6i.c
rtc: sun6i: Switch to the external oscillator
2017-03-12 06:41:52 +01:00
rtc-sunxi.c
rtc: sunxi: use of_device_get_match_data
2016-01-11 20:19:57 +01:00
rtc-sysfs.c
rtc: sysfs: fix a cast removing the const attribute
2016-08-31 18:21:35 +02:00
rtc-tegra.c
rtc: tegra: Implement clock handling
2017-04-21 09:31:24 +02:00
rtc-test.c
rtc-tile.c
rtc-tps6586x.c
rtc: tps6586x: rename so module can be autoloaded
2016-05-21 17:07:17 +02:00
rtc-tps65910.c
rtc: tps65910: Drop IRQF_EARLY_RESUME flag
2016-03-14 17:08:23 +01:00
rtc-tps80031.c
rtc: tps80031: Drop IRQF_EARLY_RESUME flag
2016-03-14 17:08:24 +01:00
rtc-twl.c
rtc: constify rtc_class_ops structures
2016-09-02 01:24:06 +02:00
rtc-tx4939.c
rtc: tx4939: avoid unintended sign extension on a 24 bit shift
2018-05-25 16:13:15 +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: Wire up alarm_irq_enable
2016-03-14 17:08:25 +01:00
rtc-vt8500.c
rtc: Fix module autoload for OF platform drivers
2015-09-05 19:37:22 +02:00
rtc-wm831x.c
rtc-wm8350.c
rtc-x1205.c
rtc: remove useless DRV_VERSION
2016-05-20 12:33:51 +02:00
rtc-xgene.c
rtc-zynqmp.c
rtc: zynqmp: Update seconds time programming logic
2016-05-20 12:33:51 +02:00
systohc.c
rtc: NTP: Add CONFIG_RTC_SYSTOHC_DEVICE for NTP synchronization
2015-06-25 01:13:42 +02:00