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