Subject: Re: [PATCH][1/5] RapidIO support: core

From: Matt Porter <[email-masked]>
Date: Fri, 3 Jun 2005 14:35:48 -0700

On Fri, Jun 03, 2005 at 12:20:27AM -0700, Greg KH wrote:
> On Thu, Jun 02, 2005 at 02:03:59PM -0700, Matt Porter wrote:
> > +static struct device rio_bus = {
> > +	.bus_id = "rapidio",
> > +};
> 
> Why do you need this device?  You shouldn't have a static struct device
> to start with.  Or you just don't like having your root rio device
> showing up in /sys/devices/ ?

Exactly. There's no hierarchy in this interconnect. So it seemed
that having a static rio_bus device made the most sense. Everything
exists as peers since it works more like a network than a hierarchical
bus like PCI. Right now, you can't see the endpoint which actually
implements your port into the switch fabric...there's no device
created for it. I'm still trying to determine if that should change
but it's not critical to usability with the current generation
hardware.

One argument I have _for_ it is that it would be easy to show
and manipulate a network from userspace if all nodes had a device
associated with them.  That's not a real world problem yet so
I decided not to complicate things yet.

> If so, just create a kobject and put it there, and then base your
> devices off of it, no need for a real device.
> 
> Oh wait, that's what the platform and system code does.  bah,
> nevermind...

Ok. I did pull this part right from the platform code, in fact.

-Matt