linux-stable/drivers/rtc
Krzysztof Kozlowski d960ac78b8 rtc: max77686: Do not enforce (incorrect) interrupt trigger type
[ Upstream commit 742b0d7e15 ]

Interrupt line can be configured on different hardware in different way,
even inverted.  Therefore driver should not enforce specific trigger
type - edge falling - but instead rely on Devicetree to configure it.

The Maxim 77686 datasheet describes the interrupt line as active low
with a requirement of acknowledge from the CPU therefore the edge
falling is not correct.

The interrupt line is shared between PMIC and RTC driver, so using level
sensitive interrupt is here especially important to avoid races.  With
an edge configuration in case if first PMIC signals interrupt followed
shortly after by the RTC, the interrupt might not be yet cleared/acked
thus the second one would not be noticed.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20210526172036.183223-6-krzysztof.kozlowski@canonical.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-07-28 11:13:44 +02:00
..
class.c rtc: remove irq_task and irq_task_lock 2018-07-26 15:08:53 +02:00
hctosys.c rtc: hctosys: Add missing range error reporting 2018-11-21 09:19:23 +01:00
interface.c rtc: disable uie before setting time and enable after 2019-12-17 20:35:43 +01:00
Kconfig rtc: s5m: select REGMAP_I2C 2021-03-04 09:39:44 +01:00
Makefile RTC for 4.17 2018-04-10 10:22:27 -07: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: fix unintended sign extension 2020-01-27 14:50:20 +01:00
rtc-88pm860x.c rtc: 88pm860x: fix possible race condition 2020-04-23 10:30:18 +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: Drop AB8540 support 2018-03-27 10:45:05 +02:00
rtc-abx80x.c rtc: abx80x: remove useless message 2018-03-02 10:12:23 +01: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: fix possible race condition 2019-11-20 18:47:52 +01: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 missed clk_disable_unprepare 2020-01-17 19:47:13 +01:00
rtc-cmos.c rtc: cmos: Stop using shared IRQ 2020-02-14 16:33:24 -05: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: sysfs: facilitate attribute add to rtc device 2018-08-14 22:56:27 +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: Fail suspend/resume if wake IRQ can't be configured 2019-05-08 07:21:45 +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: da9063: set uie_unsupported when relevant 2019-05-08 07:21:49 +02: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 wday settings for rx8130 2021-05-22 10:59:43 +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: fix possible race condition 2020-10-01 13:14:38 +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: ds1672: fix unintended sign extension 2020-01-27 14:50:19 +01:00
rtc-ds1685.c rtc: ds1685: remove sysfs access to control registers 2018-06-20 12:38:14 +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-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-goldfish.c rtc: goldfish: Enable interrupt in set_alarm() when necessary 2020-08-26 10:31:00 +02:00
rtc-hid-sensor-time.c iio/hid-sensors: Fix IIO_CHAN_INFO_RAW returning wrong values for signed numbers 2018-12-05 19:32:13 +01:00
rtc-hym8563.c rtc: hym8563: Return -EINVAL if the time is known to be invalid 2020-02-14 16:33:24 -05: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: avoid possible sysfs race 2019-11-20 18:47:52 +01: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: fix rtc_time64_to_tm for 3477 2018-03-17 14:20:50 +01: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: Correct alarm month range with RTC reads 2019-01-09 17:38:48 +01: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: max8997: Fix the returned value in case of error in 'max8997_rtc_read_alarm()' 2019-12-13 08:51: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: Do not enforce (incorrect) interrupt trigger type 2021-07-28 11:13:44 +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: cmos: ignore bogus century byte 2020-01-27 14:50:14 +01: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: fix error code in probe() 2018-06-20 12:43:11 +02:00
rtc-msm6242.c rtc: msm6242: Fix reading of 10-hour digit 2020-01-17 19:47:13 +01:00
rtc-mt6397.c rtc: mt6397: Don't call irq_dispose_mapping. 2020-01-27 14:50:37 +01: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: simplify getting .drvdata 2018-05-03 22:08:00 +02:00
rtc-mxc.c rtc: mxc: Switch to SPDX identifier 2018-05-22 09:47:17 +02:00
rtc-mxc_v2.c rtc: mxc_v2: add missing MODULE_DEVICE_TABLE 2021-07-28 11:13:42 +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: Use define directive for PIN_CONFIG_ACTIVE_HIGH 2020-04-17 10:48:51 +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: bugfix: read rtc disables watchdog 2020-01-27 14:51:07 +01:00
rtc-pcf8523.c rtc: pcf8523: set xtal load capacitance from DT 2019-11-06 13:05:33 +01:00
rtc-pcf8563.c rtc: pcf8563: Clear event flags and disable interrupts before requesting irq 2020-01-27 14:50:56 +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/pcf85263: fix regmap error in set_time 2019-10-07 18:57:12 +02: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 2019-11-20 18:46:18 +01:00
rtc-pl031.c rtc: pl031: make interrupt optional 2017-10-12 16:30:30 +02:00
rtc-pm8xxx.c rtc: pm8xxx: fix unintended sign extension 2020-01-27 14:50:20 +01:00
rtc-proc.c rtc: fix snprintf() checking in is_rtc_hctosys() 2021-07-20 16:16:14 +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-rs5c348.c rtc: rs5c348: let the core handle invalid time 2018-03-01 10:49:40 +01: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: revert error handling patch to rv3029_eeprom_write() 2020-01-27 14:51:06 +01:00
rtc-rv8803.c rtc: rv8803: fix the rv8803 id in the OF table 2019-11-20 18:45:25 +01: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: rx8010: don't modify the global rtc ops 2020-11-05 11:08:54 +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: s3c-rtc: Avoid using broken ALMYEAR register 2019-12-13 08:51:16 +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 2019-12-01 09:16:52 +01:00
rtc-sa1100.c rtc: sa1100: fix possible race condition 2020-10-01 13:14:37 +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: sprd: Add new RTC power down check method 2018-05-31 23:02:11 +02:00
rtc-sh.c rtc: sh: Fix invalid alarm warning for non-enabled alarm 2019-05-08 07:21:46 +02:00
rtc-sirfsoc.c rtc: sirfsoc: remove useless sirfsoc_rtc_ioctl 2018-03-01 10:49:27 +01:00
rtc-snvs.c rtc: snvs: fix possible race condition 2019-10-07 18:57:11 +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: Fix unbalanced clk_disable_unprepare() on probe error path 2021-07-20 16:15:41 +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: Fix memleak in sun6i_rtc_clk_init 2021-01-06 14:45:01 +01: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() 2019-11-20 18:45:25 +01:00
rtc-tegra.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
rtc-test.c rtc: test: make array pdev static 2018-07-12 20:16:10 +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 2019-11-20 18:47:52 +01:00
rtc-v3020.c
rtc-vr41xx.c rtc: vr41xx: add range 2018-05-17 22:54:21 +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-xgene.c rtc: xgene: fix possible race condition 2019-05-31 06:46:26 -07: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