[PATCH 2.6.21-rc1] powerpc: Make of_device_uevent() compatible with ibmebus

STALE7126d

6 messages, 3 authors, 2007-02-19 · open the first message on its own page

[PATCH 2.6.21-rc1] powerpc: Make of_device_uevent() compatible with ibmebus

From: Hoang-Nam Nguyen <hidden>
Date: 2007-02-17 16:24:35

ibmebus has a fake root device that's not associated with an ofdt node.
Filter out any such devices in of_device_uevent().


Signed-off-by: Joachim Fenkes <redacted>
---


 of_device.c |    4 ++++
 1 files changed, 4 insertions(+)


diff -urp a/arch/powerpc/kernel/of_device.c b/arch/powerpc/kernel/of_device.c
--- a/arch/powerpc/kernel/of_device.c	2007-02-17 16:36:32.116368480 +0100
+++ b/arch/powerpc/kernel/of_device.c	2007-02-17 16:44:01.319366352 +0100
@@ -180,6 +180,10 @@ int of_device_uevent(struct device *dev,
 
 	ofdev = to_of_device(dev);
 
+	/* e.g. ibmebus has a fake root device w/o ofdt node -- filter that */
+	if (!ofdev->node)
+		return -ENODEV;
+
 	if (add_uevent_var(envp, num_envp, &i,
 			   buffer, buffer_size, &length,
 			   "OF_NAME=%s", ofdev->node->name))

Re: [PATCH 2.6.21-rc1] powerpc: Make of_device_uevent() compatible with ibmebus

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2007-02-17 22:01:03

On Sat, 2007-02-17 at 17:28 +0100, Hoang-Nam Nguyen wrote:
ibmebus has a fake root device that's not associated with an ofdt node.
Filter out any such devices in of_device_uevent().
Doh ! You are creating an of_device with no attached device-node ? That
is totally evil ! Why do you need that ?

Ben.
quoted hunk
Signed-off-by: Joachim Fenkes <redacted>
---


 of_device.c |    4 ++++
 1 files changed, 4 insertions(+)


diff -urp a/arch/powerpc/kernel/of_device.c b/arch/powerpc/kernel/of_device.c
--- a/arch/powerpc/kernel/of_device.c	2007-02-17 16:36:32.116368480 +0100
+++ b/arch/powerpc/kernel/of_device.c	2007-02-17 16:44:01.319366352 +0100
@@ -180,6 +180,10 @@ int of_device_uevent(struct device *dev,
 
 	ofdev = to_of_device(dev);
 
+	/* e.g. ibmebus has a fake root device w/o ofdt node -- filter that */
+	if (!ofdev->node)
+		return -ENODEV;
+
 	if (add_uevent_var(envp, num_envp, &i,
 			   buffer, buffer_size, &length,
 			   "OF_NAME=%s", ofdev->node->name))
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: [PATCH 2.6.21-rc1] powerpc: Make of_device_uevent() compatible with ibmebus

From: Joachim Fenkes <hidden>
Date: 2007-02-18 00:21:48

Benjamin Herrenschmidt [off-list ref] wrote on 17.02.2007=20
16:56:39:
On Sat, 2007-02-17 at 17:28 +0100, Hoang-Nam Nguyen wrote:
quoted
ibmebus has a fake root device that's not associated with an ofdt=20
node.
quoted
Filter out any such devices in of=5Fdevice=5Fuevent().
=20
Doh ! You are creating an of=5Fdevice with no attached device-node ? That
is totally evil ! Why do you need that ?
The driver creates a fake "ibmebus" device so all ibmebus based devices=20
have
a common parent device -- the vio bus does the same.

What do you think about linking this device to the device tree "/" node?=20
All
ibmebus-based devices are linked to dt nodes residing directly beneath=20
"/",
so the mapping would fit.

Cheers,
  Joachim

---
Joachim Fenkes  --  eHCA Linux Driver Developer and Hardware Tamer=20
extraordinaire
IBM Deutschland Entwicklung GmbH  --  Dept. 3627 (I/O Firmware Development =

2)
Schoenaicher Strasse 220  --  71032 Boeblingen  --  Germany
eMail: fenkes@de.ibm.com  --  Phone: +49 7031 16 1239=20

Vorsitzender des Aufsichtsrats: Johann Weihen  --  Gesch=E4ftsf=FChrung:=20
Herbert Kircher
Sitz der Gesellschaft: B=F6blingen  --  Registergericht: Amtsgericht=20
Stuttgart, HRB 243294

Re: [PATCH 2.6.21-rc1] powerpc: Make of_device_uevent() compatible with ibmebus

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2007-02-18 00:50:03

On Sat, 2007-02-17 at 19:21 -0500, Joachim Fenkes wrote:
Benjamin Herrenschmidt [off-list ref] wrote on 17.02.2007 
16:56:39:
quoted
On Sat, 2007-02-17 at 17:28 +0100, Hoang-Nam Nguyen wrote:
quoted
ibmebus has a fake root device that's not associated with an ofdt 
node.
quoted
quoted
Filter out any such devices in of_device_uevent().
Doh ! You are creating an of_device with no attached device-node ? That
is totally evil ! Why do you need that ?
The driver creates a fake "ibmebus" device so all ibmebus based devices 
have
a common parent device -- the vio bus does the same.

What do you think about linking this device to the device tree "/" node? 
All
ibmebus-based devices are linked to dt nodes residing directly beneath 
"/",
so the mapping would fit.
No. If you do that, it shouldn't be an of_device based device.

If you want then to be below a common parent, then create that parent of
a basic struct device type, that sort of thing. You should never
instanciate an of_device that has a NULL device node.

vio is different since it's not a "subclass" of of_device though I tend
to also disagree with the way it does things.

It's a generic problem with sysfs, I agree it somewhat sucks.

Ben.

Re: [PATCH 2.6.21-rc1] powerpc: Make of_device_uevent() compatible with ibmebus

From: Joachim Fenkes <hidden>
Date: 2007-02-19 16:36:30

Benjamin Herrenschmidt [off-list ref] wrote on 17.02.2007=20
19:37:25:
quoted
quoted
Doh ! You are creating an of=5Fdevice with no attached device-node ? =
That
quoted
quoted
is totally evil ! Why do you need that ?
=20
The driver creates a fake "ibmebus" device so all ibmebus based=20
devices=20
quoted
have
a common parent device -- the vio bus does the same.
=20
What do you think about linking this device to the device tree "/"=20
node?=20
quoted
All
ibmebus-based devices are linked to dt nodes residing directly beneath =
quoted
"/",
so the mapping would fit.
=20
No. If you do that, it shouldn't be an of=5Fdevice based device.
=20
If you want then to be below a common parent, then create that parent of
a basic struct device type, that sort of thing. You should never
instanciate an of=5Fdevice that has a NULL device node.
If I make the root device a basic struct device, it can't be part of=20
ibmebus any
longer. If we could create a busless device, we wouldn't have a problem,=20
but I
doubt that is possible.

Do you have any creative ideas?
=20
It's a generic problem with sysfs, I agree it somewhat sucks.
With ya.

Later,
  Joachim

---
Joachim Fenkes  --  eHCA Linux Driver Developer and Hardware Tamer=20
extraordinaire
IBM Deutschland Entwicklung GmbH  --  Dept. 3627 (I/O Firmware Development =

2)
Schoenaicher Strasse 220  --  71032 Boeblingen  --  Germany
eMail: fenkes@de.ibm.com  --  Phone: +49 7031 16 1239=20

Vorsitzender des Aufsichtsrats: Johann Weihen  --  Gesch=E4ftsf=FChrung:=20
Herbert Kircher
Sitz der Gesellschaft: B=F6blingen  --  Registergericht: Amtsgericht=20
Stuttgart, HRB 243294

Re: [PATCH 2.6.21-rc1] powerpc: Make of_device_uevent() compatible with ibmebus

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2007-02-19 20:03:26

If I make the root device a basic struct device, it can't be part of 
ibmebus any
longer. If we could create a busless device, we wouldn't have a problem, 
but I
doubt that is possible.

Do you have any creative ideas?
Well, I think PCI does just that for PCI busses ... (a busless device)

Ben.
quoted
It's a generic problem with sysfs, I agree it somewhat sucks.
With ya.

Later,
  Joachim

---
Joachim Fenkes  --  eHCA Linux Driver Developer and Hardware Tamer 
extraordinaire
IBM Deutschland Entwicklung GmbH  --  Dept. 3627 (I/O Firmware Development 
2)
Schoenaicher Strasse 220  --  71032 Boeblingen  --  Germany
eMail: fenkes@de.ibm.com  --  Phone: +49 7031 16 1239 

Vorsitzender des Aufsichtsrats: Johann Weihen  --  Geschäftsführung: 
Herbert Kircher
Sitz der Gesellschaft: Böblingen  --  Registergericht: Amtsgericht 
Stuttgart, HRB 243294
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help