This does nothing for rtls/rge, though.
And as noted previously, rge is open source, whereas rtls is closed.
I think it is useful to be able to have to some way to run code *before*
a driver attaches, to possibly rename the driver. Perhaps probe(9e)
could do it, except that I don't know if probe(9e) is executed for PCI.
And I'm not sure that probe(9e) can change a device's "name" property in
the devinfo tree.
I suspect, that other cases like this will arise from time to time.
(Note that other FOSS already deal elegantly with this problem.)
Relying on PCI device/vendor ids *exclusively* is just too limiting in
certain circumstances.
-- Garrett
On Tue, 2007-08-14 at 12:22 -0700, Edward Pilatowicz wrote:
> i agree with artem on this issue.
> it seems that the qfe/hme case is special because for consistency
> we're propegating a broken design decision from an old platform to
> a new one. we souldn't craft special interfaces into the ddi to
> promote broken designs. ;)
>
> it seems like a one off mechanism to deal with the qfe/hme driver
> issue would be better.
>
> as a random idea, might i suggest that you check out recent
> path-oriented driver alias support that chris horne did?
> PSARC 2007/176 path-oriented driver alias
> 6536151 path-oriented driver alias
>
> perhaps we could add some hook into ON that would scan new pci bridge
> nodes so see if they are qfe bridge nodes, and if they are simply add a
> path based driver_alias entries to the kernel on the fly to map the children
> of that qfe bridge node to the qfe driver? to get a rough idea of how
> path-oriented driver rebinding works take a look at init_node().
>
> ed
>
> On Tue, Aug 14, 2007 at 11:13:15AM -0700, Garrett D'Amore wrote:
> > On Tue, 2007-08-14 at 11:12 -0700, Artem Kachitchkine wrote:
> > > > To have "qfe" devices properly represented by the "qfe" driver, while
> > > > allowing for "hme" devices to be seen by the "hme" driver, we need some
> > > > code. The only differences between these two devices are:
> > > >
> > > > 1) qfe has a specific parent PCI bridge
> > > > 2) different Fcode
> > > >
> > > > The point is that admins don't want to rename the devices for qfe to
> > > > hme, because it will cause major conversion headaches. And on x86, it
> > > > would be "nice" if qfe devices were still qfe (as they are on sparc)
> > > > rather than being known by "hme" in the x86 hardware.
> > >
> > > Both examples sound too special to warrant for any change in the core
> > > kernel, imho. I think if any quirks need to be implemented, they should
> > > be confined within the driver modules. At least when devices EOL, the
> > > ugliness goes away with the drivers; if you let ugliness into the DDI,
> > > it's forever.
> >
> > There is no way to do this in the driver.
> >
> > By the time the driver is engaged, its too late, the name and bindings
> > are chosen. You need to be able to change the bindings/names earlier.
> >
> > -- Garrett
> > >
> > > -Artem
> > > _______________________________________________
> > > opensolaris-code mailing list
> > > [email protected]
> > > http://mail.opensolaris.org/mailman/listinfo/opensolaris-code
> >
> > _______________________________________________
> > opensolaris-code mailing list
> > [email protected]
> > http://mail.opensolaris.org/mailman/listinfo/opensolaris-code
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code