kernel_optimize_test/drivers/rtc
Krzysztof Kozlowski cdb995a6cb 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:36:16 +02:00
..
class.c rtc: class: remove redundant assignment to variable err 2020-04-02 18:47:30 +02:00
dev.c compat_ioctl: move rtc handling into drivers/rtc/dev.c 2019-10-23 17:23:43 +02:00
interface.c rtc: interface: fix kerneldoc comments 2019-11-27 09:31:08 +01:00
Kconfig rtc: zynqmp: depend on HAS_IOMEM 2021-03-04 11:38:03 +01:00
lib.c
Makefile rtc: rv3032: Add a driver for Microcrystal RV-3032 2020-10-19 22:47:56 +02:00
nvmem.c
proc.c rtc: fix snprintf() checking in is_rtc_hctosys() 2021-07-20 16:05:55 +02:00
rtc-88pm80x.c
rtc-88pm860x.c rtc: 88pm860x: remove useless range check 2020-04-18 22:42:06 +02:00
rtc-ab-b5ze-s3.c rtc: Replace HTTP links with HTTPS ones 2020-07-16 11:17:52 +02:00
rtc-ab-eoz9.c
rtc-ab3100.c
rtc-ab8500.c rtc: ab8500: switch to rtc_time64_to_tm/rtc_tm_to_time64 2020-03-16 11:12:11 +01:00
rtc-abx80x.c rtc: abx80x: Provide debug feedback for invalid dt properties 2020-06-06 00:16:24 +02:00
rtc-ac100.c
rtc-armada38x.c rtc: armada38x: Use of_device_get_match_data() 2019-10-07 15:49:20 +02:00
rtc-as3722.c
rtc-asm9260.c rtc: asm9260: add the missed check for devm_clk_get 2019-12-23 11:16:23 +01:00
rtc-aspeed.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-at91rm9200.c rtc: at91rm9200: use FIELD_PREP/FIELD_GET 2020-01-15 15:11:10 +01:00
rtc-at91sam9.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-au1xxx.c rtc: au1xxx: switch to rtc_time64_to_tm/rtc_tm_to_time64 2020-03-16 11:12:09 +01:00
rtc-bd70528.c rtc: bd70528: Avoid double error messaging when IRQ absent 2020-03-23 09:27:17 +01:00
rtc-bq32k.c rtc: Replace HTTP links with HTTPS ones 2020-07-16 11:17:52 +02:00
rtc-bq4802.c
rtc-brcmstb-waketimer.c rtc: brcmstb-waketimer: add missed clk_disable_unprepare 2019-11-08 16:14:09 +01:00
rtc-cadence.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-cmos.c rtc: cmos: zero-init wkalrm when reading from CMOS 2020-08-21 00:10:33 +02:00
rtc-coh901331.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-core.h
rtc-cpcap.c rtc: cpcap: fix range 2020-07-02 22:32:00 +02:00
rtc-cros-ec.c cros_ec: treewide: Remove 'include/linux/mfd/cros_ec.h' 2020-01-07 17:36:46 +01:00
rtc-da9052.c rtc: da9052: switch to rtc_time64_to_tm/rtc_tm_to_time64 2020-04-01 12:33:43 +02:00
rtc-da9055.c
rtc-da9063.c rtc: da9063: Handle invalid IRQ from platform_get_irq_byname() 2019-10-07 15:49:18 +02:00
rtc-davinci.c rtc: davinci: remove useless error handling 2020-03-16 11:12:09 +01:00
rtc-digicolor.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-dm355evm.c
rtc-ds1216.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-ds1286.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-ds1302.c rtc: ds1302: Remove unused DRV_NAME 2019-11-15 11:58:14 +01:00
rtc-ds1305.c rtc: ds1305: switch to rtc_tm_to_time64 2020-03-16 11:12:10 +01:00
rtc-ds1307.c rtc: ds1307: Fix wday settings for rx8130 2021-05-19 10:13:05 +02:00
rtc-ds1343.c rtc: ds1343: Remove unused struct spi_device in struct ds1343_priv 2019-12-23 11:22:32 +01:00
rtc-ds1347.c rtc: ds1347: handle century register 2019-10-07 15:49:38 +02:00
rtc-ds1374.c rtc: ds1374: remove unused define 2020-07-21 09:56:46 +02:00
rtc-ds1390.c
rtc-ds1511.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-ds1553.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-ds1672.c
rtc-ds1685.c rtc: ds1685: Fix bank switching to avoid endless loop 2020-09-15 11:24:29 +02:00
rtc-ds1742.c
rtc-ds2404.c
rtc-ds3232.c
rtc-efi.c
rtc-em3027.c rtc: em3027: correct month value 2019-11-08 16:14:09 +01:00
rtc-ep93xx.c rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time 2020-12-30 11:54:29 +01:00
rtc-fm3130.c
rtc-fsl-ftm-alarm.c rtc: fsl-ftm-alarm: add MODULE_TABLE() 2021-05-19 10:13:03 +02:00
rtc-ftrtc010.c
rtc-generic.c
rtc-goldfish.c rtc: goldfish: Enable interrupt in set_alarm() when necessary 2020-07-16 11:15:43 +02:00
rtc-hid-sensor-time.c
rtc-hym8563.c rtc: hym8563: Read the valid flag directly instead of caching it 2019-12-23 11:18:06 +01:00
rtc-imx-sc.c rtc: imx-sc: Align imx sc msg structs to 4 2020-03-29 22:08:35 +02:00
rtc-imxdi.c rtc: imxdi: fix trivial typos 2020-07-02 22:32:01 +02:00
rtc-isl1208.c
rtc-isl12022.c
rtc-isl12026.c
rtc-jz4740.c rtc: ingenic: Reset regulator register in probe 2020-05-11 16:35:05 +02:00
rtc-lp8788.c
rtc-lpc24xx.c rtc: remove unnecessary error message after platform_get_irq 2020-04-15 09:56:17 +02:00
rtc-lpc32xx.c rtc: lpc32xx: remove .remove 2019-11-08 16:14:09 +01:00
rtc-ls1x.c
rtc-m41t80.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
rtc-m41t93.c
rtc-m41t94.c
rtc-m48t35.c rtc: m48t35: remove SGI-IP27 kludge 2020-03-16 11:12:11 +01:00
rtc-m48t59.c
rtc-m48t86.c rtc: Use devm_platform_ioremap_resource() 2019-10-06 21:04:51 +02:00
rtc-max6900.c
rtc-max6902.c
rtc-max6916.c
rtc-max8907.c
rtc-max8925.c
rtc-max8997.c
rtc-max8998.c
rtc-max77686.c rtc: max77686: Do not enforce (incorrect) interrupt trigger type 2021-07-25 14:36:16 +02:00
rtc-mc13xxx.c rtc: mc13xxx: fix a double-unlock issue 2020-05-11 16:21:50 +02:00
rtc-mc146818-lib.c rtc: cmos: Revert "rtc: Fix the AltCentury value on AMD/Hygon platform" 2020-01-04 05:31:50 +01:00
rtc-mcp795.c rtc: Replace HTTP links with HTTPS ones 2020-07-16 11:17:52 +02:00
rtc-meson-vrtc.c rtc: meson: simplify the return expression of meson_vrtc_probe 2020-09-29 22:19:15 +02:00
rtc-meson.c rtc: meson: remove redundant assignment to variable retries 2019-11-27 09:31:13 +01:00
rtc-moxart.c rtc: moxart: Convert to SPDX identifier 2019-12-23 11:23:49 +01:00
rtc-mpc5121.c rtc: mpc5121: Use correct return value for mpc5121_rtc_probe() 2020-05-30 04:12:38 +02:00
rtc-mrst.c
rtc-msm6242.c rtc: msm6242: Remove unneeded msm6242_set()/msm6242_clear() functions 2019-11-18 15:23:54 +01:00
rtc-mt2712.c rtc: mt2712: switch to devm_platform_ioremap_resource 2020-04-18 22:42:04 +02:00
rtc-mt6397.c rtc: mt6397: Remove unused member dev 2020-10-15 12:01:29 +02:00
rtc-mt7622.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-mv.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-mxc_v2.c rtc: mxc_v2: add missing MODULE_DEVICE_TABLE 2021-07-25 14:36:12 +02:00
rtc-mxc.c rtc: mxc: Use devm_add_action_or_reset() for calls to clk_disable_unprepare() 2020-03-22 22:10:41 +01:00
rtc-omap.c rtc: omap: drop unused dt-bindings header 2020-03-23 09:27:17 +01:00
rtc-opal.c
rtc-palmas.c
rtc-pcap.c
rtc-pcf2123.c
rtc-pcf2127.c rtc: pcf2127: only use watchdog when explicitly available 2021-01-09 13:46:22 +01:00
rtc-pcf8523.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
rtc-pcf8563.c rtc: pcf8563: Use BIT 2019-12-23 11:23:53 +01:00
rtc-pcf8583.c
rtc-pcf50633.c
rtc-pcf85063.c rtc: pcf85063: fallback to parent of_node 2021-05-26 12:06:57 +02:00
rtc-pcf85363.c
rtc-pic32.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-pl030.c rtc: pl030: switch to rtc_time64_to_tm/rtc_tm_to_time64 2020-03-16 11:12:09 +01:00
rtc-pl031.c rtc: pl031: fix resource leak in pl031_probe 2021-01-06 14:56:53 +01:00
rtc-pm8xxx.c rtc: pm8xxx: clear alarm register when alarm is not enabled 2020-03-23 09:27:17 +01:00
rtc-ps3.c
rtc-pxa.c
rtc-r7301.c rtc: Use devm_platform_ioremap_resource() 2019-10-06 21:04:51 +02:00
rtc-r9701.c rtc: r9701: set range 2020-10-19 22:48:55 +02:00
rtc-rc5t583.c
rtc-rc5t619.c rtc: rc5t619: Fix an ERR_PTR vs NULL check 2020-04-15 09:58:24 +02:00
rtc-rk808.c
rtc-rp5c01.c
rtc-rs5c313.c rtc: rtc-rs5c313: Convert to module_platform_driver() 2020-08-21 00:13:44 +02:00
rtc-rs5c348.c
rtc-rs5c372.c
rtc-rtd119x.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-rv3028.c rtc: rv3028: ensure ram configuration registers are saved 2020-10-15 12:09:35 +02:00
rtc-rv3029c2.c rtc: rv3029: remove useless error messages 2019-12-23 11:16:23 +01:00
rtc-rv3032.c rtc: rv3032: Add a driver for Microcrystal RV-3032 2020-10-19 22:47:56 +02:00
rtc-rv8803.c rtc: rv8803: simplify the return expression of rv8803_nvram_write 2020-09-29 22:20:10 +02:00
rtc-rx4581.c
rtc-rx6110.c rtc: rx6110: Convert to SPDX identifier 2019-11-15 11:58:12 +01:00
rtc-rx8010.c rtc: rx8010: rename rx8010_init_client() to rx8010_init() 2020-09-29 22:18:10 +02:00
rtc-rx8025.c rtc: rx8025: Remove struct i2c_client from struct rx8025_data 2019-12-23 11:22:21 +01:00
rtc-rx8581.c
rtc-s3c.c rtc: s3c: Simplify with dev_err_probe() 2020-09-15 10:42:36 +02:00
rtc-s3c.h
rtc-s5m.c
rtc-s35390a.c rtc: s35390a: set range 2019-10-19 22:33:05 +02:00
rtc-sa1100.c rtc: sa1100: switch to rtc_time64_to_tm/rtc_tm_to_time64 2020-03-16 11:12:09 +01:00
rtc-sa1100.h
rtc-sc27xx.c rtc: sc27xx: remove .remove 2019-11-08 16:14:09 +01:00
rtc-sd3078.c
rtc-sh.c rtc: sh: Restore devm_ioremap() alignment 2020-02-12 12:21:40 +01:00
rtc-sirfsoc.c rtc: sirfsoc: switch to rtc_time64_to_tm/rtc_tm_to_time64 2020-03-16 11:12:09 +01:00
rtc-snvs.c rtc: snvs: Add necessary clock operations for RTC APIs 2020-05-30 03:17:48 +02:00
rtc-spear.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-st-lpc.c rtc: st-lpc: Constify st_rtc_ops 2020-09-15 11:21:50 +02:00
rtc-starfire.c rtc: starfire: switch to rtc_time64_to_tm 2020-03-16 11:12:09 +01:00
rtc-stk17ta8.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-stm32.c rtc: stm32: Fix unbalanced clk_disable_unprepare() on probe error path 2021-07-14 16:55:44 +02:00
rtc-stmp3xxx.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
rtc-sun4v.c
rtc-sun6i.c rtc: sun6i: Fix memleak in sun6i_rtc_clk_init 2021-01-06 14:56:53 +01:00
rtc-sunxi.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-tegra.c rtc: tegra: remove set but unused variable 2019-11-27 09:31:13 +01:00
rtc-test.c
rtc-tps6586x.c rtc: tps6586x: Use IRQ_NOAUTOEN flag 2020-01-25 21:50:18 +01:00
rtc-tps65910.c rtc: tps65910: allow using RTC without alarm interrupt 2019-11-17 22:24:33 +01:00
rtc-tps80031.c
rtc-twl.c
rtc-tx4939.c rtc: use devm_platform_ioremap_resource() to simplify code 2019-10-07 01:07:35 +02:00
rtc-v3020.c rtc: v3020: remove set but unused variable 2019-11-27 09:31:13 +01:00
rtc-vr41xx.c compat_ioctl: move rtc handling into drivers/rtc/dev.c 2019-10-23 17:23:43 +02:00
rtc-vt8500.c rtc: vt8500: let the core handle rtc range 2019-10-19 22:33:15 +02:00
rtc-wilco-ec.c rtc: wilco-ec: Handle reading invalid times 2019-10-14 17:49:17 +02:00
rtc-wm831x.c
rtc-wm8350.c
rtc-x1205.c
rtc-xgene.c rtc: xgene: Remove unused struct device in struct xgene_rtc_dev 2019-11-27 09:31:14 +01:00
rtc-zynqmp.c rtc: zynqmp: Clear alarm interrupt status before interrupt enable 2020-02-12 12:21:42 +01:00
sysfs.c rtc: sysfs: use kobj_to_dev 2020-03-16 11:12:08 +01:00
systohc.c