On 22/01/2021 10:24, Uwe Kleine-König wrote: > The driver core ignores the return value of the remove callback, so > don't give isa drivers the chance to provide a value. > > Adapt all isa_drivers with a remove callbacks accordingly; they all > return 0 unconditionally anyhow. > > Acked-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> # for drivers/net/can/sja1000/tscan1.c > Acked-by: William Breathitt Gray <vilhelm.gray@xxxxxxxxx> > Acked-by: Wolfram Sang <wsa@xxxxxxxxxx> # for drivers/i2c/ > Reviewed-by: Takashi Iway <tiwai@xxxxxxx> # for sound/ > Signed-off-by: Uwe Kleine-König <uwe@xxxxxxxxxxxxxxxxx> For the media/radio drivers: Reviewed-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx> Thanks, Hans > --- > drivers/base/isa.c | 2 +- > drivers/i2c/busses/i2c-elektor.c | 4 +--- > drivers/i2c/busses/i2c-pca-isa.c | 4 +--- > drivers/input/touchscreen/htcpen.c | 4 +--- > drivers/media/radio/radio-isa.c | 4 +--- > drivers/media/radio/radio-isa.h | 2 +- > drivers/media/radio/radio-sf16fmr2.c | 4 +--- > drivers/net/can/sja1000/tscan1.c | 4 +--- > drivers/net/ethernet/3com/3c509.c | 3 +-- > drivers/scsi/advansys.c | 3 +-- > drivers/scsi/aha1542.c | 3 +-- > drivers/scsi/fdomain_isa.c | 3 +-- > drivers/scsi/g_NCR5380.c | 5 ++--- > drivers/watchdog/pcwd.c | 4 +--- > include/linux/isa.h | 2 +- > sound/isa/ad1848/ad1848.c | 3 +-- > sound/isa/adlib.c | 3 +-- > sound/isa/cmi8328.c | 3 +-- > sound/isa/cmi8330.c | 3 +-- > sound/isa/cs423x/cs4231.c | 3 +-- > sound/isa/cs423x/cs4236.c | 3 +-- > sound/isa/es1688/es1688.c | 3 +-- > sound/isa/es18xx.c | 5 ++--- > sound/isa/galaxy/galaxy.c | 3 +-- > sound/isa/gus/gusclassic.c | 3 +-- > sound/isa/gus/gusextreme.c | 3 +-- > sound/isa/gus/gusmax.c | 3 +-- > sound/isa/gus/interwave.c | 3 +-- > sound/isa/msnd/msnd_pinnacle.c | 3 +-- > sound/isa/opl3sa2.c | 3 +-- > sound/isa/opti9xx/miro.c | 3 +-- > sound/isa/opti9xx/opti92x-ad1848.c | 5 ++--- > sound/isa/sb/jazz16.c | 3 +-- > sound/isa/sb/sb16.c | 3 +-- > sound/isa/sb/sb8.c | 3 +-- > sound/isa/sc6000.c | 3 +-- > sound/isa/sscape.c | 3 +-- > sound/isa/wavefront/wavefront.c | 3 +-- > 38 files changed, 41 insertions(+), 83 deletions(-) > > diff --git a/drivers/base/isa.c b/drivers/base/isa.c > index 2772f5d1948a..aa4737667026 100644 > --- a/drivers/base/isa.c > +++ b/drivers/base/isa.c > @@ -51,7 +51,7 @@ static int isa_bus_remove(struct device *dev) > struct isa_driver *isa_driver = dev->platform_data; > > if (isa_driver && isa_driver->remove) > - return isa_driver->remove(dev, to_isa_dev(dev)->id); > + isa_driver->remove(dev, to_isa_dev(dev)->id); > > return 0; > } > diff --git a/drivers/i2c/busses/i2c-elektor.c b/drivers/i2c/busses/i2c-elektor.c > index 140426db28df..b72a3c3ef2ab 100644 > --- a/drivers/i2c/busses/i2c-elektor.c > +++ b/drivers/i2c/busses/i2c-elektor.c > @@ -282,7 +282,7 @@ static int elektor_probe(struct device *dev, unsigned int id) > return -ENODEV; > } > > -static int elektor_remove(struct device *dev, unsigned int id) > +static void elektor_remove(struct device *dev, unsigned int id) > { > i2c_del_adapter(&pcf_isa_ops); > > @@ -298,8 +298,6 @@ static int elektor_remove(struct device *dev, unsigned int id) > iounmap(base_iomem); > release_mem_region(base, 2); > } > - > - return 0; > } > > static struct isa_driver i2c_elektor_driver = { > diff --git a/drivers/i2c/busses/i2c-pca-isa.c b/drivers/i2c/busses/i2c-pca-isa.c > index f27bc1e55385..85e8cf58e8bf 100644 > --- a/drivers/i2c/busses/i2c-pca-isa.c > +++ b/drivers/i2c/busses/i2c-pca-isa.c > @@ -161,7 +161,7 @@ static int pca_isa_probe(struct device *dev, unsigned int id) > return -ENODEV; > } > > -static int pca_isa_remove(struct device *dev, unsigned int id) > +static void pca_isa_remove(struct device *dev, unsigned int id) > { > i2c_del_adapter(&pca_isa_ops); > > @@ -170,8 +170,6 @@ static int pca_isa_remove(struct device *dev, unsigned int id) > free_irq(irq, &pca_isa_ops); > } > release_region(base, IO_SIZE); > - > - return 0; > } > > static struct isa_driver pca_isa_driver = { > diff --git a/drivers/input/touchscreen/htcpen.c b/drivers/input/touchscreen/htcpen.c > index 2f261a34f9c2..056ba76087e8 100644 > --- a/drivers/input/touchscreen/htcpen.c > +++ b/drivers/input/touchscreen/htcpen.c > @@ -171,7 +171,7 @@ static int htcpen_isa_probe(struct device *dev, unsigned int id) > return err; > } > > -static int htcpen_isa_remove(struct device *dev, unsigned int id) > +static void htcpen_isa_remove(struct device *dev, unsigned int id) > { > struct input_dev *htcpen_dev = dev_get_drvdata(dev); > > @@ -182,8 +182,6 @@ static int htcpen_isa_remove(struct device *dev, unsigned int id) > release_region(HTCPEN_PORT_INDEX, 2); > release_region(HTCPEN_PORT_INIT, 1); > release_region(HTCPEN_PORT_IRQ_CLEAR, 1); > - > - return 0; > } > > #ifdef CONFIG_PM > diff --git a/drivers/media/radio/radio-isa.c b/drivers/media/radio/radio-isa.c > index 527f4c3b0ca4..c591c0851fa2 100644 > --- a/drivers/media/radio/radio-isa.c > +++ b/drivers/media/radio/radio-isa.c > @@ -337,13 +337,11 @@ int radio_isa_probe(struct device *pdev, unsigned int dev) > } > EXPORT_SYMBOL_GPL(radio_isa_probe); > > -int radio_isa_remove(struct device *pdev, unsigned int dev) > +void radio_isa_remove(struct device *pdev, unsigned int dev) > { > struct radio_isa_card *isa = dev_get_drvdata(pdev); > > radio_isa_common_remove(isa, isa->drv->region_size); > - > - return 0; > } > EXPORT_SYMBOL_GPL(radio_isa_remove); > > diff --git a/drivers/media/radio/radio-isa.h b/drivers/media/radio/radio-isa.h > index 2f0736edfda8..c9159958203e 100644 > --- a/drivers/media/radio/radio-isa.h > +++ b/drivers/media/radio/radio-isa.h > @@ -91,7 +91,7 @@ struct radio_isa_driver { > > int radio_isa_match(struct device *pdev, unsigned int dev); > int radio_isa_probe(struct device *pdev, unsigned int dev); > -int radio_isa_remove(struct device *pdev, unsigned int dev); > +void radio_isa_remove(struct device *pdev, unsigned int dev); > #ifdef CONFIG_PNP > int radio_isa_pnp_probe(struct pnp_dev *dev, > const struct pnp_device_id *dev_id); > diff --git a/drivers/media/radio/radio-sf16fmr2.c b/drivers/media/radio/radio-sf16fmr2.c > index 0388894cfe41..d0dde55b7930 100644 > --- a/drivers/media/radio/radio-sf16fmr2.c > +++ b/drivers/media/radio/radio-sf16fmr2.c > @@ -293,11 +293,9 @@ static void fmr2_remove(struct fmr2 *fmr2) > kfree(fmr2); > } > > -static int fmr2_isa_remove(struct device *pdev, unsigned int ndev) > +static void fmr2_isa_remove(struct device *pdev, unsigned int ndev) > { > fmr2_remove(dev_get_drvdata(pdev)); > - > - return 0; > } > > static void fmr2_pnp_remove(struct pnp_dev *pdev) > diff --git a/drivers/net/can/sja1000/tscan1.c b/drivers/net/can/sja1000/tscan1.c > index 6ea802c66124..3dbba8d61afb 100644 > --- a/drivers/net/can/sja1000/tscan1.c > +++ b/drivers/net/can/sja1000/tscan1.c > @@ -159,7 +159,7 @@ static int tscan1_probe(struct device *dev, unsigned id) > return -ENXIO; > } > > -static int tscan1_remove(struct device *dev, unsigned id /*unused*/) > +static void tscan1_remove(struct device *dev, unsigned id /*unused*/) > { > struct net_device *netdev; > struct sja1000_priv *priv; > @@ -179,8 +179,6 @@ static int tscan1_remove(struct device *dev, unsigned id /*unused*/) > release_region(pld_base, TSCAN1_PLD_SIZE); > > free_sja1000dev(netdev); > - > - return 0; > } > > static struct isa_driver tscan1_isa_driver = { > diff --git a/drivers/net/ethernet/3com/3c509.c b/drivers/net/ethernet/3com/3c509.c > index 667f38c9e4c6..53e1f7e07959 100644 > --- a/drivers/net/ethernet/3com/3c509.c > +++ b/drivers/net/ethernet/3com/3c509.c > @@ -335,12 +335,11 @@ static int el3_isa_match(struct device *pdev, unsigned int ndev) > return 1; > } > > -static int el3_isa_remove(struct device *pdev, > +static void el3_isa_remove(struct device *pdev, > unsigned int ndev) > { > el3_device_remove(pdev); > dev_set_drvdata(pdev, NULL); > - return 0; > } > > #ifdef CONFIG_PM > diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c > index 79830e77afa9..b1e97f75b0ba 100644 > --- a/drivers/scsi/advansys.c > +++ b/drivers/scsi/advansys.c > @@ -11459,12 +11459,11 @@ static int advansys_isa_probe(struct device *dev, unsigned int id) > return err; > } > > -static int advansys_isa_remove(struct device *dev, unsigned int id) > +static void advansys_isa_remove(struct device *dev, unsigned int id) > { > int ioport = _asc_def_iop_base[id]; > advansys_release(dev_get_drvdata(dev)); > release_region(ioport, ASC_IOADR_GAP); > - return 0; > } > > static struct isa_driver advansys_isa_driver = { > diff --git a/drivers/scsi/aha1542.c b/drivers/scsi/aha1542.c > index dc5667afeb27..e0d8cca1c70b 100644 > --- a/drivers/scsi/aha1542.c > +++ b/drivers/scsi/aha1542.c > @@ -1025,12 +1025,11 @@ static int aha1542_isa_match(struct device *pdev, unsigned int ndev) > return 1; > } > > -static int aha1542_isa_remove(struct device *pdev, > +static void aha1542_isa_remove(struct device *pdev, > unsigned int ndev) > { > aha1542_release(dev_get_drvdata(pdev)); > dev_set_drvdata(pdev, NULL); > - return 0; > } > > static struct isa_driver aha1542_isa_driver = { > diff --git a/drivers/scsi/fdomain_isa.c b/drivers/scsi/fdomain_isa.c > index e0cdcd2003d0..2b4280a43a53 100644 > --- a/drivers/scsi/fdomain_isa.c > +++ b/drivers/scsi/fdomain_isa.c > @@ -175,7 +175,7 @@ static int fdomain_isa_param_match(struct device *dev, unsigned int ndev) > return 1; > } > > -static int fdomain_isa_remove(struct device *dev, unsigned int ndev) > +static void fdomain_isa_remove(struct device *dev, unsigned int ndev) > { > struct Scsi_Host *sh = dev_get_drvdata(dev); > int base = sh->io_port; > @@ -183,7 +183,6 @@ static int fdomain_isa_remove(struct device *dev, unsigned int ndev) > fdomain_destroy(sh); > release_region(base, FDOMAIN_REGION_SIZE); > dev_set_drvdata(dev, NULL); > - return 0; > } > > static struct isa_driver fdomain_isa_driver = { > diff --git a/drivers/scsi/g_NCR5380.c b/drivers/scsi/g_NCR5380.c > index 2df2f38a9b12..7ba3c9312731 100644 > --- a/drivers/scsi/g_NCR5380.c > +++ b/drivers/scsi/g_NCR5380.c > @@ -720,12 +720,11 @@ static int generic_NCR5380_isa_match(struct device *pdev, unsigned int ndev) > return 1; > } > > -static int generic_NCR5380_isa_remove(struct device *pdev, > - unsigned int ndev) > +static void generic_NCR5380_isa_remove(struct device *pdev, > + unsigned int ndev) > { > generic_NCR5380_release_resources(dev_get_drvdata(pdev)); > dev_set_drvdata(pdev, NULL); > - return 0; > } > > static struct isa_driver generic_NCR5380_isa_driver = { > diff --git a/drivers/watchdog/pcwd.c b/drivers/watchdog/pcwd.c > index b95cd38f3ceb..a793b03a785d 100644 > --- a/drivers/watchdog/pcwd.c > +++ b/drivers/watchdog/pcwd.c > @@ -951,7 +951,7 @@ static int pcwd_isa_probe(struct device *dev, unsigned int id) > return ret; > } > > -static int pcwd_isa_remove(struct device *dev, unsigned int id) > +static void pcwd_isa_remove(struct device *dev, unsigned int id) > { > if (debug >= DEBUG) > pr_debug("pcwd_isa_remove id=%d\n", id); > @@ -968,8 +968,6 @@ static int pcwd_isa_remove(struct device *dev, unsigned int id) > (pcwd_private.revision == PCWD_REVISION_A) ? 2 : 4); > pcwd_private.io_addr = 0x0000; > cards_found--; > - > - return 0; > } > > static void pcwd_isa_shutdown(struct device *dev, unsigned int id) > diff --git a/include/linux/isa.h b/include/linux/isa.h > index 41336da0f4e7..e30963190968 100644 > --- a/include/linux/isa.h > +++ b/include/linux/isa.h > @@ -13,7 +13,7 @@ > struct isa_driver { > int (*match)(struct device *, unsigned int); > int (*probe)(struct device *, unsigned int); > - int (*remove)(struct device *, unsigned int); > + void (*remove)(struct device *, unsigned int); > void (*shutdown)(struct device *, unsigned int); > int (*suspend)(struct device *, unsigned int, pm_message_t); > int (*resume)(struct device *, unsigned int); > diff --git a/sound/isa/ad1848/ad1848.c b/sound/isa/ad1848/ad1848.c > index 593c6e959afe..48f7cc57c3da 100644 > --- a/sound/isa/ad1848/ad1848.c > +++ b/sound/isa/ad1848/ad1848.c > @@ -118,10 +118,9 @@ out: snd_card_free(card); > return error; > } > > -static int snd_ad1848_remove(struct device *dev, unsigned int n) > +static void snd_ad1848_remove(struct device *dev, unsigned int n) > { > snd_card_free(dev_get_drvdata(dev)); > - return 0; > } > > #ifdef CONFIG_PM > diff --git a/sound/isa/adlib.c b/sound/isa/adlib.c > index 5105524b6f38..e6cd7c4da38e 100644 > --- a/sound/isa/adlib.c > +++ b/sound/isa/adlib.c > @@ -97,10 +97,9 @@ out: snd_card_free(card); > return error; > } > > -static int snd_adlib_remove(struct device *dev, unsigned int n) > +static void snd_adlib_remove(struct device *dev, unsigned int n) > { > snd_card_free(dev_get_drvdata(dev)); > - return 0; > } > > static struct isa_driver snd_adlib_driver = { > diff --git a/sound/isa/cmi8328.c b/sound/isa/cmi8328.c > index faca5dd95bfe..3b9fbb02864b 100644 > --- a/sound/isa/cmi8328.c > +++ b/sound/isa/cmi8328.c > @@ -403,7 +403,7 @@ static int snd_cmi8328_probe(struct device *pdev, unsigned int ndev) > return err; > } > > -static int snd_cmi8328_remove(struct device *pdev, unsigned int dev) > +static void snd_cmi8328_remove(struct device *pdev, unsigned int dev) > { > struct snd_card *card = dev_get_drvdata(pdev); > struct snd_cmi8328 *cmi = card->private_data; > @@ -420,7 +420,6 @@ static int snd_cmi8328_remove(struct device *pdev, unsigned int dev) > snd_cmi8328_cfg_write(cmi->port, CFG2, 0); > snd_cmi8328_cfg_write(cmi->port, CFG3, 0); > snd_card_free(card); > - return 0; > } > > #ifdef CONFIG_PM > diff --git a/sound/isa/cmi8330.c b/sound/isa/cmi8330.c > index 4669eb0cc8ce..19e258527d69 100644 > --- a/sound/isa/cmi8330.c > +++ b/sound/isa/cmi8330.c > @@ -631,11 +631,10 @@ static int snd_cmi8330_isa_probe(struct device *pdev, > return 0; > } > > -static int snd_cmi8330_isa_remove(struct device *devptr, > +static void snd_cmi8330_isa_remove(struct device *devptr, > unsigned int dev) > { > snd_card_free(dev_get_drvdata(devptr)); > - return 0; > } > > #ifdef CONFIG_PM > diff --git a/sound/isa/cs423x/cs4231.c b/sound/isa/cs423x/cs4231.c > index 2135963eba78..383ee621cea1 100644 > --- a/sound/isa/cs423x/cs4231.c > +++ b/sound/isa/cs423x/cs4231.c > @@ -135,10 +135,9 @@ out: snd_card_free(card); > return error; > } > > -static int snd_cs4231_remove(struct device *dev, unsigned int n) > +static void snd_cs4231_remove(struct device *dev, unsigned int n) > { > snd_card_free(dev_get_drvdata(dev)); > - return 0; > } > > #ifdef CONFIG_PM > diff --git a/sound/isa/cs423x/cs4236.c b/sound/isa/cs423x/cs4236.c > index fa3c39cff5f8..24688271e73f 100644 > --- a/sound/isa/cs423x/cs4236.c > +++ b/sound/isa/cs423x/cs4236.c > @@ -487,11 +487,10 @@ static int snd_cs423x_isa_probe(struct device *pdev, > return 0; > } > > -static int snd_cs423x_isa_remove(struct device *pdev, > +static void snd_cs423x_isa_remove(struct device *pdev, > unsigned int dev) > { > snd_card_free(dev_get_drvdata(pdev)); > - return 0; > } > > #ifdef CONFIG_PM > diff --git a/sound/isa/es1688/es1688.c b/sound/isa/es1688/es1688.c > index 64610571a5e1..d99bb3f8f0c1 100644 > --- a/sound/isa/es1688/es1688.c > +++ b/sound/isa/es1688/es1688.c > @@ -192,10 +192,9 @@ static int snd_es1688_isa_probe(struct device *dev, unsigned int n) > return error; > } > > -static int snd_es1688_isa_remove(struct device *dev, unsigned int n) > +static void snd_es1688_isa_remove(struct device *dev, unsigned int n) > { > snd_card_free(dev_get_drvdata(dev)); > - return 0; > } > > static struct isa_driver snd_es1688_driver = { > diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c > index 5f8d7e8a5477..9beef8079177 100644 > --- a/sound/isa/es18xx.c > +++ b/sound/isa/es18xx.c > @@ -2210,11 +2210,10 @@ static int snd_es18xx_isa_probe(struct device *pdev, unsigned int dev) > } > } > > -static int snd_es18xx_isa_remove(struct device *devptr, > - unsigned int dev) > +static void snd_es18xx_isa_remove(struct device *devptr, > + unsigned int dev) > { > snd_card_free(dev_get_drvdata(devptr)); > - return 0; > } > > #ifdef CONFIG_PM > diff --git a/sound/isa/galaxy/galaxy.c b/sound/isa/galaxy/galaxy.c > index 65f9f46c9f58..d33d69f29924 100644 > --- a/sound/isa/galaxy/galaxy.c > +++ b/sound/isa/galaxy/galaxy.c > @@ -608,10 +608,9 @@ static int snd_galaxy_probe(struct device *dev, unsigned int n) > return err; > } > > -static int snd_galaxy_remove(struct device *dev, unsigned int n) > +static void snd_galaxy_remove(struct device *dev, unsigned int n) > { > snd_card_free(dev_get_drvdata(dev)); > - return 0; > } > > static struct isa_driver snd_galaxy_driver = { > diff --git a/sound/isa/gus/gusclassic.c b/sound/isa/gus/gusclassic.c > index 7419b1939754..015f88a11352 100644 > --- a/sound/isa/gus/gusclassic.c > +++ b/sound/isa/gus/gusclassic.c > @@ -195,10 +195,9 @@ out: snd_card_free(card); > return error; > } > > -static int snd_gusclassic_remove(struct device *dev, unsigned int n) > +static void snd_gusclassic_remove(struct device *dev, unsigned int n) > { > snd_card_free(dev_get_drvdata(dev)); > - return 0; > } > > static struct isa_driver snd_gusclassic_driver = { > diff --git a/sound/isa/gus/gusextreme.c b/sound/isa/gus/gusextreme.c > index ed2f9d64efae..c9f31b4fb887 100644 > --- a/sound/isa/gus/gusextreme.c > +++ b/sound/isa/gus/gusextreme.c > @@ -324,10 +324,9 @@ out: snd_card_free(card); > return error; > } > > -static int snd_gusextreme_remove(struct device *dev, unsigned int n) > +static void snd_gusextreme_remove(struct device *dev, unsigned int n) > { > snd_card_free(dev_get_drvdata(dev)); > - return 0; > } > > static struct isa_driver snd_gusextreme_driver = { > diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c > index 05cd9be4dd8a..dc09fbd6f88d 100644 > --- a/sound/isa/gus/gusmax.c > +++ b/sound/isa/gus/gusmax.c > @@ -338,10 +338,9 @@ static int snd_gusmax_probe(struct device *pdev, unsigned int dev) > return err; > } > > -static int snd_gusmax_remove(struct device *devptr, unsigned int dev) > +static void snd_gusmax_remove(struct device *devptr, unsigned int dev) > { > snd_card_free(dev_get_drvdata(devptr)); > - return 0; > } > > #define DEV_NAME "gusmax" > diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c > index 3e9ad930deae..e4d412e72b75 100644 > --- a/sound/isa/gus/interwave.c > +++ b/sound/isa/gus/interwave.c > @@ -825,10 +825,9 @@ static int snd_interwave_isa_probe(struct device *pdev, > } > } > > -static int snd_interwave_isa_remove(struct device *devptr, unsigned int dev) > +static void snd_interwave_isa_remove(struct device *devptr, unsigned int dev) > { > snd_card_free(dev_get_drvdata(devptr)); > - return 0; > } > > static struct isa_driver snd_interwave_driver = { > diff --git a/sound/isa/msnd/msnd_pinnacle.c b/sound/isa/msnd/msnd_pinnacle.c > index 24b34ecf5e5b..69647b41300d 100644 > --- a/sound/isa/msnd/msnd_pinnacle.c > +++ b/sound/isa/msnd/msnd_pinnacle.c > @@ -1049,10 +1049,9 @@ static int snd_msnd_isa_probe(struct device *pdev, unsigned int idx) > #endif > } > > -static int snd_msnd_isa_remove(struct device *pdev, unsigned int dev) > +static void snd_msnd_isa_remove(struct device *pdev, unsigned int dev) > { > snd_msnd_unload(dev_get_drvdata(pdev)); > - return 0; > } > > static struct isa_driver snd_msnd_driver = { > diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c > index 85a181acd388..7649a8a4128d 100644 > --- a/sound/isa/opl3sa2.c > +++ b/sound/isa/opl3sa2.c > @@ -878,11 +878,10 @@ static int snd_opl3sa2_isa_probe(struct device *pdev, > return 0; > } > > -static int snd_opl3sa2_isa_remove(struct device *devptr, > +static void snd_opl3sa2_isa_remove(struct device *devptr, > unsigned int dev) > { > snd_card_free(dev_get_drvdata(devptr)); > - return 0; > } > > #ifdef CONFIG_PM > diff --git a/sound/isa/opti9xx/miro.c b/sound/isa/opti9xx/miro.c > index 44ed1b65f6ce..20933342f5eb 100644 > --- a/sound/isa/opti9xx/miro.c > +++ b/sound/isa/opti9xx/miro.c > @@ -1480,11 +1480,10 @@ static int snd_miro_isa_probe(struct device *devptr, unsigned int n) > return 0; > } > > -static int snd_miro_isa_remove(struct device *devptr, > +static void snd_miro_isa_remove(struct device *devptr, > unsigned int dev) > { > snd_card_free(dev_get_drvdata(devptr)); > - return 0; > } > > #define DEV_NAME "miro" > diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c > index 881d3b5711d2..758f5b579138 100644 > --- a/sound/isa/opti9xx/opti92x-ad1848.c > +++ b/sound/isa/opti9xx/opti92x-ad1848.c > @@ -1024,11 +1024,10 @@ static int snd_opti9xx_isa_probe(struct device *devptr, > return 0; > } > > -static int snd_opti9xx_isa_remove(struct device *devptr, > - unsigned int dev) > +static void snd_opti9xx_isa_remove(struct device *devptr, > + unsigned int dev) > { > snd_card_free(dev_get_drvdata(devptr)); > - return 0; > } > > #ifdef CONFIG_PM > diff --git a/sound/isa/sb/jazz16.c b/sound/isa/sb/jazz16.c > index ee379bbf70a4..0e2e0ab3b9e4 100644 > --- a/sound/isa/sb/jazz16.c > +++ b/sound/isa/sb/jazz16.c > @@ -339,12 +339,11 @@ static int snd_jazz16_probe(struct device *devptr, unsigned int dev) > return err; > } > > -static int snd_jazz16_remove(struct device *devptr, unsigned int dev) > +static void snd_jazz16_remove(struct device *devptr, unsigned int dev) > { > struct snd_card *card = dev_get_drvdata(devptr); > > snd_card_free(card); > - return 0; > } > > #ifdef CONFIG_PM > diff --git a/sound/isa/sb/sb16.c b/sound/isa/sb/sb16.c > index 479197c13803..db284b7b88a7 100644 > --- a/sound/isa/sb/sb16.c > +++ b/sound/isa/sb/sb16.c > @@ -547,10 +547,9 @@ static int snd_sb16_isa_probe(struct device *pdev, unsigned int dev) > } > } > > -static int snd_sb16_isa_remove(struct device *pdev, unsigned int dev) > +static void snd_sb16_isa_remove(struct device *pdev, unsigned int dev) > { > snd_card_free(dev_get_drvdata(pdev)); > - return 0; > } > > #ifdef CONFIG_PM > diff --git a/sound/isa/sb/sb8.c b/sound/isa/sb/sb8.c > index 438109f167d6..8e3e67b9a341 100644 > --- a/sound/isa/sb/sb8.c > +++ b/sound/isa/sb/sb8.c > @@ -192,10 +192,9 @@ static int snd_sb8_probe(struct device *pdev, unsigned int dev) > return err; > } > > -static int snd_sb8_remove(struct device *pdev, unsigned int dev) > +static void snd_sb8_remove(struct device *pdev, unsigned int dev) > { > snd_card_free(dev_get_drvdata(pdev)); > - return 0; > } > > #ifdef CONFIG_PM > diff --git a/sound/isa/sc6000.c b/sound/isa/sc6000.c > index 3d0bea44f454..def137579717 100644 > --- a/sound/isa/sc6000.c > +++ b/sound/isa/sc6000.c > @@ -672,7 +672,7 @@ static int snd_sc6000_probe(struct device *devptr, unsigned int dev) > return err; > } > > -static int snd_sc6000_remove(struct device *devptr, unsigned int dev) > +static void snd_sc6000_remove(struct device *devptr, unsigned int dev) > { > struct snd_card *card = dev_get_drvdata(devptr); > char __iomem **vport = card->private_data; > @@ -684,7 +684,6 @@ static int snd_sc6000_remove(struct device *devptr, unsigned int dev) > release_region(mss_port[dev], 4); > > snd_card_free(card); > - return 0; > } > > static struct isa_driver snd_sc6000_driver = { > diff --git a/sound/isa/sscape.c b/sound/isa/sscape.c > index 2e5a5c5279e8..e70ef9aee545 100644 > --- a/sound/isa/sscape.c > +++ b/sound/isa/sscape.c > @@ -1183,10 +1183,9 @@ static int snd_sscape_probe(struct device *pdev, unsigned int dev) > return ret; > } > > -static int snd_sscape_remove(struct device *devptr, unsigned int dev) > +static void snd_sscape_remove(struct device *devptr, unsigned int dev) > { > snd_card_free(dev_get_drvdata(devptr)); > - return 0; > } > > #define DEV_NAME "sscape" > diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c > index 9e0f6b226775..b750a4fd40de 100644 > --- a/sound/isa/wavefront/wavefront.c > +++ b/sound/isa/wavefront/wavefront.c > @@ -565,11 +565,10 @@ static int snd_wavefront_isa_probe(struct device *pdev, > return 0; > } > > -static int snd_wavefront_isa_remove(struct device *devptr, > +static void snd_wavefront_isa_remove(struct device *devptr, > unsigned int dev) > { > snd_card_free(dev_get_drvdata(devptr)); > - return 0; > } > > #define DEV_NAME "wavefront" >