Commit bf51a8c5 authored by Lars-Peter Clausen's avatar Lars-Peter Clausen Committed by Wolfram Sang

i2c: Ignore return value of i2c_del_adapter()

i2c_del_adapter() always returns 0. So all checks testing whether it will be
non zero will always evaluate to false and the conditional code is dead code.
This patch updates all callers of i2c_del_mux_adapter() to ignore the return
value and assume that it will always succeed (which it will). In a subsequent
patch the return type of i2c_del_adapter() will be made void.
Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
Acked-by: default avatarBen Hutchings <bhutchings@solarflare.com>
Reviewed-by: default avatarJean Delvare <khali@linux-fr.org>
Acked-by: default avatarShawn Guo <shawn.guo@linaro.org>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent f5fb0822
...@@ -319,8 +319,7 @@ void oaktrail_hdmi_i2c_exit(struct pci_dev *dev) ...@@ -319,8 +319,7 @@ void oaktrail_hdmi_i2c_exit(struct pci_dev *dev)
struct hdmi_i2c_dev *i2c_dev; struct hdmi_i2c_dev *i2c_dev;
hdmi_dev = pci_get_drvdata(dev); hdmi_dev = pci_get_drvdata(dev);
if (i2c_del_adapter(&oaktrail_hdmi_i2c_adapter)) i2c_del_adapter(&oaktrail_hdmi_i2c_adapter);
DRM_DEBUG_DRIVER("Failed to delete hdmi-i2c adapter\n");
i2c_dev = hdmi_dev->i2c_dev; i2c_dev = hdmi_dev->i2c_dev;
kfree(i2c_dev); kfree(i2c_dev);
......
...@@ -169,11 +169,7 @@ static int __init amd756_s4882_init(void) ...@@ -169,11 +169,7 @@ static int __init amd756_s4882_init(void)
} }
/* Unregister physical bus */ /* Unregister physical bus */
error = i2c_del_adapter(&amd756_smbus); i2c_del_adapter(&amd756_smbus);
if (error) {
dev_err(&amd756_smbus.dev, "Physical bus removal failed\n");
goto ERROR0;
}
printk(KERN_INFO "Enabling SMBus multiplexing for Tyan S4882\n"); printk(KERN_INFO "Enabling SMBus multiplexing for Tyan S4882\n");
/* Define the 5 virtual adapters and algorithms structures */ /* Define the 5 virtual adapters and algorithms structures */
......
...@@ -783,12 +783,11 @@ static int at91_twi_probe(struct platform_device *pdev) ...@@ -783,12 +783,11 @@ static int at91_twi_probe(struct platform_device *pdev)
static int at91_twi_remove(struct platform_device *pdev) static int at91_twi_remove(struct platform_device *pdev)
{ {
struct at91_twi_dev *dev = platform_get_drvdata(pdev); struct at91_twi_dev *dev = platform_get_drvdata(pdev);
int rc;
rc = i2c_del_adapter(&dev->adapter); i2c_del_adapter(&dev->adapter);
clk_disable_unprepare(dev->clk); clk_disable_unprepare(dev->clk);
return rc; return 0;
} }
#ifdef CONFIG_PM #ifdef CONFIG_PM
......
...@@ -206,7 +206,9 @@ static int cbus_i2c_remove(struct platform_device *pdev) ...@@ -206,7 +206,9 @@ static int cbus_i2c_remove(struct platform_device *pdev)
{ {
struct i2c_adapter *adapter = platform_get_drvdata(pdev); struct i2c_adapter *adapter = platform_get_drvdata(pdev);
return i2c_del_adapter(adapter); i2c_del_adapter(adapter);
return 0;
} }
static int cbus_i2c_probe(struct platform_device *pdev) static int cbus_i2c_probe(struct platform_device *pdev)
......
...@@ -1082,8 +1082,7 @@ static void intel_mid_i2c_remove(struct pci_dev *dev) ...@@ -1082,8 +1082,7 @@ static void intel_mid_i2c_remove(struct pci_dev *dev)
{ {
struct intel_mid_i2c_private *mrst = pci_get_drvdata(dev); struct intel_mid_i2c_private *mrst = pci_get_drvdata(dev);
intel_mid_i2c_disable(&mrst->adap); intel_mid_i2c_disable(&mrst->adap);
if (i2c_del_adapter(&mrst->adap)) i2c_del_adapter(&mrst->adap);
dev_err(&dev->dev, "Failed to delete i2c adapter");
free_irq(dev->irq, mrst); free_irq(dev->irq, mrst);
iounmap(mrst->base); iounmap(mrst->base);
......
...@@ -701,9 +701,8 @@ static int ...@@ -701,9 +701,8 @@ static int
mv64xxx_i2c_remove(struct platform_device *dev) mv64xxx_i2c_remove(struct platform_device *dev)
{ {
struct mv64xxx_i2c_data *drv_data = platform_get_drvdata(dev); struct mv64xxx_i2c_data *drv_data = platform_get_drvdata(dev);
int rc;
rc = i2c_del_adapter(&drv_data->adapter); i2c_del_adapter(&drv_data->adapter);
free_irq(drv_data->irq, drv_data); free_irq(drv_data->irq, drv_data);
mv64xxx_i2c_unmap_regs(drv_data); mv64xxx_i2c_unmap_regs(drv_data);
#if defined(CONFIG_HAVE_CLK) #if defined(CONFIG_HAVE_CLK)
...@@ -715,7 +714,7 @@ mv64xxx_i2c_remove(struct platform_device *dev) ...@@ -715,7 +714,7 @@ mv64xxx_i2c_remove(struct platform_device *dev)
#endif #endif
kfree(drv_data); kfree(drv_data);
return rc; return 0;
} }
static const struct of_device_id mv64xxx_i2c_of_match_table[] = { static const struct of_device_id mv64xxx_i2c_of_match_table[] = {
......
...@@ -686,11 +686,8 @@ static int mxs_i2c_probe(struct platform_device *pdev) ...@@ -686,11 +686,8 @@ static int mxs_i2c_probe(struct platform_device *pdev)
static int mxs_i2c_remove(struct platform_device *pdev) static int mxs_i2c_remove(struct platform_device *pdev)
{ {
struct mxs_i2c_dev *i2c = platform_get_drvdata(pdev); struct mxs_i2c_dev *i2c = platform_get_drvdata(pdev);
int ret;
ret = i2c_del_adapter(&i2c->adapter); i2c_del_adapter(&i2c->adapter);
if (ret)
return -EBUSY;
if (i2c->dmach) if (i2c->dmach)
dma_release_channel(i2c->dmach); dma_release_channel(i2c->dmach);
......
...@@ -164,11 +164,7 @@ static int __init nforce2_s4985_init(void) ...@@ -164,11 +164,7 @@ static int __init nforce2_s4985_init(void)
} }
/* Unregister physical bus */ /* Unregister physical bus */
error = i2c_del_adapter(nforce2_smbus); i2c_del_adapter(nforce2_smbus);
if (error) {
dev_err(&nforce2_smbus->dev, "Physical bus removal failed\n");
goto ERROR0;
}
printk(KERN_INFO "Enabling SMBus multiplexing for Tyan S4985\n"); printk(KERN_INFO "Enabling SMBus multiplexing for Tyan S4985\n");
/* Define the 5 virtual adapters and algorithms structures */ /* Define the 5 virtual adapters and algorithms structures */
......
...@@ -213,14 +213,8 @@ static const struct i2c_algorithm i2c_powermac_algorithm = { ...@@ -213,14 +213,8 @@ static const struct i2c_algorithm i2c_powermac_algorithm = {
static int i2c_powermac_remove(struct platform_device *dev) static int i2c_powermac_remove(struct platform_device *dev)
{ {
struct i2c_adapter *adapter = platform_get_drvdata(dev); struct i2c_adapter *adapter = platform_get_drvdata(dev);
int rc;
rc = i2c_del_adapter(adapter); i2c_del_adapter(adapter);
/* We aren't that prepared to deal with this... */
if (rc)
printk(KERN_WARNING
"i2c-powermac.c: Failed to remove bus %s !\n",
adapter->name);
memset(adapter, 0, sizeof(*adapter)); memset(adapter, 0, sizeof(*adapter));
return 0; return 0;
......
...@@ -234,21 +234,15 @@ static int puv3_i2c_remove(struct platform_device *pdev) ...@@ -234,21 +234,15 @@ static int puv3_i2c_remove(struct platform_device *pdev)
{ {
struct i2c_adapter *adapter = platform_get_drvdata(pdev); struct i2c_adapter *adapter = platform_get_drvdata(pdev);
struct resource *mem; struct resource *mem;
int rc;
rc = i2c_del_adapter(adapter); i2c_del_adapter(adapter);
if (rc) {
dev_err(&pdev->dev, "Adapter '%s' delete fail\n",
adapter->name);
return rc;
}
put_device(&pdev->dev); put_device(&pdev->dev);
mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
release_mem_region(mem->start, resource_size(mem)); release_mem_region(mem->start, resource_size(mem));
return rc; return 0;
} }
#ifdef CONFIG_PM #ifdef CONFIG_PM
......
...@@ -421,11 +421,10 @@ static int vprbrd_i2c_probe(struct platform_device *pdev) ...@@ -421,11 +421,10 @@ static int vprbrd_i2c_probe(struct platform_device *pdev)
static int vprbrd_i2c_remove(struct platform_device *pdev) static int vprbrd_i2c_remove(struct platform_device *pdev)
{ {
struct vprbrd_i2c *vb_i2c = platform_get_drvdata(pdev); struct vprbrd_i2c *vb_i2c = platform_get_drvdata(pdev);
int ret;
ret = i2c_del_adapter(&vb_i2c->i2c); i2c_del_adapter(&vb_i2c->i2c);
return ret; return 0;
} }
static struct platform_driver vprbrd_i2c_driver = { static struct platform_driver vprbrd_i2c_driver = {
......
...@@ -194,11 +194,8 @@ EXPORT_SYMBOL_GPL(i2c_add_mux_adapter); ...@@ -194,11 +194,8 @@ EXPORT_SYMBOL_GPL(i2c_add_mux_adapter);
int i2c_del_mux_adapter(struct i2c_adapter *adap) int i2c_del_mux_adapter(struct i2c_adapter *adap)
{ {
struct i2c_mux_priv *priv = adap->algo_data; struct i2c_mux_priv *priv = adap->algo_data;
int ret;
ret = i2c_del_adapter(adap); i2c_del_adapter(adap);
if (ret < 0)
return ret;
kfree(priv); kfree(priv);
return 0; return 0;
......
...@@ -413,10 +413,10 @@ void init_bttv_i2c_ir(struct bttv *btv) ...@@ -413,10 +413,10 @@ void init_bttv_i2c_ir(struct bttv *btv)
int fini_bttv_i2c(struct bttv *btv) int fini_bttv_i2c(struct bttv *btv)
{ {
if (0 != btv->i2c_rc) if (btv->i2c_rc == 0)
return 0; i2c_del_adapter(&btv->c.i2c_adap);
return i2c_del_adapter(&btv->c.i2c_adap); return 0;
} }
int bttv_input_init(struct bttv *btv) int bttv_input_init(struct bttv *btv)
......
...@@ -261,6 +261,8 @@ int mantis_i2c_exit(struct mantis_pci *mantis) ...@@ -261,6 +261,8 @@ int mantis_i2c_exit(struct mantis_pci *mantis)
mmwrite((intmask & ~MANTIS_INT_I2CDONE), MANTIS_INT_MASK); mmwrite((intmask & ~MANTIS_INT_I2CDONE), MANTIS_INT_MASK);
dprintk(MANTIS_DEBUG, 1, "Removing I2C adapter"); dprintk(MANTIS_DEBUG, 1, "Removing I2C adapter");
return i2c_del_adapter(&mantis->adapter); i2c_del_adapter(&mantis->adapter);
return 0;
} }
EXPORT_SYMBOL_GPL(mantis_i2c_exit); EXPORT_SYMBOL_GPL(mantis_i2c_exit);
...@@ -1528,7 +1528,7 @@ static int falcon_probe_nic(struct efx_nic *efx) ...@@ -1528,7 +1528,7 @@ static int falcon_probe_nic(struct efx_nic *efx)
return 0; return 0;
fail6: fail6:
BUG_ON(i2c_del_adapter(&board->i2c_adap)); i2c_del_adapter(&board->i2c_adap);
memset(&board->i2c_adap, 0, sizeof(board->i2c_adap)); memset(&board->i2c_adap, 0, sizeof(board->i2c_adap));
fail5: fail5:
efx_nic_free_buffer(efx, &efx->irq_status); efx_nic_free_buffer(efx, &efx->irq_status);
...@@ -1665,13 +1665,11 @@ static void falcon_remove_nic(struct efx_nic *efx) ...@@ -1665,13 +1665,11 @@ static void falcon_remove_nic(struct efx_nic *efx)
{ {
struct falcon_nic_data *nic_data = efx->nic_data; struct falcon_nic_data *nic_data = efx->nic_data;
struct falcon_board *board = falcon_board(efx); struct falcon_board *board = falcon_board(efx);
int rc;
board->type->fini(efx); board->type->fini(efx);
/* Remove I2C adapter and clear it in preparation for a retry */ /* Remove I2C adapter and clear it in preparation for a retry */
rc = i2c_del_adapter(&board->i2c_adap); i2c_del_adapter(&board->i2c_adap);
BUG_ON(rc);
memset(&board->i2c_adap, 0, sizeof(board->i2c_adap)); memset(&board->i2c_adap, 0, sizeof(board->i2c_adap));
efx_nic_free_buffer(efx, &efx->irq_status); efx_nic_free_buffer(efx, &efx->irq_status);
......
...@@ -647,11 +647,8 @@ EXPORT_SYMBOL(go7007_alloc); ...@@ -647,11 +647,8 @@ EXPORT_SYMBOL(go7007_alloc);
void go7007_remove(struct go7007 *go) void go7007_remove(struct go7007 *go)
{ {
if (go->i2c_adapter_online) { if (go->i2c_adapter_online) {
if (i2c_del_adapter(&go->i2c_adapter) == 0) i2c_del_adapter(&go->i2c_adapter);
go->i2c_adapter_online = 0; go->i2c_adapter_online = 0;
else
v4l2_err(&go->v4l2_dev,
"error removing I2C adapter!\n");
} }
if (go->audio_enabled) if (go->audio_enabled)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment