[oe-commits] org.oe.dev linux-2.6.24: new rtc-sa1100 fixes for the simpad

woglinde2 commit oe at amethyst.openembedded.net
Tue Mar 25 17:34:45 UTC 2008


linux-2.6.24: new rtc-sa1100 fixes for the simpad
* new rtc-sa1100 fix
* bump pr
* fixes bug 4094

Author: woglinde2 at openembedded.org
Branch: org.openembedded.dev
Revision: ead8fe4eb9f4a05e10d6ad072d127ba6aa6820f7
ViewMTN: http://monotone.openembedded.org/revision/info/ead8fe4eb9f4a05e10d6ad072d127ba6aa6820f7
Files:
1
packages/linux/linux-2.6.24/simpad/linux-2.6.24-SIMpad-rtc-sa1100.patch
packages/linux/linux_2.6.24.bb
Diffs:

#
# mt diff -r557257ed260a028b08cdb8f9a859b3ea652317ee -read8fe4eb9f4a05e10d6ad072d127ba6aa6820f7
#
#
#
# patch "packages/linux/linux-2.6.24/simpad/linux-2.6.24-SIMpad-rtc-sa1100.patch"
#  from [cb7ada70375fee5379806c648aaf22a17737b16d]
#    to [a001854cf3bea54c80b2dcd094dae117725419f5]
# 
# patch "packages/linux/linux_2.6.24.bb"
#  from [3a65f5f434a205d1dd49627ecc559afbd538e97d]
#    to [4eabbe972f1ffeca4ea26e4d897079e1542a5624]
#
============================================================
--- packages/linux/linux-2.6.24/simpad/linux-2.6.24-SIMpad-rtc-sa1100.patch	cb7ada70375fee5379806c648aaf22a17737b16d
+++ packages/linux/linux-2.6.24/simpad/linux-2.6.24-SIMpad-rtc-sa1100.patch	a001854cf3bea54c80b2dcd094dae117725419f5
@@ -1,28 +1,68 @@
-diff -Nur linux-2.6.24.vanilla/drivers/rtc/rtc-sa1100.c linux-2.6.24/drivers/rtc/rtc-sa1100.c
+diff -Nur linux-2.6.24.vanilla/drivers/rtc/rtc-sa1100.c linux-2.6.24_rtc/drivers/rtc/rtc-sa1100.c
 --- linux-2.6.24.vanilla/drivers/rtc/rtc-sa1100.c	2008-01-24 23:58:37.000000000 +0100
-+++ linux-2.6.24/drivers/rtc/rtc-sa1100.c	2008-03-17 20:52:41.000000000 +0100
-@@ -15,6 +15,10 @@
-  * Converted to the RTC subsystem and Driver Model
-  *   by Richard Purdie <rpurdie at rpsys.net>
-  *
-+ * 2008/03/17 mrdata:
-+ *            disable IRQ RTC1Hz and RTCAlrm before request_irq
-+ *            in sa1100_rtc_open()
-+ *
-  * This program is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU General Public License
-  * as published by the Free Software Foundation; either version
-@@ -154,7 +158,12 @@
- static int sa1100_rtc_open(struct device *dev)
++++ linux-2.6.24_rtc/drivers/rtc/rtc-sa1100.c	2008-03-24 13:49:40.000000000 +0100
+@@ -79,7 +79,10 @@
+ 
+ 	rtsr = RTSR;
+ 	/* clear interrupt sources */
+-	RTSR = 0;
++	RTSR &= ~RTSR_HZE; //RTSR = 0; is not possible and does not work
++	RTSR &= ~RTSR_HZ;
++	RTSR &= ~RTSR_ALE;
++	RTSR &= ~RTSR_AL;
+ 	RTSR = (RTSR_AL | RTSR_HZ) & (rtsr >> 2);
+ 
+ 	/* clear alarm interrupt if it has occurred */
+@@ -155,6 +158,20 @@
  {
  	int ret;
--
-+	
+ 
++	/*
++	 * On some devices RTSR is set to some value but it must be set to 0.
++	 * We have to set RTSR to 0 and OIER/OSSR to default. This should not be
++	 * necessary here but it is.
++	 */
 +	spin_lock_irq(&sa1100_rtc_lock);
 +	RTSR &= ~RTSR_HZE;
++	RTSR &= ~RTSR_HZ;
 +	RTSR &= ~RTSR_ALE;
++	RTSR &= ~RTSR_AL;
++	OIER &= ~OIER_E1;
++	OSSR = OSSR_M1;
 +	spin_unlock_irq(&sa1100_rtc_lock);
-+	
++
  	ret = request_irq(IRQ_RTC1Hz, sa1100_rtc_interrupt, IRQF_DISABLED,
  				"rtc 1Hz", dev);
  	if (ret) {
+@@ -186,7 +203,10 @@
+ static void sa1100_rtc_release(struct device *dev)
+ {
+ 	spin_lock_irq(&sa1100_rtc_lock);
+-	RTSR = 0;
++	RTSR &= ~RTSR_HZE; //RTSR = 0; is not possible and does not work
++	RTSR &= ~RTSR_HZ;
++	RTSR &= ~RTSR_ALE;
++	RTSR &= ~RTSR_AL;
+ 	OIER &= ~OIER_E1;
+ 	OSSR = OSSR_M1;
+ 	spin_unlock_irq(&sa1100_rtc_lock);
+@@ -339,6 +359,19 @@
+ 
+ 	platform_set_drvdata(pdev, rtc);
+ 
++	/*
++	 * On some devices RTSR is set to some value but it must be set to 0.
++	 * We have to set RTSR to 0 and OIER/OSSR to default.
++	 */
++	spin_lock_irq(&sa1100_rtc_lock);
++	RTSR &= ~RTSR_HZE;
++	RTSR &= ~RTSR_HZ;
++	RTSR &= ~RTSR_ALE;
++	RTSR &= ~RTSR_AL;
++	OIER &= ~OIER_E1;
++	OSSR = OSSR_M1;
++	spin_unlock_irq(&sa1100_rtc_lock);
++
+ 	return 0;
+ }
+ 
============================================================
--- packages/linux/linux_2.6.24.bb	3a65f5f434a205d1dd49627ecc559afbd538e97d
+++ packages/linux/linux_2.6.24.bb	4eabbe972f1ffeca4ea26e4d897079e1542a5624
@@ -12,7 +12,7 @@ DEPENDS_append_mpc8313e-rdb = " dtc-nati
 
 DEPENDS_append_mpc8313e-rdb = " dtc-native"
 
-PR = "r10"
+PR = "r11"
 
 SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 \
            http://kamikaze.waninkoko.info/patches/2.6.24/kamikaze1/broken-out/squashfs-lzma-2.6.24.patch;patch=1 \






More information about the Openembedded-commits mailing list