[oe-commits] org.oe.dev merge of '0c6f4fed33f17c5c3b0e7416ecda652fda206d63'

koen commit oe at amethyst.openembedded.net
Thu May 15 07:25:07 UTC 2008


merge of '0c6f4fed33f17c5c3b0e7416ecda652fda206d63'
     and 'aa3097d17325c17ff5fe04479d9a3a47ec96d299'

Author: koen at openembedded.org
Branch: org.openembedded.dev
Revision: 46ca801f1efcaa636eaa43837f3587c7c90a93ec
ViewMTN: http://monotone.openembedded.org/revision/info/46ca801f1efcaa636eaa43837f3587c7c90a93ec
Files:
1
packages/gpsdrive/gpsdrive-2.10pre4
packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-2.10pre4-openstreetmap-download.patch
packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-ifdef-mapnik.patch
packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-remove-hardcoded-paths.patch
packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive_2.10pre4.desktop
packages/gpsdrive/gpsdrive_2.10pre4.bb
packages/perl/libwww-perl-native_5.808.bb
packages/perl/libwww-perl_5.808.bb
packages/linux/linux-omap2-git/beagleboard/convert-rwsem-to-rwclock.patch
packages/linux/linux-omap2_git.bb
Diffs:

#
# mt diff -r0c6f4fed33f17c5c3b0e7416ecda652fda206d63 -r46ca801f1efcaa636eaa43837f3587c7c90a93ec
#
#
#
# add_dir "packages/gpsdrive/gpsdrive-2.10pre4"
# 
# add_file "packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-2.10pre4-openstreetmap-download.patch"
#  content [f7d05fac53703548b59b528f752366847140744e]
# 
# add_file "packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-ifdef-mapnik.patch"
#  content [47e014d89d9957ea970e01aced2dc553d3722236]
# 
# add_file "packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-remove-hardcoded-paths.patch"
#  content [b9c3b9e051b269ab097c36a70c58b6d218e0d55d]
# 
# add_file "packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive_2.10pre4.desktop"
#  content [cddc5f1f7eb5adf78aaad3610fccaddcf0616dfc]
# 
# add_file "packages/gpsdrive/gpsdrive_2.10pre4.bb"
#  content [9e4cea32b63aa093d54c9b1039cfa8dd87790322]
# 
# add_file "packages/perl/libwww-perl-native_5.808.bb"
#  content [66723b8808de2c5758435a88b9640bc8777d89be]
# 
# add_file "packages/perl/libwww-perl_5.808.bb"
#  content [c76a162b7e6844022d4b9826386bfeed71c6328e]
#
============================================================
--- packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-2.10pre4-openstreetmap-download.patch	f7d05fac53703548b59b528f752366847140744e
+++ packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-2.10pre4-openstreetmap-download.patch	f7d05fac53703548b59b528f752366847140744e
@@ -0,0 +1,128 @@
+diff -ur gpsdrive-2.10pre4.orig/scripts/gpsfetchmap.pl gpsdrive-2.10pre4/scripts/gpsfetchmap.pl
+--- gpsdrive-2.10pre4.orig/scripts/gpsfetchmap.pl	2007-12-28 18:49:44.000000000 +0100
++++ gpsdrive-2.10pre4/scripts/gpsfetchmap.pl	2008-01-04 19:01:35.000000000 +0100
+@@ -35,6 +35,7 @@
+ modified (Jul 2005) by Jaroslaw Zachwieja <grok\@filippa.org.uk>
+ modified (Dec 2005) by David Pollard <david dot pollard\@optusnet.com.au>
+ modified (Jul 2007) by Maciek Kaliszewski <mkalkal\@interia.pl>
++modified (Jan 2008) by Gernot Hillier <gernot\@hillier.de> (added Openstreetmap support)
+ Version svn-$Version
+ ";
+ 
+@@ -176,6 +177,25 @@
+       15812 => 3 ,
+       7906  => 2,
+       3953 => 1
++    },
++    openstreetmap_tah => {
++      256*576000 =>  1,
++      128*576000 =>  2,
++       64*576000 =>  3,
++       32*576000 =>  4,
++       16*576000 =>  5,
++        8*576000 =>  6,
++        4*576000 =>  7,
++        2*576000 =>  8,
++          576000 =>  9,
++          288000 => 10,
++          144000 => 11,
++           72000 => 12,
++           36000 => 13,
++           18000 => 14,
++           9000  => 15,
++            4500 => 16,
++            2250 => 17
+     }
+ };
+ 
+@@ -331,7 +351,6 @@
+     exit();
+ }
+ 
+-
+ # Verify that we have the options that we need 
+ pod2usage(1) if (&error_check);
+ 
+@@ -417,6 +436,13 @@
+     print "+-----------------------------------------------------------+\n";
+     print "| Landsat Maps are Copyright, .....   |\n";
+     print "| They are free for non commercial use.                     |\n";
++}elsif ( $mapserver eq 'openstreetmap_tah' ){
++    print "+-----------------------------------------------------------+\n";
++    print "| OpenStreetmap Maps are Copyright by the OpenStreetmap     |\n";
++    print "| project.                                                  |\n";
++    print "| They are free for use under the terms of the              |\n";
++    print "| Creative Commons \"Attribution-Share Alike 2.0 Generic\"    |\n";
++    print "| license. See http://www.openstreetmap.org for details.    |\n";
+ } elsif ( ! $force) {
+     print "You are violating the map servers copyright!\n";
+     print "Are you sure you want to continue? [y|n] ";
+@@ -700,6 +726,11 @@
+     {
+ 	($url,$mapscale)=googlemap_url($lati,$long,$scale);
+     } 
++    elsif ( $mapserver eq 'openstreetmap_tah') 
++    {	
++	$filename=~s/\.gif/.png/;
++	($url,$mapscale)=openstreetmap_tah_url($lati,$long,$scale);
++    } 
+     else 
+     {
+ 	print "Unknown map sever :", $mapserver, "\n"; 
+@@ -935,6 +966,37 @@
+     return ($url,$mapscale);
+ }
+ 
++#############################################################################
++sub openstreetmap_tah_url($$$){
++    my $lati = shift;
++    my $long = shift;
++    my $scale = shift;
++
++    my $mapscale = $scale;
++    my $zoom = undef;
++    for my $s ( sort keys %{$Scale2Zoom->{openstreetmap_tah}} ) {
++	next unless $s == $scale;
++	$zoom = $Scale2Zoom->{openstreetmap_tah}->{$s};
++	$mapscale = $s;
++	last;
++    }
++
++    unless ( $zoom ) {
++	print "Error calculating Zoomlevel for Scale: $scale\n";
++	return (undef,undef);
++    }
++
++    if ($debug) {
++	print "\n";
++	print "Using openstreetmap_tah zoom ", $zoom, " for requested scale ", $scale, ":1 actual scale ", $mapscale, ":1\n";
++	print "lat: $lati\n";
++	print "lon: $long\n";
++    }
++
++    my $url = "http://tah.openstreetmap.org/MapOf/?lat=$lati&long=$long&z=$zoom&w=1280&h=1024&format=png";
++#   print "$url\n";
++    return ($url,$mapscale);
++}
+ 
+ #############################################################################
+ sub eniro_url($$$){
+@@ -2284,7 +2346,7 @@
+ =item B<--mapserver <MAPSERVER>>
+ 
+ Mapserver to download from. Default: 'expedia'.
+-Currently can use: landsat or expedia.
++Currently usable: landsat, expedia or openstreetmap_tah.
+ 
+ geoscience, gov_au, incrementp, googlesat, googlemap and eniro have download stubs, 
+ but they are !!!NOT!!!! in the right scale.
+@@ -2294,6 +2356,9 @@
+ 
+ landsat covers the whole world with satelite Photos
+ 
++openstreetmap_tah: Free maps from the OpenStreetmap Tiles at Home project, see 
++		   http://www.openstreetmap.org and http://tah.openstreetmap.org.
++
+ gov_au is for Australia
+ 
+ incrementp for japanese Maps
============================================================
--- packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-ifdef-mapnik.patch	47e014d89d9957ea970e01aced2dc553d3722236
+++ packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-ifdef-mapnik.patch	47e014d89d9957ea970e01aced2dc553d3722236
@@ -0,0 +1,18 @@
+Index: src/map_handler.c
+===================================================================
+--- aa/src/map_handler.c	(Revision 1699)
++++ aa/src/map_handler.c	(Revision 1700)
+@@ -660,9 +660,12 @@
+   if (maploaded)
+     gdk_pixbuf_unref (image);
+ 
++#ifdef MAPNIK
+   if ( !strcmp (filename,"mapnik") ) {
+ 	  limage = gdk_pixbuf_new_from_data(get_mapnik_imagedata(), GDK_COLORSPACE_RGB, FALSE, 8, 1280, 1024, 1280 * 3, NULL, NULL);
+-  } else {
++  } else 
++#endif
++  {
+ 	  limage = gdk_pixbuf_new_from_file (filename, NULL);
+ 	  if (limage == NULL)
+ 	    {
============================================================
--- packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-remove-hardcoded-paths.patch	b9c3b9e051b269ab097c36a70c58b6d218e0d55d
+++ packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-remove-hardcoded-paths.patch	b9c3b9e051b269ab097c36a70c58b6d218e0d55d
@@ -0,0 +1,96 @@
+diff -ur gpsdrive-2.10pre4.orig/src/Makefile.am gpsdrive-2.10pre4/src/Makefile.am
+--- gpsdrive-2.10pre4.orig/src/Makefile.am	2007-12-28 18:49:44.000000000 +0100
++++ gpsdrive-2.10pre4/src/Makefile.am	2007-12-28 18:50:29.000000000 +0100
+@@ -14,14 +14,14 @@
+ 	-DLOCALEDIR=\"${localedir}\" -DDATADIR=\"${datadir}\" \
+ 	-DLIBDIR=\"${libdir}\" \
+ 	-DFRIENDSSERVERVERSION=\"${FRIENDSSERVERVERSION}\" \
+-	${NOGARMIN} ${NOPLUGINS} ${AMAPNIK}\
+-	-I/usr/include/ \
+-	-I/usr/local/include \
+-	-I/opt/boost_1_35/include/boost-1_35 \
+-	-I/usr/local/include/freetype2 \
+-	-I/usr/include/freetype2 \
++	${NOGARMIN} ${NOPLUGINS} ${AMAPNIK}
++#	-I/usr/include/ \
++#	-I/usr/local/include \
++#	-I/opt/boost_1_35/include/boost-1_35 \
++#	-I/usr/local/include/freetype2 \
++#	-I/usr/include/freetype2 \
+ 	-I. \
+-	-L/usr/local/lib
++#	-L/usr/local/lib
+ 
+ #	-I/usr/include/dbus-1.0/ 
+ 
+diff -ur gpsdrive-2.10pre4.orig/configure gpsdrive-2.10pre4/configure
+--- gpsdrive-2.10pre4.orig/configure	2007-12-28 18:49:44.000000000 +0100
++++ gpsdrive-2.10pre4/configure	2008-01-06 14:49:11.000000000 +0100
+@@ -35950,10 +35950,13 @@
+ #  Yep, its ebil, but I does not know better...
+ #PERL_PACKAGE_DIR=`perl -V:installsitearch | sed "s/installsitearch='//" | sed "s/';//"`
+ # default on debian should be: /usr/share/perl5/
+-PERL_VENDORLIB=`perl -V:vendorlib | sed "s,vendorlib=',," | sed "s/';//"`
++#PERL_VENDORLIB=`perl -V:vendorlib | sed "s,vendorlib=',," | sed "s/';//"`
+ #PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr,-${prefix}-,"`
+-PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr/share,${datadir},"`
++#PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr/share,${datadir},"`
+ 
++# hard code path for OpenEmbedded environment as I don't know a way
++# to detect it automatically
++PERL_PACKAGE_DIR="/usr/share/perl5"
+ 
+ ac_perl_modules="File::Basename "
+ # Make sure we have perl
+@@ -37840,11 +37843,11 @@
+ #    AC_SUBST(DLSYM_CFLAGS,'-Ddlsym=dlsym_prepend_underscore')
+ #fi
+ 
+-if test -f /usr/include/mysql/mysql.h; then
+- CFLAGS="$CFLAGS -I/usr/include/mysql"
+-else
+- CFLAGS="$CFLAGS -Imysql"
+-fi
++#if test -f /usr/include/mysql/mysql.h; then
++# CFLAGS="$CFLAGS -I/usr/include/mysql"
++#else
++# CFLAGS="$CFLAGS -Imysql"
++#fi
+ 
+ CFLAGS="$CFLAGS $OPT_CFLAGS"
+ CXXFLAGS="$CXXFLAGS $OPT_CFLAGS"
+diff -ur gpsdrive-2.10pre4.orig/configure.ac gpsdrive-2.10pre4/configure.ac
+--- gpsdrive-2.10pre4.orig/configure.ac	2007-12-28 18:49:44.000000000 +0100
++++ gpsdrive-2.10pre4/configure.ac	2008-01-06 14:48:50.000000000 +0100
+@@ -662,9 +662,12 @@
+ #  Yep, its ebil, but I does not know better...
+ #PERL_PACKAGE_DIR=`perl -V:installsitearch | sed "s/installsitearch='//" | sed "s/';//"`
+ # default on debian should be: /usr/share/perl5/
+-PERL_VENDORLIB=`perl -V:vendorlib | sed "s,vendorlib=',," | sed "s/';//"`
++#PERL_VENDORLIB=`perl -V:vendorlib | sed "s,vendorlib=',," | sed "s/';//"`
+ #PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr,-${prefix}-,"`
+-PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr/share,${datadir},"`
++#PERL_PACKAGE_DIR=`echo ${PERL_VENDORLIB} | sed "s,/usr/share,${datadir},"`
++# hard code path for OpenEmbedded environment as I don't know a way
++# to detect it automatically
++PERL_PACKAGE_DIR="/usr/share/perl5"
+ AC_SUBST(PERL_PACKAGE_DIR)
+ 
+ AC_PROG_PERL_MODULES(File::Basename , ,  AC_MSG_ERROR(Need Perl module File::Basename))
+@@ -719,11 +722,11 @@
+ #    AC_SUBST(DLSYM_CFLAGS,'-Ddlsym=dlsym_prepend_underscore') 
+ #fi
+ 
+-if test -f /usr/include/mysql/mysql.h; then
+- CFLAGS="$CFLAGS -I/usr/include/mysql"
+-else
+- CFLAGS="$CFLAGS -Imysql"
+-fi
++#if test -f /usr/include/mysql/mysql.h; then
++# CFLAGS="$CFLAGS -I/usr/include/mysql"
++#else
++# CFLAGS="$CFLAGS -Imysql"
++#fi
+ 
+ CFLAGS="$CFLAGS $OPT_CFLAGS"
+ CXXFLAGS="$CXXFLAGS $OPT_CFLAGS"
============================================================
--- packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive_2.10pre4.desktop	cddc5f1f7eb5adf78aaad3610fccaddcf0616dfc
+++ packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive_2.10pre4.desktop	cddc5f1f7eb5adf78aaad3610fccaddcf0616dfc
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=GPSDrive
+Comment=GPS map software
+Exec=gpsdrive -M pda -1
+Terminal=false
+Type=Application
+Icon=gpsicon
+Categories=Graphics;Network;Geography;
+StartupNotify=false
============================================================
--- packages/gpsdrive/gpsdrive_2.10pre4.bb	9e4cea32b63aa093d54c9b1039cfa8dd87790322
+++ packages/gpsdrive/gpsdrive_2.10pre4.bb	9e4cea32b63aa093d54c9b1039cfa8dd87790322
@@ -0,0 +1,33 @@
+require gpsdrive.inc
+
+DEPENDS += "libwww-perl-native libart-lgpl libxml2 cairo mysql"
+RDEPENDS_${PN} += "libwww-perl"
+
+PR = "r2"
+
+SRC_URI = "http://www.gpsdrive.de/packages/${PN}-${PV}.tar.gz \
+           file://gpsdrive_2.10pre4.desktop \
+           file://gpsdrive-remove-hardcoded-paths.patch;patch=1 \
+           file://gpsdrive-ifdef-mapnik.patch;patch=1 \
+           file://gpsdrive-2.10pre4-openstreetmap-download.patch;patch=1"
+
+do_install_append () {
+        mkdir -p  ${D}${datadir}/applications
+        install -m 0644 ${WORKDIR}/gpsdrive_2.10pre4.desktop ${D}${datadir}/applications/gpsdrive.desktop
+	mkdir -p ${D}${datadir}/pixmaps
+	cp ${D}${datadir}/${PN}/pixmaps/gpsicon.png ${D}${datadir}/pixmaps
+        # remove stuff we don't want to package
+        rm ${D}${datadir}/${PN}/gpsdrive.desktop # we have our own one
+        rm -rf ${D}${datadir}/${PN}/DSL # for Damn Small Linux
+        rm -rf ${D}${datadir}/${PN}/gentoo # for Gentoo
+}
+
+PACKAGES += "gpsdrive-maps gpsdrive-map-icons-classic gpsdrive-map-icons-other gpsdrive-addons"
+
+FILES_${PN} = "${bindir}/gpsdrive ${datadir}/applications ${datadir}/map-icons/icons.xml"
+FILES_${PN} += "${datadir}/pixmaps ${datadir}/${PN}/pixmaps ${datadir}/${PN}/poi"
+FILES_${PN}-addons = "${bindir}/*.pl ${bindir}/friendsd2 ${bindir}/geo* ${bindir}/*.sh ${bindir}/*.py ${bindir}/gpsreplay ${bindir}/gpssmswatch ${bindir}/wp* ${datadir}/mapnik ${datadir}/perl*/Geo ${datadir}/perl*/Utils"
+FILES_${PN}-map-icons-classic = "${datadir}/map-icons/classic.small"
+FILES_${PN}-map-icons-other = "${datadir}/map-icons/classic.big ${datadir}/map-icons/japan ${datadir}/map-icons/nickw ${datadir}/map-icons/square.big ${datadir}/map-icons/square.small ${datadir}/map-icons/svg"
+FILES_${PN}-maps = "${datadir}/${PN}/maps ${datadir}/${PN}/map_koord.txt"
+FILES_${PN}-doc = "${datadir}/man ${datadir}/${PN}/Documentation"
============================================================
--- packages/perl/libwww-perl-native_5.808.bb	66723b8808de2c5758435a88b9640bc8777d89be
+++ packages/perl/libwww-perl-native_5.808.bb	66723b8808de2c5758435a88b9640bc8777d89be
@@ -0,0 +1,5 @@
+SECTION = "libs"
+
+inherit native
+
+require libwww-perl_${PV}.bb
============================================================
--- packages/perl/libwww-perl_5.808.bb	c76a162b7e6844022d4b9826386bfeed71c6328e
+++ packages/perl/libwww-perl_5.808.bb	c76a162b7e6844022d4b9826386bfeed71c6328e
@@ -0,0 +1,12 @@
+DESCRIPTION = "libwww-perl provides a simple and consistent API to the World Wide Web"
+SECTION = "libs"
+LICENSE = "Artistic"
+DEPENDS = "liburi-perl-native"
+RDEPENDS = "liburi-perl"
+PR = "r1"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-${PV}.tar.gz"
+
+S = "${WORKDIR}/libwww-perl-${PV}"
+
+inherit cpan


#
# mt diff -raa3097d17325c17ff5fe04479d9a3a47ec96d299 -r46ca801f1efcaa636eaa43837f3587c7c90a93ec
#
#
#
# add_file "packages/linux/linux-omap2-git/beagleboard/convert-rwsem-to-rwclock.patch"
#  content [453d581791afa5d02d68c029a3a169b37d15152b]
# 
# patch "packages/linux/linux-omap2_git.bb"
#  from [3b6da60c8cd98f8fc757ec97487827f45027fb50]
#    to [8e7d4cb4e84b3d94fa459bf62dd4892ff2e7ae9f]
#
============================================================
--- packages/linux/linux-omap2-git/beagleboard/convert-rwsem-to-rwclock.patch	453d581791afa5d02d68c029a3a169b37d15152b
+++ packages/linux/linux-omap2-git/beagleboard/convert-rwsem-to-rwclock.patch	453d581791afa5d02d68c029a3a169b37d15152b
@@ -0,0 +1,220 @@
+The generic rwsem implementation of down_read() and down_write() does not
+save and restore interrupt state.  This causes powerdomain code to
+inadvertently enable interrupts early in the boot process, causing
+init/main.c to complain.   This patch converts powerdomain locking to
+r-w spinlocks instead.
+
+I'm also curious to know if this fixes the BeagleBoard boot problem.
+
+Signed-off-by: Paul Walmsley <paul at pwsan.com>
+---
+
+ arch/arm/mach-omap2/powerdomain.c |   46 ++++++++++++++++++++++---------------
+ 1 files changed, 27 insertions(+), 19 deletions(-)
+
+
+diff --git a/arch/arm/mach-omap2/powerdomain.c b/arch/arm/mach-omap2/powerdomain.c
+index 939efe4..0a6caaf 100644
+--- a/arch/arm/mach-omap2/powerdomain.c
++++ b/arch/arm/mach-omap2/powerdomain.c
+@@ -18,7 +18,7 @@
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/delay.h>
+-#include <linux/rwsem.h>
++#include <linux/spinlock.h>
+ #include <linux/list.h>
+ #include <linux/errno.h>
+ #include <linux/err.h>
+@@ -38,10 +38,10 @@
+ static LIST_HEAD(pwrdm_list);
+ 
+ /*
+- * pwrdm_rwsem protects pwrdm_list add and del ops - also reused to
++ * pwrdm_rwlock protects pwrdm_list add and del ops - also reused to
+  * protect pwrdm_clkdms[] during clkdm add/del ops
+  */
+-static DECLARE_RWSEM(pwrdm_rwsem);
++static DEFINE_RWLOCK(pwrdm_rwlock);
+ 
+ 
+ /* Private functions */
+@@ -131,6 +131,7 @@ void pwrdm_init(struct powerdomain **pwrdm_list)
+  */
+ int pwrdm_register(struct powerdomain *pwrdm)
+ {
++	unsigned long flags;
+ 	int ret = -EINVAL;
+ 
+ 	if (!pwrdm)
+@@ -139,7 +140,7 @@ int pwrdm_register(struct powerdomain *pwrdm)
+ 	if (!omap_chip_is(pwrdm->omap_chip))
+ 		return -EINVAL;
+ 
+-	down_write(&pwrdm_rwsem);
++	write_lock_irqsave(&pwrdm_rwlock, flags);
+ 	if (_pwrdm_lookup(pwrdm->name)) {
+ 		ret = -EEXIST;
+ 		goto pr_unlock;
+@@ -151,7 +152,7 @@ int pwrdm_register(struct powerdomain *pwrdm)
+ 	ret = 0;
+ 
+ pr_unlock:
+-	up_write(&pwrdm_rwsem);
++	write_unlock_irqrestore(&pwrdm_rwlock, flags);
+ 
+ 	return ret;
+ }
+@@ -165,12 +166,14 @@ pr_unlock:
+  */
+ int pwrdm_unregister(struct powerdomain *pwrdm)
+ {
++	unsigned long flags;
++
+ 	if (!pwrdm)
+ 		return -EINVAL;
+ 
+-	down_write(&pwrdm_rwsem);
++	write_lock_irqsave(&pwrdm_rwlock, flags);
+ 	list_del(&pwrdm->node);
+-	up_write(&pwrdm_rwsem);
++	write_unlock_irqrestore(&pwrdm_rwlock, flags);
+ 
+ 	pr_debug("powerdomain: unregistered %s\n", pwrdm->name);
+ 
+@@ -187,13 +190,14 @@ int pwrdm_unregister(struct powerdomain *pwrdm)
+ struct powerdomain *pwrdm_lookup(const char *name)
+ {
+ 	struct powerdomain *pwrdm;
++	unsigned long flags;
+ 
+ 	if (!name)
+ 		return NULL;
+ 
+-	down_read(&pwrdm_rwsem);
++	read_lock_irqsave(&pwrdm_rwlock, flags);
+ 	pwrdm = _pwrdm_lookup(name);
+-	up_read(&pwrdm_rwsem);
++	read_unlock_irqrestore(&pwrdm_rwlock, flags);
+ 
+ 	return pwrdm;
+ }
+@@ -204,7 +208,7 @@ struct powerdomain *pwrdm_lookup(const char *name)
+  *
+  * Call the supplied function for each registered powerdomain.  The
+  * callback function can return anything but 0 to bail out early from
+- * the iterator.  The callback function is called with the pwrdm_rwsem
++ * the iterator.  The callback function is called with the pwrdm_rwlock
+  * held for reading, so no powerdomain structure manipulation
+  * functions should be called from the callback, although hardware
+  * powerdomain control functions are fine.  Returns the last return
+@@ -215,18 +219,19 @@ struct powerdomain *pwrdm_lookup(const char *name)
+ int pwrdm_for_each(int (*fn)(struct powerdomain *pwrdm))
+ {
+ 	struct powerdomain *temp_pwrdm;
++	unsigned long flags;
+ 	int ret = 0;
+ 
+ 	if (!fn)
+ 		return -EINVAL;
+ 
+-	down_read(&pwrdm_rwsem);
++	read_lock_irqsave(&pwrdm_rwlock, flags);
+ 	list_for_each_entry(temp_pwrdm, &pwrdm_list, node) {
+ 		ret = (*fn)(temp_pwrdm);
+ 		if (ret)
+ 			break;
+ 	}
+-	up_read(&pwrdm_rwsem);
++	read_unlock_irqrestore(&pwrdm_rwlock, flags);
+ 
+ 	return ret;
+ }
+@@ -243,6 +248,7 @@ int pwrdm_for_each(int (*fn)(struct powerdomain *pwrdm))
+  */
+ int pwrdm_add_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm)
+ {
++	unsigned long flags;
+ 	int i;
+ 	int ret = -EINVAL;
+ 
+@@ -252,7 +258,7 @@ int pwrdm_add_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm)
+ 	pr_debug("powerdomain: associating clockdomain %s with powerdomain "
+ 		 "%s\n", clkdm->name, pwrdm->name);
+ 
+-	down_write(&pwrdm_rwsem);
++	write_lock_irqsave(&pwrdm_rwlock, flags);
+ 
+ 	for (i = 0; i < PWRDM_MAX_CLKDMS; i++) {
+ 		if (!pwrdm->pwrdm_clkdms[i])
+@@ -278,7 +284,7 @@ int pwrdm_add_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm)
+ 	ret = 0;
+ 
+ pac_exit:
+-	up_write(&pwrdm_rwsem);
++	write_unlock_irqrestore(&pwrdm_rwlock, flags);
+ 
+ 	return ret;
+ }
+@@ -295,6 +301,7 @@ pac_exit:
+  */
+ int pwrdm_del_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm)
+ {
++	unsigned long flags;
+ 	int ret = -EINVAL;
+ 	int i;
+ 
+@@ -304,7 +311,7 @@ int pwrdm_del_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm)
+ 	pr_debug("powerdomain: dissociating clockdomain %s from powerdomain "
+ 		 "%s\n", clkdm->name, pwrdm->name);
+ 
+-	down_write(&pwrdm_rwsem);
++	write_lock_irqsave(&pwrdm_rwlock, flags);
+ 
+ 	for (i = 0; i < PWRDM_MAX_CLKDMS; i++)
+ 		if (pwrdm->pwrdm_clkdms[i] == clkdm)
+@@ -322,7 +329,7 @@ int pwrdm_del_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm)
+ 	ret = 0;
+ 
+ pdc_exit:
+-	up_write(&pwrdm_rwsem);
++	write_unlock_irqrestore(&pwrdm_rwlock, flags);
+ 
+ 	return ret;
+ }
+@@ -335,7 +342,7 @@ pdc_exit:
+  * Call the supplied function for each clockdomain in the powerdomain
+  * 'pwrdm'.  The callback function can return anything but 0 to bail
+  * out early from the iterator.  The callback function is called with
+- * the pwrdm_rwsem held for reading, so no powerdomain structure
++ * the pwrdm_rwlock held for reading, so no powerdomain structure
+  * manipulation functions should be called from the callback, although
+  * hardware powerdomain control functions are fine.  Returns -EINVAL
+  * if presented with invalid pointers; or passes along the last return
+@@ -346,18 +353,19 @@ int pwrdm_for_each_clkdm(struct powerdomain *pwrdm,
+ 			 int (*fn)(struct powerdomain *pwrdm,
+ 				   struct clockdomain *clkdm))
+ {
++	unsigned long flags;
+ 	int ret = 0;
+ 	int i;
+ 
+ 	if (!fn)
+ 		return -EINVAL;
+ 
+-	down_read(&pwrdm_rwsem);
++	read_lock_irqsave(&pwrdm_rwlock, flags);
+ 
+ 	for (i = 0; i < PWRDM_MAX_CLKDMS && !ret; i++)
+ 		ret = (*fn)(pwrdm, pwrdm->pwrdm_clkdms[i]);
+ 
+-	up_read(&pwrdm_rwsem);
++	read_unlock_irqrestore(&pwrdm_rwlock, flags);
+ 
+ 	return ret;
+ }
+--
+To unsubscribe from this list: send the line "unsubscribe linux-omap" in
+the body of a message to majordomo at vger.kernel.org
+More majordomo info at  http://vger.kernel.org/majordomo-info.html
+
============================================================
--- packages/linux/linux-omap2_git.bb	3b6da60c8cd98f8fc757ec97487827f45027fb50
+++ packages/linux/linux-omap2_git.bb	8e7d4cb4e84b3d94fa459bf62dd4892ff2e7ae9f
@@ -2,9 +2,9 @@ FILESDIR = "${@os.path.dirname(bb.data.g
 
 FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/linux-omap2-git/${MACHINE}"
 
-SRCREV = "cb170dcdce58de20b045ae964a4ccfc29aad1647"
+SRCREV = "74c89552b4a5f9b5b066f74fa265248f9b5d3f1d"
 
-PV = "2.6.25+2.6.26-rc1+git${SRCREV}"
+PV = "2.6.25+2.6.26-rc2+git${SRCREV}"
 PR = "r12"
 
 
@@ -14,9 +14,7 @@ SRC_URI_append_beagleboard = " file://no
 SRC_URI_append_beagleboard = " file://no-harry-potter.diff;patch=1 \
 			       file://usb-timout.patch;patch=1 \
 			       file://l2-cache.patch;patch=1 \ 	
-			       file://0001-This-patch-adds-RTC-support-to-the-omap3-based-beagl.patch;patch=1 \	
 			       file://0001-omap3beagle-add-driver-to-turn-on-the-TFP410-framer.patch;patch=1 \
-			       file://l2-cache-check.patch;patch=1 \
 "
 
 COMPATIBLE_MACHINE = "omap2430sdp|omap2420h4|beagleboard"






More information about the Openembedded-commits mailing list