isa: Make the remove callback for isa drivers return void

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@pengutronix.de> # for drivers/net/can/sja1000/tscan1.c
Acked-by: William Breathitt Gray <vilhelm.gray@gmail.com>
Acked-by: Wolfram Sang <wsa@kernel.org> # for drivers/i2c/
Reviewed-by: Takashi Iway <tiwai@suse.de> # for sound/
Reviewed-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> # for drivers/media/
Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Link: https://lore.kernel.org/r/20210122092449.426097-4-uwe@kleine-koenig.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Uwe Kleine-König 2021-01-22 10:24:49 +01:00 committed by Takashi Iwai
parent 7797b4e00f
commit 30e88d017f
38 changed files with 41 additions and 83 deletions

View File

@ -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;
}

View File

@ -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 = {

View File

@ -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 = {

View File

@ -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

View File

@ -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);

View File

@ -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);

View File

@ -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)

View File

@ -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 = {

View File

@ -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

View File

@ -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 = {

View File

@ -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 = {

View File

@ -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 = {

View File

@ -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 = {

View File

@ -951,7 +951,7 @@ error_request_region:
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)

View File

@ -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);

View File

@ -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

View File

@ -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 = {

View File

@ -403,7 +403,7 @@ error:
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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -192,10 +192,9 @@ out:
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 = {

View File

@ -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

View File

@ -608,10 +608,9 @@ error:
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 = {

View File

@ -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 = {

View File

@ -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 = {

View File

@ -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"

View File

@ -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 = {

View File

@ -1049,10 +1049,9 @@ cfg_error:
#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 = {

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -339,12 +339,11 @@ err_free:
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

View File

@ -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

View File

@ -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

View File

@ -672,7 +672,7 @@ err_exit:
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 = {

View File

@ -1183,10 +1183,9 @@ _release_card:
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"

View File

@ -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"