linux-brain/drivers/rtc
Krzysztof Kozlowski 712e9ed613 rtc: max77686: Do not enforce (incorrect) interrupt trigger type
[ Upstream commit 742b0d7e15c333303daad4856de0764f4bc83601 ]

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-25 14:35:12 +02:00
..
Kconfig rtc: s5m: select REGMAP_I2C 2021-03-04 10:26:29 +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: fix snprintf() checking in is_rtc_hctosys() 2021-07-20 16:10:51 +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: ds1307: Fix wday settings for rx8130 2021-05-19 10:08:26 +02: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 NULL pointer dereference in ep93xx_rtc_read_time 2020-12-30 11:51:47 +01: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 MODULE_TABLE() 2021-05-19 10:08:25 +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: Do not enforce (incorrect) interrupt trigger type 2021-07-25 14:35:12 +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: add missing MODULE_DEVICE_TABLE 2021-07-25 14:35:11 +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: constify rtc_class_ops structures 2016-09-02 01:24:06 +02:00
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: fix pcf2127_nvmem_read/write() returns 2020-12-30 11:51:02 +01: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 rtc: pl031: fix resource leak in pl031_probe 2021-01-06 14:48:39 +01: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: stm32: Fix unbalanced clk_disable_unprepare() on probe error path 2021-07-14 16:53:05 +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: Fix memleak in sun6i_rtc_clk_init 2021-01-06 14:48:39 +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