tmp_suning_uos_patched/drivers/rtc
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-88pm860x.c
rtc-ab3100.c
rtc-ab8500.c
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-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
rtc-at32ap700x.c
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-au1xxx.c
rtc-bfin.c
rtc-bq32k.c
rtc-bq4802.c
rtc-cmos.c rtc: use more standard kernel logging styles 2015-04-17 09:04:02 -04:00
rtc-coh901331.c
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-da9063.c
rtc-davinci.c
rtc-dev.c
rtc-digicolor.c rtc: driver for Conexant Digicolor CX92755 on-chip RTC 2015-04-17 09:04:01 -04:00
rtc-dm355evm.c
rtc-ds1216.c
rtc-ds1286.c
rtc-ds1302.c
rtc-ds1305.c rtc: remove use of seq_printf return value 2015-04-15 16:35:24 -07:00
rtc-ds1307.c
rtc-ds1343.c
rtc-ds1347.c
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-ds1553.c
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-ds2404.c
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
rtc-em3027.c drivers/rtc/rtc-em3027.c: add device tree support 2015-04-17 09:03:59 -04:00
rtc-ep93xx.c
rtc-fm3130.c
rtc-generic.c
rtc-hid-sensor-time.c
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
rtc-isl1208.c
rtc-isl12022.c
rtc-isl12057.c
rtc-jz4740.c
rtc-lib.c
rtc-lp8788.c
rtc-lpc32xx.c
rtc-ls1x.c
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-m48t59.c
rtc-m48t86.c
rtc-max6900.c
rtc-max6902.c
rtc-max8907.c
rtc-max8925.c
rtc-max8997.c rtc: use more standard kernel logging styles 2015-04-17 09:04:02 -04:00
rtc-max8998.c
rtc-max77686.c rtc: use more standard kernel logging styles 2015-04-17 09:04:02 -04:00
rtc-max77802.c
rtc-mc13xxx.c
rtc-mcp795.c
rtc-moxart.c
rtc-mpc5121.c
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-mxc.c
rtc-nuc900.c
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-pcap.c
rtc-pcf2123.c
rtc-pcf2127.c
rtc-pcf8523.c
rtc-pcf8563.c drivers/rtc/rtc-pcf8563.c: simplify return from function 2015-04-17 09:03:59 -04:00
rtc-pcf8583.c
rtc-pcf50633.c
rtc-pcf85063.c
rtc-pl030.c
rtc-pl031.c
rtc-pm8xxx.c
rtc-proc.c
rtc-ps3.c
rtc-puv3.c
rtc-pxa.c
rtc-r9701.c
rtc-rc5t583.c
rtc-rk808.c
rtc-rp5c01.c
rtc-rs5c313.c
rtc-rs5c348.c
rtc-rs5c372.c
rtc-rv3029c2.c
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
rtc-sh.c
rtc-sirfsoc.c
rtc-snvs.c
rtc-spear.c
rtc-starfire.c
rtc-stk17ta8.c
rtc-stmp3xxx.c rtc: stmp3xxx: use optional crystal in low power states 2015-04-17 09:03:59 -04:00
rtc-sun4v.c
rtc-sun6i.c
rtc-sunxi.c
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
rtc-tile.c
rtc-tps6586x.c
rtc-tps65910.c
rtc-tps80031.c
rtc-twl.c rtc: use more standard kernel logging styles 2015-04-17 09:04:02 -04:00
rtc-tx4939.c
rtc-v3020.c
rtc-vr41xx.c
rtc-vt8500.c
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
systohc.c