It is not needed as the IP module should free its IRQ using tpci200_free_irq callback. Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@xxxxxxxxxx> --- drivers/staging/ipack/bridges/tpci200.c | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/drivers/staging/ipack/bridges/tpci200.c b/drivers/staging/ipack/bridges/tpci200.c index 12f2ca6..e58e312 100644 --- a/drivers/staging/ipack/bridges/tpci200.c +++ b/drivers/staging/ipack/bridges/tpci200.c @@ -368,28 +368,6 @@ out_unlock: return 0; } -static int tpci200_slot_unregister(struct ipack_device *dev) -{ - struct tpci200_board *tpci200; - - if (dev == NULL) - return -ENODEV; - - tpci200 = check_slot(dev); - if (tpci200 == NULL) - return -EINVAL; - - tpci200_free_irq(dev); - - if (mutex_lock_interruptible(&tpci200->mutex)) - return -ERESTARTSYS; - - tpci200->slots[dev->slot].dev = NULL; - mutex_unlock(&tpci200->mutex); - - return 0; -} - static int tpci200_slot_map_space(struct ipack_device *dev, unsigned int memory_size, int space) { @@ -619,7 +597,7 @@ static struct ipack_bus_ops tpci200_bus_ops = { .unmap_space = tpci200_slot_unmap_space, .request_irq = tpci200_request_irq, .free_irq = tpci200_free_irq, - .remove_device = tpci200_slot_unregister, + .remove_device = NULL, .get_clockrate = tpci200_get_clockrate, .set_clockrate = tpci200_set_clockrate, .get_error = tpci200_get_error, -- 1.7.10.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel