Messages in this thread | | | Date | Thu, 7 Oct 2004 14:40:04 -0700 | From | Greg KH <> | Subject | Re: Driver core change request |
| |
On Wed, Oct 06, 2004 at 11:54:18PM -0500, Dmitry Torokhov wrote: > Hi, > > I am reworking my sysfs serio patches (trying to get dynamic psmouse > protocol switching) and I am wondering if we could export device_attach > function. Serio system allows user to request device rescan - force current > driver to let go off the device and find another suitable driver. Also user > can manually request device to be disconnected/connected to a driver. By > having device_attach exported I could get rid of some duplicated code.
driver_attach() is global, so I don't have a problem with making device_attach() global either. Just send me a patch :)
> Also serio allows user to request a specific driver to be bound to a device > in case there are several options (psmouse/serio_raw for example). To do > that and not poke in the driver core guts too much I need something like the > following: > > int driver_probe_device(struct device_driver *dev, struct device *dev) > { > int error; > > dev->driver = drv; > if (drv->probe) { > if ((error = drv->probe(dev))) { > dev->driver = NULL; > return error; > } > } > device_bind_driver(dev); > return 0; > } > > > static int bus_match(struct device * dev, struct device_driver * drv) > { > if (dev->bus->match(dev, drv)) > return driver_probe_device(drv, dev); > > return -ENODEV; > } > > I.e driver_probe_device is exported. Does it have a chance to be accepted?
What's wrong with doing what the pci core does in this situation and call driver_attach()?
thanks,
greg k-h - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |