Gregory CLEMENT
489405fe5e
rtc: armada38x: fix concurrency access in armada38x_rtc_set_time
...
While setting the time, the RTC TIME register should not be accessed.
However due to hardware constraints, setting the RTC time involves
sleeping during 100ms. This sleep was done outside the critical section
protected by the spinlock, so it was possible to read the RTC TIME
register and get an incorrect value. This patch introduces a mutex for
protecting the RTC TIME access, unlike the spinlock it is allowed to
sleep in a critical section protected by a mutex.
The RTC STATUS register can still be used from the interrupt handler but
it has no effect on setting the time.
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: <stable@vger.kernel.org> [4.0]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-05-05 17:10:11 -07:00
..
class.c
drivers/rtc/class.c: initialize rtc name early
2015-04-17 09:04:01 -04:00
hctosys.c
rtc: use more standard kernel logging styles
2015-04-17 09:04:02 -04:00
interface.c
drivers/rtc/interface.c: __rtc_read_time: reduce log level
2015-04-17 09:04:01 -04:00
Kconfig
rtc: add rtc-abx80x, a driver for the Abracon AB x80x i2c rtc
2015-05-05 17:10:10 -07:00
Makefile
rtc: add rtc-abx80x, a driver for the Abracon AB x80x i2c rtc
2015-05-05 17:10:10 -07:00
rtc-88pm80x.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-88pm860x.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-ab-b5ze-s3.c
drivers/rtc/rtc-ab-b5ze-s3.c: constify struct regmap_config
2015-04-17 09:04:00 -04:00
rtc-ab3100.c
drivers/rtc/ab3100: Update driver to address y2038/y2106 issues
2015-04-03 08:18:25 +02:00
rtc-ab8500.c
Driver core patches for 3.19-rc1
2014-12-14 16:10:09 -08:00
rtc-abx80x.c
rtc: add rtc-abx80x, a driver for the Abracon AB x80x i2c rtc
2015-05-05 17:10:10 -07:00
rtc-armada38x.c
rtc: armada38x: fix concurrency access in armada38x_rtc_set_time
2015-05-05 17:10:11 -07:00
rtc-as3722.c
drivers/rtc/rtc-as3722.c: use SIMPLE_DEV_PM_OPS macro
2014-04-03 16:21:22 -07:00
rtc-at32ap700x.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-at91rm9200.c
drivers/rtc/rtc-at91rm9200.c: make IO endian agnostic
2015-04-17 09:04:12 -04:00
rtc-at91rm9200.h
rtc-at91sam9.c
rtc: at91sam9: rework wakeup and interrupt handling
2015-03-04 22:10:59 +01:00
rtc-au1xxx.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-bfin.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-bq32k.c
drivers/rtc/rtc-bq32k.c: fix register value
2014-10-29 16:33:14 -07:00
rtc-bq4802.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-cmos.c
rtc: use more standard kernel logging styles
2015-04-17 09:04:02 -04:00
rtc-coh901331.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-core.h
rtc-da9052.c
drivers/rtc/rtc-da9052.c: register ability of alarm to wake device from suspend
2015-04-17 09:04:00 -04:00
rtc-da9055.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-da9063.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-davinci.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-dev.c
rtc: Update rtc-dev to use y2038-safe time interfaces
2015-01-23 17:21:56 -08:00
rtc-digicolor.c
rtc: driver for Conexant Digicolor CX92755 on-chip RTC
2015-04-17 09:04:01 -04:00
rtc-dm355evm.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-ds1216.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-ds1286.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-ds1302.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-ds1305.c
rtc: remove use of seq_printf return value
2015-04-15 16:35:24 -07:00
rtc-ds1307.c
rtc: ds1307: add support for mcp7940x chips
2014-12-10 17:41:15 -08:00
rtc-ds1343.c
drivers/rtc/rtc-ds1343.c: add support of nvram for maxim dallas rtc ds1343
2014-08-08 15:57:19 -07:00
rtc-ds1347.c
rtc: add support for maxim dallas rtc ds1347
2014-04-03 16:21:23 -07:00
rtc-ds1374.c
rtc: use more standard kernel logging styles
2015-04-17 09:04:02 -04:00
rtc-ds1390.c
rtc-ds1511.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-ds1553.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-ds1672.c
rtc-ds1685.c
rtc: use more standard kernel logging styles
2015-04-17 09:04:02 -04:00
rtc-ds1742.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-ds2404.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-ds3232.c
rtc: use more standard kernel logging styles
2015-04-17 09:04:02 -04:00
rtc-ds3234.c
rtc-efi-platform.c
rtc: use more standard kernel logging styles
2015-04-17 09:04:02 -04:00
rtc-efi.c
* Move efivarfs from the misc filesystem section to pseudo filesystem,
2015-01-29 19:16:40 +01:00
rtc-em3027.c
drivers/rtc/rtc-em3027.c: add device tree support
2015-04-17 09:03:59 -04:00
rtc-ep93xx.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-fm3130.c
rtc-generic.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-hid-sensor-time.c
HID: hid-sensor-hub: Extend API for async reads
2015-02-23 15:16:37 +01:00
rtc-hym8563.c
drivers/rtc/rtc-hym8563.c: fix swapped enable/disable of clockout control bit
2015-04-17 09:04:02 -04:00
rtc-imxdi.c
drivers/rtc/rtc-imxdi.c: add more known register bits
2015-02-13 21:21:43 -08:00
rtc-isl1208.c
rtc-isl12022.c
rtc: isl12022: deprecate use of isl in compatible string for isil
2015-02-16 17:56:02 -08:00
rtc-isl12057.c
rtc: isl12057: deprecate use of isl in compatible string for isil
2015-02-16 17:56:02 -08:00
rtc-jz4740.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-lib.c
rtc/lib: Provide y2038 safe rtc_tm_to_time()/rtc_time_to_tm() replacement
2014-11-21 12:00:00 -08:00
rtc-lp8788.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-lpc32xx.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-ls1x.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-m41t80.c
rtc: use more standard kernel logging styles
2015-04-17 09:04:02 -04:00
rtc-m41t93.c
rtc-m41t94.c
rtc-m48t35.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-m48t59.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-m48t86.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-max6900.c
rtc-max6902.c
rtc-max8907.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-max8925.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-max8997.c
rtc: use more standard kernel logging styles
2015-04-17 09:04:02 -04:00
rtc-max8998.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-max77686.c
rtc: use more standard kernel logging styles
2015-04-17 09:04:02 -04:00
rtc-max77802.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-mc13xxx.c
drivers/rtc/mc13xxx: Update driver to address y2038/y2106 issues
2015-04-03 08:18:26 +02:00
rtc-mcp795.c
drivers/rtc: add support for Microchip MCP795
2014-06-06 16:08:08 -07:00
rtc-moxart.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-mpc5121.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-mrst.c
rtc: remove use of seq_printf return value
2015-04-15 16:35:24 -07:00
rtc-msm6242.c
rtc: use more standard kernel logging styles
2015-04-17 09:04:02 -04:00
rtc-mv.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-mxc.c
drivers/rtc/mxc: Update driver to address y2038/y2106 issues
2015-04-03 08:18:29 +02:00
rtc-nuc900.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-omap.c
drivers/rtc/rtc-omap.c: use module_platform_driver
2015-04-17 09:04:02 -04:00
rtc-opal.c
rtc: use more standard kernel logging styles
2015-04-17 09:04:02 -04:00
rtc-palmas.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-pcap.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-pcf2123.c
drivers/rtc/rtc-pcf2123.c: add support for devicetree
2015-02-13 21:21:42 -08:00
rtc-pcf2127.c
rtc-pcf8523.c
drivers/rtc/rtc-pcf8523.c: fix month definition
2014-05-06 13:04:58 -07:00
rtc-pcf8563.c
drivers/rtc/rtc-pcf8563.c: simplify return from function
2015-04-17 09:03:59 -04:00
rtc-pcf8583.c
rtc: use c99 initializers in structures
2014-10-14 02:18:17 +02:00
rtc-pcf50633.c
rtc-pcf85063.c
rtc: add pcf85063 support
2014-08-08 15:57:20 -07:00
rtc-pl030.c
rtc-pl031.c
rtc-pm8xxx.c
Merge branch 'platform/remove_owner' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux into driver-core-next
2014-11-03 19:53:56 -08:00
rtc-proc.c
rtc-ps3.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-puv3.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-pxa.c
drivers/rtc/rtc-pxa.c: make of_device_id array const
2014-06-06 16:08:09 -07:00
rtc-r9701.c
rtc-rc5t583.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-rk808.c
drivers/rtc/rtc-rk808.c: fix rtc time reading issue
2015-02-13 21:21:43 -08:00
rtc-rp5c01.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-rs5c313.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-rs5c348.c
rtc-rs5c372.c
drivers/rtc/rtc-rs5c372.c: use %*ph to dump small buffers
2014-10-14 02:18:19 +02:00
rtc-rv3029c2.c
drivers/rtc/rtc-rv3029c2.c: fix potential race condition
2014-04-03 16:21:24 -07:00
rtc-rx4581.c
rtc-rx8025.c
rtc-rx8581.c
rtc-s3c.c
drivers/rtc/rtc-s3c.c: remove one superfluous rtc_valid_tm() check
2015-04-17 09:04:02 -04:00
rtc-s3c.h
rtc-s5m.c
drivers/rtc/rtc-s5m.c: allow usage on device type different than main MFD type
2015-04-17 09:04:11 -04:00
rtc-s35390a.c
rtc-sa1100.c
drivers/rtc/rtc-sa1100.c: make of_device_id array const
2014-06-06 16:08:09 -07:00
rtc-sh.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-sirfsoc.c
Driver core patches for 3.19-rc1
2014-12-14 16:10:09 -08:00
rtc-snvs.c
Driver core patches for 3.19-rc1
2014-12-14 16:10:09 -08:00
rtc-spear.c
rtc-starfire.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-stk17ta8.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-stmp3xxx.c
rtc: stmp3xxx: use optional crystal in low power states
2015-04-17 09:03:59 -04:00
rtc-sun4v.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-sun6i.c
rtc: sun6i: Add sun6i RTC driver
2014-09-19 12:39:19 +02:00
rtc-sunxi.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-sysfs.c
rtc-tegra.c
rtc: remove use of seq_printf return value
2015-04-15 16:35:24 -07:00
rtc-test.c
drivers/rtc/test: Update driver to address y2038/y2106 issues
2015-04-03 08:18:24 +02:00
rtc-tile.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-tps6586x.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-tps65910.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-tps80031.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-twl.c
rtc: use more standard kernel logging styles
2015-04-17 09:04:02 -04:00
rtc-tx4939.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-v3020.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-vr41xx.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-vt8500.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
rtc-wm831x.c
rtc-wm8350.c
rtc-x1205.c
drivers/rtc/rtc-x1205.c: use sign_extend32() for sign extension
2015-04-17 09:03:59 -04:00
rtc-xgene.c
rtc: drop owner assignment from platform_drivers
2014-10-20 16:21:31 +02:00
systohc.c
drivers/rtc: Provide y2038 safe rtc_class_ops.set_mmss() replacement
2015-04-03 08:18:24 +02:00