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
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-generic.c
rtc-imxdi.c
rtc-isl1208.c
drivers/rtc/rtc-isl1208.c: add alarm support
2011-03-22 17:44:16 -07:00
rtc-isl12022.c
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-max6900.c
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
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-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
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
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
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
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