All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2/3 (updated)] openfirmware: add sysfs nodes for open firmware devices
@ 2005-07-06 19:26 Jeff Mahoney
  2005-07-06 19:41 ` Linus Torvalds
  0 siblings, 1 reply; 6+ messages in thread
From: Jeff Mahoney @ 2005-07-06 19:26 UTC (permalink / raw)
  To: Andrew Morton, Linus Torvalds, Linux Kernel Mailing List, benh

 This patch adds sysfs nodes that the hotplug userspace can use to load the
 appropriate modules.
 
 In order for hotplug to work with macio devices, patches to module-init-tools
 and hotplug must be applied. Those patches are available at:
 
 ftp://ftp.suse.com/pub/people/jeffm/linux/macio-hotplug/

 Changes: The previous versions were built on 2.6.12. 2.6.13-rcX introduced
          a device_attribute parameter to the show functions. Since that
          parameter was treated as the output buffer, memory corruption would
          result, causing Oopsen very quickly.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>

diff -ruNpX dontdiff linux-2.6.13-rc2.orig/drivers/macintosh/macio_asic.c linux-2.6.13-rc2/drivers/macintosh/macio_asic.c
--- linux-2.6.13-rc2.orig/drivers/macintosh/macio_asic.c	2005-07-06 11:47:46.000000000 -0400
+++ linux-2.6.13-rc2/drivers/macintosh/macio_asic.c	2005-07-06 11:46:03.000000000 -0400
@@ -126,11 +126,14 @@ static int macio_device_resume(struct de
 	return 0;
 }
 
+extern struct device_attribute macio_dev_attrs[];
+
 struct bus_type macio_bus_type = {
        .name	= "macio",
        .match	= macio_bus_match,
        .suspend	= macio_device_suspend,
        .resume	= macio_device_resume,
+       .dev_attrs = macio_dev_attrs,
 };
 
 static int __init macio_bus_driver_init(void)
diff -ruNpX dontdiff linux-2.6.13-rc2.orig/drivers/macintosh/macio_sysfs.c linux-2.6.13-rc2/drivers/macintosh/macio_sysfs.c
--- linux-2.6.13-rc2.orig/drivers/macintosh/macio_sysfs.c	1969-12-31 19:00:00.000000000 -0500
+++ linux-2.6.13-rc2/drivers/macintosh/macio_sysfs.c	2005-07-06 11:46:36.000000000 -0400
@@ -0,0 +1,50 @@
+#include <linux/config.h>
+#include <linux/kernel.h>
+#include <linux/stat.h>
+#include <asm/macio.h>
+
+
+#define macio_config_of_attr(field, format_string)			\
+static ssize_t								\
+field##_show (struct device *dev, struct device_attribute *attr,	\
+              char *buf)						\
+{									\
+	struct macio_dev *mdev = to_macio_device (dev);			\
+	return sprintf (buf, format_string, mdev->ofdev.node->field);	\
+}
+
+static ssize_t
+compatible_show (struct device *dev, struct device_attribute *attr, char *buf)
+{
+	struct of_device *of;
+	char *compat;
+	int cplen;
+	int length = 0;
+
+	of = &to_macio_device (dev)->ofdev;
+	compat = (char *) get_property(of->node, "compatible", &cplen);
+	if (!compat) {
+		*buf = '\0';
+		return 0;
+	}
+	while (cplen > 0) {
+		int l;
+		length += sprintf (buf, "%s\n", compat);
+		buf += length;
+		l = strlen (compat) + 1;
+		compat += l;
+		cplen -= l;
+	}
+
+	return length;
+}
+
+macio_config_of_attr (name, "%s\n");
+macio_config_of_attr (type, "%s\n");
+
+struct device_attribute macio_dev_attrs[] = {
+	__ATTR_RO(name),
+	__ATTR_RO(type),
+	__ATTR_RO(compatible),
+	__ATTR_NULL
+};
diff -ruNpX dontdiff linux-2.6.13-rc2.orig/drivers/macintosh/Makefile linux-2.6.13-rc2/drivers/macintosh/Makefile
--- linux-2.6.13-rc2.orig/drivers/macintosh/Makefile	2005-07-06 11:47:46.000000000 -0400
+++ linux-2.6.13-rc2/drivers/macintosh/Makefile	2005-07-06 11:41:51.000000000 -0400
@@ -4,7 +4,7 @@
 
 # Each configuration option enables a list of files.
 
-obj-$(CONFIG_PPC_PMAC)		+= macio_asic.o
+obj-$(CONFIG_PPC_PMAC)		+= macio_asic.o macio_sysfs.o
 
 obj-$(CONFIG_PMAC_MEDIABAY)	+= mediabay.o
 obj-$(CONFIG_MAC_EMUMOUSEBTN)	+= mac_hid.o
-- 
Jeff Mahoney
SuSE Labs

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/3 (updated)] openfirmware: add sysfs nodes for open firmware devices
  2005-07-06 19:26 [PATCH 2/3 (updated)] openfirmware: add sysfs nodes for open firmware devices Jeff Mahoney
@ 2005-07-06 19:41 ` Linus Torvalds
  2005-07-06 20:21   ` Linus Torvalds
  0 siblings, 1 reply; 6+ messages in thread
From: Linus Torvalds @ 2005-07-06 19:41 UTC (permalink / raw)
  To: Jeff Mahoney; +Cc: Andrew Morton, Linux Kernel Mailing List, benh



On Wed, 6 Jul 2005, Jeff Mahoney wrote:
>
>  This patch adds sysfs nodes that the hotplug userspace can use to load the
>  appropriate modules.

Can you re-send the other ones too, and I'll apply the whole series.

Thanks,

		Linus

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/3 (updated)] openfirmware: add sysfs nodes for open firmware devices
  2005-07-06 19:41 ` Linus Torvalds
