6bff5fb80b
rtc-bfin: do not share RTC IRQ
...
The Blackfin RTC IRQ is an internal interrupt, so it makes no sense to
have it be shared.
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com >
Signed-off-by: Mike Frysinger <vapier@gentoo.org >
Signed-off-by: Alessandro Zummo <a.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2009-09-23 07:39:45 -07:00
9980060bad
bfin: delay IRQ registration until driver is ready
...
Make sure we do not actually request the RTC IRQ until the device driver
is fully ready to handle and process any interrupt. This way a spurious
interrupt won't crash the system (which may happen if the bootloader was
poking the RTC right before booting Linux).
Signed-off-by: Mike Frysinger <vapier@gentoo.org >
Signed-off-by: Alessandro Zummo <a.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2009-06-30 18:56:01 -07:00
ba6c4033b9
drivers/rtc: correct an error test
...
rtc is clearly does not satisfy IS_ERR at the point where it is tested, so
I have changed the test to consider the just initialized rtc->rtc_dev.
The semantic match that finds the problem is as follows:
(http://www.emn.fr/x-info/coccinelle/ )
// <smpl>
@match exists@
expression x, E;
identifier fld;
position p1,p2;
@@
(
x = E;
|
x = E
|
x@p1->fld
... when != x = E
IS_ERR(x@p2)
... when any
)
@other_match exists@
expression match.x, E1, E2;
position match.p1,match.p2;
@@
x = E1
... when != x = E2
when != x@p1
x@p2
@ script:python depends on !other_match@
p1 << match.p1;
p2 << match.p2;
@@
print "* file %s dereference %s test %s" % (p1[0].file,p1[0].line,p2[0].line)
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk >
Acked-by: Alessandro Zummo <a.zummo@towertech.it >
Cc: David Brownell <david-b@pacbell.net >
Cc: Bryan Wu <bryan.wu@analog.com >
Cc: Mike Frysinger <michael.frysinger@analog.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2009-01-06 15:59:25 -08:00
d0fd93781c
Blackfin RTC Driver: dont let RTC programming in bootloaders randomly cause ~5 second boot delays
...
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com >
Signed-off-by: Bryan Wu <cooloney@kernel.org >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-08-20 15:40:30 -07:00
8c9166f7a6
Blackfin RTC Driver: do all initialization before we register the rtc and make it available
...
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com >
Signed-off-by: Bryan Wu <cooloney@kernel.org >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-08-20 15:40:30 -07:00
fe2e1cf83a
Blackfin RTC Driver: move irq request/free out of open/release and into probe/remove so that the non-dev interfaces (like sysfs) work as expected
...
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com >
Signed-off-by: Bryan Wu <cooloney@kernel.org >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-08-20 15:40:30 -07:00
26cb8bb21b
blackfin RTC driver: drop PIE/stopwatch code since the hardware can only do a max of 1HZ and this same functionality is provided by UIE
...
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com >
Signed-off-by: Bryan Wu <cooloney@kernel.org >
Cc: David Brownell <david-b@pacbell.net >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-08-05 14:33:48 -07:00
e12af37d9e
blackfin RTC driver: convert PIE handling to irq_set_state() as pointed out by David Brownell
...
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com >
Signed-off-by: Bryan Wu <cooloney@kernel.org >
Cc: David Brownell <david-b@pacbell.net >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-08-05 14:33:48 -07:00
140fab14ae
blackfin RTC driver: wait for the write complete interrupt complete before sleeping
...
Since we use the write complete interrupt, wait for it
to complete before sleeping so we don't wake right back up due to it
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com >
Signed-off-by: Bryan Wu <cooloney@kernel.org >
Cc: David Brownell <david-b@pacbell.net >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-08-05 14:33:48 -07:00
3b128fe04a
blackfin RTC driver: disable the write complete irq upon close
...
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com >
Signed-off-by: Bryan Wu <cooloney@kernel.org >
Cc: David Brownell <david-b@pacbell.net >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-08-05 14:33:47 -07:00
605eb8b3c0
blackfin RTC driver: don't bother passing the rtc struct down to bfin_rtc_int_{set,clear} since it isnt needed (shaves off ~100bytes)
...
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com >
Signed-off-by: Bryan Wu <bryan.wu@analog.com >
Signed-off-by: Bryan Wu <cooloney@kernel.org >
Cc: David Brownell <david-b@pacbell.net >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-08-05 14:33:47 -07:00
813006f4bb
blackfin RTC driver: add support for power management framework
...
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com >
Signed-off-by: Bryan Wu <bryan.wu@analog.com >
Signed-off-by: Bryan Wu <cooloney@kernel.org >
Cc: David Brownell <david-b@pacbell.net >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-08-05 14:33:47 -07:00
5aeb776d0c
blackfin RTC driver: Fix bug Only RTC interrupt can wake up deeper sleep core
...
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com >
Signed-off-by: Bryan Wu <bryan.wu@analog.com >
Signed-off-by: Bryan Wu <cooloney@kernel.org >
Cc: David Brownell <david-b@pacbell.net >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-08-05 14:33:47 -07:00
dd279f6127
blackfin RTC driver: if we dont define irq_set_freq, the common rtc-dev layer will give us the same behavior of returning ENOTTY
...
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com >
Signed-off-by: Bryan Wu <bryan.wu@analog.com >
Signed-off-by: Bryan Wu <cooloney@kernel.org >
Cc: David Brownell <david-b@pacbell.net >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-08-05 14:33:47 -07:00
801678c5a3
Remove duplicated unlikely() in IS_ERR()
...
Some drivers have duplicated unlikely() macros. IS_ERR() already has
unlikely() in itself.
This patch cleans up such pointless code.
Signed-off-by: Hirofumi Nakagawa <hnakagawa@miraclelinux.com >
Acked-by: David S. Miller <davem@davemloft.net >
Acked-by: Jeff Garzik <jeff@garzik.org >
Cc: Paul Clements <paul.clements@steeleye.com >
Cc: Richard Purdie <rpurdie@rpsys.net >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Cc: David Brownell <david-b@pacbell.net >
Cc: James Bottomley <James.Bottomley@HansenPartnership.com >
Cc: Michael Halcrow <mhalcrow@us.ibm.com >
Cc: Anton Altaparmakov <aia21@cantab.net >
Cc: Al Viro <viro@zeniv.linux.org.uk >
Cc: Carsten Otte <cotte@de.ibm.com >
Cc: Patrick McHardy <kaber@trash.net >
Cc: Paul Mundt <lethal@linux-sh.org >
Cc: Jaroslav Kysela <perex@perex.cz >
Cc: Takashi Iwai <tiwai@suse.de >
Acked-by: Mike Frysinger <vapier@gentoo.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:25 -07:00
ad28a07bca
rtc: fix platform driver hotplug/coldplug
...
Since 43cc71eed1
, the platform modalias is
prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable RTC
platform drivers, to re-enable module auto loading.
[dbrownell@users.sourceforge.net: more drivers, minor fix]
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Greg KH <greg@kroah.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-04-11 08:06:44 -07:00
095b9d546f
Blackfin RTC driver: convert sync wait to use the irq write complete notice
...
- thus clearing out the need for spin locks
- add a small optimization for reading of the rtc field
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com >
Signed-off-by: Bryan Wu <bryan.wu@analog.com >
Acked-by: Alessandro Zummo <alessandro.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-02-06 10:41:14 -08:00
48c1a56b4b
Blackfin RTC driver: shave off another memcpy() by using assignment.
...
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com >
Signed-off-by: Bryan Wu <bryan.wu@analog.com >
Acked-by: Alessandro Zummo <alessandro.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-02-06 10:41:14 -08:00
68db30472d
Blackfin RTC driver: read_alarm() checks the enabled field, not the pending field.
...
also, dont bother using memcpy since we can just do an assignment of the same structure.
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com >
Signed-off-by: Bryan Wu <bryan.wu@analog.com >
Acked-by: Alessandro Zummo <alessandro.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-02-06 10:41:14 -08:00
5438de4422
Blackfin RTC driver: use dev_dbg() rather than pr_stamp()
...
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com >
Signed-off-by: Bryan Wu <bryan.wu@analog.com >
Acked-by: Alessandro Zummo <alessandro.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-02-06 10:41:14 -08:00
640611608f
Blackfin RTC driver: cleanup proc handler (we dont need RTC reg dump now that we have MMR filesystem in sysfs)
...
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com >
Signed-off-by: Bryan Wu <bryan.wu@analog.com >
Acked-by: Alessandro Zummo <alessandro.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-02-06 10:41:14 -08:00
d7827d889a
Blackfin RTC driver: we pass in a (struct device*) to the irq handler, not a (struct platform_device*), so fix the irq handler
...
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com >
Signed-off-by: Bryan Wu <bryan.wu@analog.com >
Acked-by: Alessandro Zummo <alessandro.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-02-06 10:41:13 -08:00
5c236343eb
Blackfin RTC driver: the frequency function is in units of Hz, not units of seconds, so lock our driver down to 1 Hz
...
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com >
Signed-off-by: Bryan Wu <bryan.wu@analog.com >
Acked-by: Alessandro Zummo <alessandro.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-02-06 10:41:13 -08:00
2c95cd71f8
Blackfin On-Chip RTC driver update for supporting BF54x
...
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com >
Signed-off-by: Bryan Wu <bryan.wu@analog.com >
2007-07-15 02:33:26 +08:00
8cc75c9a14
Blackfin: on-chip RTC controller driver
...
This patch implements the driver necessary use the Analog Devices Blackfin
processor's on-chip RTC controller.
Signed-off-by: Bryan Wu <bryan.wu@analog.com >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Cc: David Brownell <david-b@pacbell.net >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2007-05-07 12:12:58 -07:00