Michael Hennerich
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
Mike Frysinger
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
Julia Lawall
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
Mike Frysinger
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
Mike Frysinger
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
Mike Frysinger
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
Mike Frysinger
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
Mike Frysinger
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
Mike Frysinger
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
Mike Frysinger
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
Mike Frysinger
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
Mike Frysinger
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
Sonic Zhang
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
Mike Frysinger
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
Hirofumi Nakagawa
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
Kay Sievers
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
Mike Frysinger
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
Mike Frysinger
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
Mike Frysinger
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
Mike Frysinger
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
Mike Frysinger
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
Mike Frysinger
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
Mike Frysinger
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
Mike Frysinger
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
Wu, Bryan
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