@ 2005-07-06 20:21   ` Linus Torvalds
  2005-07-06 20:39     ` Jeff Mahoney
  0 siblings, 1 reply; 6+ messages in thread
From: Linus Torvalds @ 2005-07-06 20:21 UTC (permalink / raw)
  To: Jeff Mahoney; +Cc: Andrew Morton, Linux Kernel Mailing List, benh



On Wed, 6 Jul 2005, Linus Torvalds wrote:
> 
> Can you re-send the other ones too, and I'll apply the whole series.

Ok, I've applied it, but it seems to make my X installation really really 
unhappy on my G5.

I'm trying to hunt down the reason (no oopses, at least).

		Linus

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/3 (updated)] openfirmware: add sysfs nodes for open firmware devices
  2005-07-06 20:21   ` Linus Torvalds
@ 2005-07-06 20:39     ` Jeff Mahoney
  2005-07-06 20:48       ` Linus Torvalds
  0 siblings, 1 reply; 6+ messages in thread
From: Jeff Mahoney @ 2005-07-06 20:39 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Andrew Morton, Linux Kernel Mailing List, benh

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Linus Torvalds wrote:
> 
> On Wed, 6 Jul 2005, Linus Torvalds wrote:
>>Can you re-send the other ones too, and I'll apply the whole series.
> 
> Ok, I've applied it, but it seems to make my X installation really really 
> unhappy on my G5.
> 
> I'm trying to hunt down the reason (no oopses, at least).

Hrm. These patches always get more fun. What behavior are you seeing?

- -Jeff

- --
Jeff Mahoney
SuSE Labs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCzEF3LPWxlyuTD7IRAq5eAJ47cVtkcucNFRzyVSfH1oRRyupQKgCeJemA
0cogMr5PHPrRvted/jqhbjc=
=a1rB
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/3 (updated)] openfirmware: add sysfs nodes for open firmware devices
  2005-07-06 20:39     ` Jeff Mahoney
@ 2005-07-06 20:48       ` Linus Torvalds
  2005-07-06 21:39         ` Linus Torvalds
  0 siblings, 1 reply; 6+ messages in thread
From: Linus Torvalds @ 2005-07-06 20:48 UTC (permalink / raw)
  To: Jeff Mahoney; +Cc: Andrew Morton, Linux Kernel Mailing List, benh



On Wed, 6 Jul 2005, Jeff Mahoney wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Linus Torvalds wrote:
> > 
> > On Wed, 6 Jul 2005, Linus Torvalds wrote:
> >>Can you re-send the other ones too, and I'll apply the whole series.
> > 
> > Ok, I've applied it, but it seems to make my X installation really really 
> > unhappy on my G5.
> > 
> > I'm trying to hunt down the reason (no oopses, at least).
> 
> Hrm. These patches always get more fun. What behavior are you seeing?

The kernel works, everything is happy, but X sets a mode that apparently 
doesn't work out and my screen is all black.

However, I don't think it was your patches after all.  I'm still hunting, 
but it might even have been a totally unrelated "yum upgrade". 

		Linus

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/3 (updated)] openfirmware: add sysfs nodes for open firmware devices
  2005-07-06 20:48       ` Linus Torvalds
@ 2005-07-06 21:39         ` Linus Torvalds
  0 siblings, 0 replies; 6+ messages in thread
From: Linus Torvalds @ 2005-07-06 21:39 UTC (permalink / raw)
  To: Jeff Mahoney; +Cc: Andrew Morton, Linux Kernel Mailing List, benh



On Wed, 6 Jul 2005, Linus Torvalds wrote:
> 
> However, I don't think it was your patches after all.  I'm still hunting, 
> but it might even have been a totally unrelated "yum upgrade". 

Confirmed. Sorry for the noise. The upgrade had apparently decided to 
replace my xorg.conf with a "failsafe" one.

Patches applied and pushed out.

		Linus

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-07-06 21:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-06 19:26 [PATCH 2/3 (updated)] openfirmware: add sysfs nodes for open firmware devices Jeff Mahoney
2005-07-06 19:41 ` Linus Torvalds
2005-07-06 20:21   ` Linus Torvalds
2005-07-06 20:39     ` Jeff Mahoney
2005-07-06 20:48       ` Linus Torvalds
2005-07-06 21:39         ` Linus Torvalds

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.