LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH 2.6.21-rc1] powerpc: Make of_device_uevent() compatible with ibmebus
@ 2007-02-17 16:28 Hoang-Nam Nguyen
  2007-02-17 21:56 ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 6+ messages in thread
From: Hoang-Nam Nguyen @ 2007-02-17 16:28 UTC (permalink / raw)
  To: paulus, linuxppc-dev, linux-kernel, johnrose, Sylvain Munaut; +Cc: pmac, fenkes

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 <fenkes@de.ibm.com>
---


 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))


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

* Re: [PATCH 2.6.21-rc1] powerpc: Make of_device_uevent() compatible with ibmebus
  2007-02-17 16:28 [PATCH 2.6.21-rc1] powerpc: Make of_device_uevent() compatible with ibmebus Hoang-Nam Nguyen
@ 2007-02-17 21:56 ` Benjamin Herrenschmidt
  2007-02-18  0:21   ` Joachim Fenkes
  0 siblings, 1 reply; 6+ messages in thread
From: Benjamin Herrenschmidt @ 2007-02-17 21:56 UTC (permalink / raw)
  To: Hoang-Nam Nguyen
  Cc: paulus, linuxppc-dev, linux-kernel, johnrose, Sylvain Munaut,
	fenkes, pmac

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.

> 
> Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com>
> ---
> 
> 
>  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


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

* Re: [PATCH 2.6.21-rc1] powerpc: Make of_device_uevent() compatible with ibmebus
  2007-02-17 21:56 ` Benjamin Herrenschmidt
@ 2007-02-18  0:21   ` Joachim Fenkes
  2007-02-18  0:37     ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 6+ messages in thread
From: Joachim Fenkes @ 2007-02-18  0:21 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Hoang-Nam Nguyen, johnrose, linux-kernel, linuxppc-dev, paulus,
	pmac, Sylvain Munaut

Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote on 17.02.2007 
16:56:39:

> 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 ?

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.

Cheers,
  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


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

* Re: [PATCH 2.6.21-rc1] powerpc: Make of_device_uevent() compatible with ibmebus
  2007-02-18  0:21   ` Joachim Fenkes
@ 2007-02-18  0:37     ` Benjamin Herrenschmidt
  2007-02-19 16:36       ` Joachim Fenkes
  0 siblings, 1 reply; 6+ messages in thread
From: Benjamin Herrenschmidt @ 2007-02-18  0:37 UTC (permalink / raw)
  To: Joachim Fenkes
  Cc: Hoang-Nam Nguyen, johnrose, linux-kernel, linuxppc-dev, paulus,
	pmac, Sylvain Munaut

On Sat, 2007-02-17 at 19:21 -0500, Joachim Fenkes wrote:
> Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote on 17.02.2007 
> 16:56:39:
> 
> > 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 ?
> 
> 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.



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

* Re: [PATCH 2.6.21-rc1] powerpc: Make of_device_uevent() compatible with ibmebus
  2007-02-18  0:37     ` Benjamin Herrenschmidt
@ 2007-02-19 16:36       ` Joachim Fenkes
  2007-02-19 19:47         ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 6+ messages in thread
From: Joachim Fenkes @ 2007-02-19 16:36 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Hoang-Nam Nguyen, johnrose, linux-kernel, linuxppc-dev, paulus,
	pmac, Sylvain Munaut

Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote on 17.02.2007 
19:37:25:

> > > 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.

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?
 
> 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

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

* Re: [PATCH 2.6.21-rc1] powerpc: Make of_device_uevent() compatible with ibmebus
  2007-02-19 16:36       ` Joachim Fenkes
@ 2007-02-19 19:47         ` Benjamin Herrenschmidt
  0 siblings, 0 replies; 6+ messages in thread
From: Benjamin Herrenschmidt @ 2007-02-19 19:47 UTC (permalink / raw)
  To: Joachim Fenkes
  Cc: Hoang-Nam Nguyen, johnrose, linux-kernel, linuxppc-dev, paulus,
	pmac, Sylvain Munaut


> 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.

> > 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


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

end of thread, other threads:[~2007-02-19 20:03 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-17 16:28 [PATCH 2.6.21-rc1] powerpc: Make of_device_uevent() compatible with ibmebus Hoang-Nam Nguyen
2007-02-17 21:56 ` Benjamin Herrenschmidt
2007-02-18  0:21   ` Joachim Fenkes
2007-02-18  0:37     ` Benjamin Herrenschmidt
2007-02-19 16:36       ` Joachim Fenkes
2007-02-19 19:47         ` Benjamin Herrenschmidt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).