diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-16 15:57:37 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-16 15:57:37 -0400 |
commit | 6fd03301d76bc439382710e449f58efbb233df1b (patch) | |
tree | 3c8a3217aed67319683ffc1debccdb5b3245b16c /drivers/base/dd.c | |
parent | cd5232bd6be2d215a800f3d88c287ca791debfbe (diff) | |
parent | e4792aa30f9d33584d7192685ed149cc5fee737f (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (64 commits)
debugfs: use specified mode to possibly mark files read/write only
debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem.
xen: remove driver_data direct access of struct device from more drivers
usb: gadget: at91_udc: remove driver_data direct access of struct device
uml: remove driver_data direct access of struct device
block/ps3: remove driver_data direct access of struct device
s390: remove driver_data direct access of struct device
parport: remove driver_data direct access of struct device
parisc: remove driver_data direct access of struct device
of_serial: remove driver_data direct access of struct device
mips: remove driver_data direct access of struct device
ipmi: remove driver_data direct access of struct device
infiniband: ehca: remove driver_data direct access of struct device
ibmvscsi: gadget: at91_udc: remove driver_data direct access of struct device
hvcs: remove driver_data direct access of struct device
xen block: remove driver_data direct access of struct device
thermal: remove driver_data direct access of struct device
scsi: remove driver_data direct access of struct device
pcmcia: remove driver_data direct access of struct device
PCIE: remove driver_data direct access of struct device
...
Manually fix up trivial conflicts due to different direct driver_data
direct access fixups in drivers/block/{ps3disk.c,ps3vram.c}
Diffstat (limited to 'drivers/base/dd.c')
-rw-r--r-- | drivers/base/dd.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/base/dd.c b/drivers/base/dd.c index 742cbe6b042b..f0106875f01d 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c | |||
@@ -226,7 +226,7 @@ static int __device_attach(struct device_driver *drv, void *data) | |||
226 | * pair is found, break out and return. | 226 | * pair is found, break out and return. |
227 | * | 227 | * |
228 | * Returns 1 if the device was bound to a driver; | 228 | * Returns 1 if the device was bound to a driver; |
229 | * 0 if no matching device was found; | 229 | * 0 if no matching driver was found; |
230 | * -ENODEV if the device is not registered. | 230 | * -ENODEV if the device is not registered. |
231 | * | 231 | * |
232 | * When called for a USB interface, @dev->parent->sem must be held. | 232 | * When called for a USB interface, @dev->parent->sem must be held. |
@@ -320,6 +320,10 @@ static void __device_release_driver(struct device *dev) | |||
320 | devres_release_all(dev); | 320 | devres_release_all(dev); |
321 | dev->driver = NULL; | 321 | dev->driver = NULL; |
322 | klist_remove(&dev->p->knode_driver); | 322 | klist_remove(&dev->p->knode_driver); |
323 | if (dev->bus) | ||
324 | blocking_notifier_call_chain(&dev->bus->p->bus_notifier, | ||
325 | BUS_NOTIFY_UNBOUND_DRIVER, | ||
326 | dev); | ||
323 | } | 327 | } |
324 | } | 328 | } |
325 | 329 | ||