[kernel] r10244 - in dists/trunk/linux-2.6/debian/patches: bugfix/all series

Maximilian Attems maks at alioth.debian.org
Tue Jan 29 09:56:44 UTC 2008


Author: maks
Date: Tue Jan 29 09:56:44 2008
New Revision: 10244

Log:
add ppc vio compile fix

linus has not remerged the driver subsys tree,
just push this compile fix for now.


Added:
   dists/trunk/linux-2.6/debian/patches/bugfix/all/ppc-vio_find_name-compile_fix.patch
Modified:
   dists/trunk/linux-2.6/debian/patches/series/1~experimental.1

Added: dists/trunk/linux-2.6/debian/patches/bugfix/all/ppc-vio_find_name-compile_fix.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/all/ppc-vio_find_name-compile_fix.patch	Tue Jan 29 09:56:44 2008
@@ -0,0 +1,59 @@
+From: Paul Mackerras <paulus at samba.org>
+Date: Sun, 27 Jan 2008 00:45:30 +0000 (+1100)
+Subject: PPC: Fix powerpc vio_find_name to not use devices_subsys
+X-Git-Url: http://git.eu.kernel.org/?p=linux%2Fkernel%2Fgit%2Fgregkh%2Fdriver-2.6.git;a=commitdiff_plain;h=c847c853a5c562bac940c544748525d038167275
+
+PPC: Fix powerpc vio_find_name to not use devices_subsys
+
+This fixes vio_find_name() in arch/powerpc/kernel/vio.c, which is
+currently broken because it tries to use devices_subsys.  That is bad
+for two reasons: (1) it's doing (or trying to do) a scan of all
+devices when it should only be scanning those on the vio bus, and
+(2) devices_subsys was an internal symbol of the device system code
+which was never meant for external use and has now gone away, and
+thus the kernel fails to compile on pSeries.
+
+The new version uses bus_find_device_by_name() on the vio bus
+(vio_bus_type).
+
+Signed-off-by: Paul Mackerras <paulus at samba.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+---
+
+diff --git a/arch/powerpc/kernel/vio.c b/arch/powerpc/kernel/vio.c
+index 19a5656..f0bad70 100644
+--- a/arch/powerpc/kernel/vio.c
++++ b/arch/powerpc/kernel/vio.c
+@@ -37,8 +37,6 @@
+ #include <asm/iseries/hv_call_xm.h>
+ #include <asm/iseries/iommu.h>
+ 
+-extern struct kset devices_subsys; /* needed for vio_find_name() */
+-
+ static struct bus_type vio_bus_type;
+ 
+ static struct vio_dev vio_bus_device  = { /* fake "parent" device */
+@@ -361,19 +359,16 @@ EXPORT_SYMBOL(vio_get_attribute);
+ #ifdef CONFIG_PPC_PSERIES
+ /* vio_find_name() - internal because only vio.c knows how we formatted the
+  * kobject name
+- * XXX once vio_bus_type.devices is actually used as a kset in
+- * drivers/base/bus.c, this function should be removed in favor of
+- * "device_find(kobj_name, &vio_bus_type)"
+  */
+-static struct vio_dev *vio_find_name(const char *kobj_name)
++static struct vio_dev *vio_find_name(const char *name)
+ {
+-	struct kobject *found;
++	struct device *found;
+ 
+-	found = kset_find_obj(&devices_subsys, kobj_name);
++	found = bus_find_device_by_name(&vio_bus_type, NULL, name);
+ 	if (!found)
+ 		return NULL;
+ 
+-	return to_vio_dev(container_of(found, struct device, kobj));
++	return to_vio_dev(found);
+ }
+ 
+ /**

Modified: dists/trunk/linux-2.6/debian/patches/series/1~experimental.1
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/1~experimental.1	(original)
+++ dists/trunk/linux-2.6/debian/patches/series/1~experimental.1	Tue Jan 29 09:56:44 2008
@@ -42,3 +42,4 @@
 + bugfix/all/fw-sbp2-skip-unnecessary-logout.patch
 + bugfix/all/fw-sbp2-try-increase-reconnect_hold.patch
 + bugfix/all/patch-2.6.24-git5
++ bugfix/all/ppc-vio_find_name-compile_fix.patch



More information about the Kernel-svn-changes mailing list