| From khali@linux-fr.org Fri Mar 9 07:34:37 2007 |
| Date: Fri, 9 Mar 2007 16:33:10 +0100 |
| From: Jean Delvare <khali@linux-fr.org> |
| To: Greg KH <greg@kroah.com> |
| Cc: David Brownell <david-b@pacbell.net> |
| Subject: dev_printk and new-style class devices |
| Message-Id: <20070309163310.b78263ed.khali@linux-fr.org> |
| |
| As the new-style class devices (as opposed to old-style struct |
| class_device) are becoming more widely used, I noticed that the |
| dev_printk-based functions are not working properly with these. |
| New-style class devices have no driver nor bus, almost by definition, |
| and as a result dev_driver_string(), which is used as the first |
| parameter of dev_printk, resolves to an empty string. This causes |
| entries like the following to show in my logs: |
| |
| i2c-2: adapter [SMBus stub driver] registered |
| |
| Notice the unaesthetical leading whitespace. In order to fix this |
| problem, I suggest that we extend dev_driver_string to deal with |
| new-style class devices: |
| |
| Signed-off-by: Jean Delvare <khali@linux-fr.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/base/core.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/base/core.c |
| +++ b/drivers/base/core.c |
| @@ -43,7 +43,8 @@ int (*platform_notify_remove)(struct dev |
| const char *dev_driver_string(struct device *dev) |
| { |
| return dev->driver ? dev->driver->name : |
| - (dev->bus ? dev->bus->name : ""); |
| + (dev->bus ? dev->bus->name : |
| + (dev->class ? dev->class->name : "")); |
| } |
| EXPORT_SYMBOL(dev_driver_string); |
| |