diff -ur --new-file a/drivers/base/interface.c b/drivers/base/interface.c --- a/drivers/base/interface.c Wed Aug 14 17:09:28 2002 +++ b/drivers/base/interface.c Fri Aug 16 22:03:18 2002 @@ -88,8 +88,20 @@ static DEVICE_ATTR(power,"power",S_IWUSR | S_IRUGO, device_read_power,device_write_power); + +static ssize_t device_read_driver(struct device * dev, char * buf, size_t count, loff_t off) +{ + if (dev->driver) + return off ? 0 : sprintf(buf,"%s\n",dev->driver->name); + else + return 0; +} + +static DEVICE_ATTR(driver,"driver",S_IRUGO,device_read_driver,NULL); + struct device_attribute * device_default_files[] = { &dev_attr_name, &dev_attr_power, + &dev_attr_driver, NULL, };