Skip to content

Commit

Permalink
Staging: ipack: remove field driver from struct ipack_device.
Browse files Browse the repository at this point in the history
After a successful match is found the driver field in struct device is
set by the core device code. We can use this field.

Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org>
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Jens Taprogge authored and Greg Kroah-Hartman committed Sep 11, 2012
1 parent 90cb619 commit 3bea7fc
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 12 deletions.
17 changes: 7 additions & 10 deletions drivers/staging/ipack/ipack.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,32 +59,29 @@ static int ipack_bus_match(struct device *dev, struct device_driver *drv)
const struct ipack_device_id *found_id;

found_id = ipack_match_id(idrv->id_table, idev);
if (found_id) {
idev->driver = idrv;
return 1;
}

return 0;
return found_id ? 1 : 0;
}

static int ipack_bus_probe(struct device *device)
{
struct ipack_device *dev = to_ipack_dev(device);
struct ipack_driver *drv = to_ipack_driver(device->driver);

if (!dev->driver->ops->probe)
if (!drv->ops->probe)
return -EINVAL;

return dev->driver->ops->probe(dev);
return drv->ops->probe(dev);
}

static int ipack_bus_remove(struct device *device)
{
struct ipack_device *dev = to_ipack_dev(device);
struct ipack_driver *drv = to_ipack_driver(device->driver);

if (!dev->driver->ops->remove)
if (!drv->ops->remove)
return -EINVAL;

dev->driver->ops->remove(dev);
drv->ops->remove(dev);
return 0;
}

Expand Down
2 changes: 0 additions & 2 deletions drivers/staging/ipack/ipack.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ struct ipack_addr_space {
* @bus_nr: IP bus number where the device is plugged
* @slot: Slot where the device is plugged in the carrier board
* @irq: IRQ vector
* @driver: Pointer to the ipack_driver that manages the device
* @bus: ipack_bus_device where the device is plugged to.
* @id_space: Virtual address to ID space.
* @io_space: Virtual address to IO space.
Expand All @@ -68,7 +67,6 @@ struct ipack_device {
unsigned int bus_nr;
unsigned int slot;
unsigned int irq;
struct ipack_driver *driver;
struct ipack_bus_device *bus;
struct ipack_addr_space id_space;
struct ipack_addr_space io_space;
Expand Down

0 comments on commit 3bea7fc

Please sign in to comment.