MyungJoo Ham
62d1760180
drivers/rtc/rtc-s3c.c: allow multiple open / allow no-ioctl-open'ed rtc to have irq.
...
The previous rtc-s3c had two issues related with its IRQ.
1. Users cannot open rtc multiple times because an open operation
calls request_irq on the same IRQ. (e.g., two user processes wants to
open and read RTC time from rtc-s3c at the same time)
2. If alarm is set and no one has the rtc opened with filesystem
(either the alarm is set by kernel/boot-loader or user set an alarm and
closed rtc dev file), the pending bit is not cleared and no further
interrupt is invoked. When the alarm is used by the system itself such
as a resume from suspend-to-RAM or other Low-power modes/idle, this is
a critical issue.
This patch mitigates these issues by calling request_irq at probe and
free_irq at remove.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Changhwan Youn <chaos.youn@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-08-25 18:51:00 -07:00
..
class.c
rtc: Avoid accumulating time drift in suspend/resume
2011-06-21 16:55:39 -07:00
hctosys.c
interface.c
rtc: fix hrtimer deadlock
2011-07-26 16:49:42 -07:00
Kconfig
drivers/rtc: add support for Qualcomm PMIC8xxx RTC
2011-07-25 20:57:17 -07:00
Makefile
drivers/rtc: add support for Qualcomm PMIC8xxx RTC
2011-07-25 20:57:17 -07:00
rtc-88pm860x.c
mfd: Add rtc support to 88pm860x
2011-05-26 19:45:34 +02:00
rtc-ab3100.c
drivers/rtc/rtc-ab3100.c: add missing platform_set_drvdata() in ab3100_rtc_probe()
2010-09-22 17:22:39 -07:00
rtc-ab8500.c
mfd: Align ab8500 with the abx500 interface
2010-10-29 00:29:19 +02:00
rtc-at32ap700x.c
treewide: Convert uses of struct resource to resource_size(ptr)
2011-06-10 14:55:36 +02:00
rtc-at91rm9200.c
Fix common misspellings
2011-03-31 11:26:23 -03:00
rtc-at91sam9.c
RTC: Clean out UIE icotl implementations
2011-03-09 11:24:54 -08:00
rtc-au1xxx.c
rtc-bfin.c
Merge branch 'fortglx/39/tip/timers/rtc' of git://git.linaro.org/people/jstultz/linux into timers/urgent
2011-04-13 01:54:09 +02:00
rtc-bq32k.c
rtc-bq4802.c
rtc-cmos.c
treewide: Convert uses of struct resource to resource_size(ptr)
2011-06-10 14:55:36 +02:00
rtc-coh901331.c
rtc: fix coh901331 startup crash
2011-04-20 18:46:56 +02:00
rtc-core.h
rtc-davinci.c
rtc: davinci: Initialize drvdata before registering device
2011-05-06 17:41:06 -07:00
rtc-dev.c
rtc: Fix ioctl error path return
2011-06-01 19:29:39 -07:00
rtc-dm355evm.c
rtc-ds1216.c
rtc-ds1286.c
treewide: Convert uses of struct resource to resource_size(ptr)
2011-06-10 14:55:36 +02:00
rtc-ds1302.c
sh: mach-snapgear: Kill off machtype, consolidate board def.
2010-10-29 19:06:53 +09:00
rtc-ds1305.c
RTC: Convert rtc drivers to use the alarm_irq_enable method
2011-02-03 13:02:35 -08:00
rtc-ds1307.c
drivers/rtc/rtc-ds1307.c: add support for RTC device pt7c4338
2011-06-27 18:00:12 -07:00
rtc-ds1374.c
rtc: convert DS1374 to dev_pm_ops
2011-03-22 17:44:16 -07:00
rtc-ds1390.c
spi/rtc-{ds1390,ds3234,m41t94}: Use spi_get_drvdata() for SPI devices
2011-03-17 10:32:47 -06:00
rtc-ds1511.c
treewide: Convert uses of struct resource to resource_size(ptr)
2011-06-10 14:55:36 +02:00
rtc-ds1553.c
RTC: Cleanup rtc_class_ops->update_irq_enable()
2011-03-09 11:23:37 -08:00
rtc-ds1672.c
rtc-ds1742.c
treewide: Convert uses of struct resource to resource_size(ptr)
2011-06-10 14:55:36 +02:00
rtc-ds3232.c
RTC: Cleanup rtc_class_ops->update_irq_enable()
2011-03-09 11:23:37 -08:00
rtc-ds3234.c
spi/rtc-{ds1390,ds3234,m41t94}: Use spi_get_drvdata() for SPI devices
2011-03-17 10:32:47 -06:00
rtc-efi.c
rtc-em3027.c
rtc: add EM3027 rtc driver
2011-05-26 17:12:33 -07:00
rtc-ep93xx.c
rtc: ep93xx: Initialize drvdata before registering device
2011-05-06 17:42:04 -07:00
rtc-fm3130.c
rtc: fixes and new functionality for fm3130
2010-08-11 08:59:07 -07:00
rtc-generic.c
rtc-imxdi.c
rtc: driver for the DryIce block found in i.MX25 chips
2010-08-11 08:59:07 -07:00
rtc-isl1208.c
drivers/rtc/rtc-isl1208.c: add alarm support
2011-03-22 17:44:16 -07:00
rtc-isl12022.c
rtc-isl12022: properly handle military hour format
2010-08-11 08:59:08 -07:00
rtc-jz4740.c
RTC: Cleanup rtc_class_ops->update_irq_enable()
2011-03-09 11:23:37 -08:00
rtc-lib.c
RTC: Rework RTC code to use timerqueue for events
2010-12-10 22:24:24 -08:00
rtc-lpc32xx.c
Fix common misspellings
2011-03-31 11:26:23 -03:00
rtc-m41t80.c
rtc: m41t80: Initialize clientdata before registering device
2011-05-06 18:01:02 -07:00
rtc-m41t93.c
spi/rtc-m41t93: Use spi_get_drvdata() for SPI devices
2011-06-08 14:33:48 -06:00
rtc-m41t94.c
spi/rtc-{ds1390,ds3234,m41t94}: Use spi_get_drvdata() for SPI devices
2011-03-17 10:32:47 -06:00
rtc-m48t35.c
treewide: Convert uses of struct resource to resource_size(ptr)
2011-06-10 14:55:36 +02:00
rtc-m48t59.c
treewide: Convert uses of struct resource to resource_size(ptr)
2011-06-10 14:55:36 +02:00
rtc-m48t86.c
rtc/m48t86: use rtc_valid_tm() to check returned tm
2010-08-11 08:59:07 -07:00
rtc-max6900.c
rtc/max6900: use rtc_valid_tm() to check returning tm
2010-08-11 08:59:07 -07:00
rtc-max6902.c
rtc: rtc-max6902 - set driver data in max6902_probe()
2011-01-13 08:03:12 -08:00
rtc-max8925.c
rtc: max8925: Initialize drvdata before registering device
2011-05-06 18:02:00 -07:00
rtc-max8998.c
rtc: max8998: Initialize drvdata before registering device
2011-05-06 18:02:02 -07:00
rtc-mc13xxx.c
rtc: mc13xxx: Don't call rtc_device_register while holding lock
2011-05-06 18:02:07 -07:00
rtc-mpc5121.c
drivers/rtc/rtc-mpc5121.c: add support for RTC on MPC5200
2011-07-25 20:57:17 -07:00
rtc-mrst.c
treewide: Convert uses of struct resource to resource_size(ptr)
2011-06-10 14:55:36 +02:00
rtc-msm6242.c
rtc: msm6242: Initialize drvdata before registering device
2011-05-06 18:02:03 -07:00
rtc-mv.c
RTC: Convert rtc drivers to use the alarm_irq_enable method
2011-02-03 13:02:35 -08:00
rtc-mxc.c
drivers/rtc/rtc-mxc.c: remove defines already included in rtc.h
2011-05-26 17:12:33 -07:00
rtc-nuc900.c
RTC: Cleanup rtc_class_ops->update_irq_enable()
2011-03-09 11:23:37 -08:00
rtc-omap.c
rtc-omap: fix initialization of control register
2011-08-03 14:25:20 -10:00
rtc-pcap.c
rtc: pcap: Initialize drvdata before registering device
2011-05-06 18:02:04 -07:00
rtc-pcf2123.c
rtc-pcf8563.c
drivers/rtc/rtc-pcf8563.c: remove unused struct
2010-08-11 08:59:06 -07:00
rtc-pcf8583.c
rtc-pcf50633.c
drivers/rtc/rtc-pcf50633.c: don't request update IRQ
2011-05-26 17:12:33 -07:00
rtc-pl030.c
Merge branches 'defcfg', 'drivers' and 'cyberpro-next' of master.kernel.org:/home/rmk/linux-2.6-arm
2011-03-17 18:48:35 -07:00
rtc-pl031.c
Merge branches 'defcfg', 'drivers' and 'cyberpro-next' of master.kernel.org:/home/rmk/linux-2.6-arm
2011-03-17 18:48:35 -07:00
rtc-pm8xxx.c
drivers/rtc: add support for Qualcomm PMIC8xxx RTC
2011-07-25 20:57:17 -07:00
rtc-proc.c
RTC: Include information about UIE and PIE in RTC driver proc.
2011-03-09 11:25:04 -08:00
rtc-ps3.c
rtc-puv3.c
treewide: Convert uses of struct resource to resource_size(ptr)
2011-06-10 14:55:36 +02:00
rtc-pxa.c
RTC: Cleanup rtc_class_ops->update_irq_enable()
2011-03-09 11:23:37 -08:00
rtc-r9701.c
rtc-rp5c01.c
rtc: rp5c01: Initialize drvdata before registering device
2011-05-06 18:02:05 -07:00
rtc-rs5c313.c
rtc: rtc-rs5c313: ctrl_in/outX to __raw_read/writeX conversion.
2010-10-27 15:30:32 +09:00
rtc-rs5c348.c
rtc-rs5c372.c
RTC: Clean out UIE icotl implementations
2011-03-09 11:24:54 -08:00
rtc-rv3029c2.c
rtc: add rv3029c2 RTC support
2011-05-26 17:12:33 -07:00
rtc-rx8025.c
RTC: Cleanup rtc_class_ops->irq_set_state
2011-03-09 11:23:34 -08:00
rtc-rx8581.c
drivers/rtc/rtc-rx8581.c: fix setdatetime
2010-07-27 14:32:06 -07:00
rtc-s3c.c
drivers/rtc/rtc-s3c.c: allow multiple open / allow no-ioctl-open'ed rtc to have irq.
2011-08-25 18:51:00 -07:00
rtc-s35390a.c
i2c: Remove all i2c_set_clientdata(client, NULL) in drivers
2010-06-03 11:33:58 +02:00
rtc-sa1100.c
RTC: sa1100: Update the sa1100 RTC driver.
2011-03-09 11:25:08 -08:00
rtc-sh.c
drivers: Final irq namespace conversion
2011-03-29 14:48:19 +02:00
rtc-spear.c
rtc: add support for spear rtc
2011-05-26 17:12:33 -07:00
rtc-starfire.c
rtc-stk17ta8.c
sysfs: add struct file* to bin_attr callbacks
2010-05-21 09:37:31 -07:00
rtc-stmp3xxx.c
rtc: stmp3xxx: Remove UIE handlers
2011-07-01 18:09:57 -07:00
rtc-sun4v.c
rtc-sysfs.c
rtc-tegra.c
drivers/rtc/rtc-tegra.c: properly initialize spinlock
2011-07-25 20:57:17 -07:00
rtc-test.c
RTC: Fix the cross interrupt issue on rtc-test.
2011-03-09 11:25:07 -08:00
rtc-tile.c
tile: add an RTC driver for the Tilera hypervisor
2011-05-17 14:44:36 -04:00
rtc-twl.c
drivers/rtc/rtc-twl.c: check return value of twl_rtc_write_u8() in twl_rtc_set_time()
2011-07-25 20:57:17 -07:00
rtc-tx4939.c
sysfs: add struct file* to bin_attr callbacks
2010-05-21 09:37:31 -07:00
rtc-v3020.c
rtc-vr41xx.c
RTC: Cleanup rtc_class_ops->irq_set_freq()
2011-03-09 11:23:35 -08:00
rtc-vt8500.c
rtc: vt8500: Use define instead of hardcoded value for status bit
2011-07-01 17:59:36 -07:00
rtc-wm831x.c
RTC: Cleanup rtc_class_ops->update_irq_enable()
2011-03-09 11:23:37 -08:00
rtc-wm8350.c
RTC: Cleanup rtc_class_ops->update_irq_enable()
2011-03-09 11:23:37 -08:00
rtc-x1205.c
Fix common misspellings
2011-03-31 11:26:23 -03:00