mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
bus: fsl-mc: Make remove function return void
The value returned by an fsl-mc driver's remove function is mostly ignored. (Only an error message is printed if the value is non-zero and then device removal continues unconditionally.) So change the prototype of the remove function to return no value. This way driver authors are not tempted to assume that passing an error to the upper layer is a good idea. All drivers are adapted accordingly. There is no intended change of behaviour, all callbacks were prepared to return 0 before. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com> Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com> # sanity checks Reviewed-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Tested-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Li Yang <leoyang.li@nxp.com>
This commit is contained in:
parent
c27ea8e632
commit
59272ad8d9
@ -835,13 +835,13 @@ EXPORT_SYMBOL_GPL(dprc_cleanup);
|
||||
* It tears down the interrupts that were configured for the DPRC device.
|
||||
* It destroys the interrupt pool associated with this MC bus.
|
||||
*/
|
||||
static int dprc_remove(struct fsl_mc_device *mc_dev)
|
||||
static void dprc_remove(struct fsl_mc_device *mc_dev)
|
||||
{
|
||||
struct fsl_mc_bus *mc_bus = to_fsl_mc_bus(mc_dev);
|
||||
|
||||
if (!mc_bus->irq_resources) {
|
||||
dev_err(&mc_dev->dev, "No irq resources, so unbinding the device failed\n");
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
if (dev_get_msi_domain(&mc_dev->dev))
|
||||
@ -852,7 +852,6 @@ static int dprc_remove(struct fsl_mc_device *mc_dev)
|
||||
dprc_cleanup(mc_dev);
|
||||
|
||||
dev_info(&mc_dev->dev, "DPRC device unbound from driver");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct fsl_mc_device_id match_id_table[] = {
|
||||
|
@ -614,19 +614,18 @@ static int fsl_mc_allocator_probe(struct fsl_mc_device *mc_dev)
|
||||
* fsl_mc_allocator_remove - callback invoked when an allocatable device is
|
||||
* being removed from the system
|
||||
*/
|
||||
static int fsl_mc_allocator_remove(struct fsl_mc_device *mc_dev)
|
||||
static void fsl_mc_allocator_remove(struct fsl_mc_device *mc_dev)
|
||||
{
|
||||
int error;
|
||||
|
||||
if (mc_dev->resource) {
|
||||
error = fsl_mc_resource_pool_remove_device(mc_dev);
|
||||
if (error < 0)
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
dev_dbg(&mc_dev->dev,
|
||||
"Allocatable fsl-mc device unbound from fsl_mc_allocator driver");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct fsl_mc_device_id match_id_table[] = {
|
||||
|
@ -454,11 +454,8 @@ static int fsl_mc_driver_remove(struct device *dev)
|
||||
{
|
||||
struct fsl_mc_driver *mc_drv = to_fsl_mc_driver(dev->driver);
|
||||
struct fsl_mc_device *mc_dev = to_fsl_mc_device(dev);
|
||||
int error;
|
||||
|
||||
error = mc_drv->remove(mc_dev);
|
||||
if (error < 0)
|
||||
dev_err(dev, "%s failed: %d\n", __func__, error);
|
||||
mc_drv->remove(mc_dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -5402,7 +5402,7 @@ err_dma_mask:
|
||||
return err;
|
||||
}
|
||||
|
||||
static int __cold dpaa2_caam_remove(struct fsl_mc_device *ls_dev)
|
||||
static void __cold dpaa2_caam_remove(struct fsl_mc_device *ls_dev)
|
||||
{
|
||||
struct device *dev;
|
||||
struct dpaa2_caam_priv *priv;
|
||||
@ -5443,8 +5443,6 @@ static int __cold dpaa2_caam_remove(struct fsl_mc_device *ls_dev)
|
||||
free_percpu(priv->ppriv);
|
||||
fsl_mc_portal_free(priv->mc_io);
|
||||
kmem_cache_destroy(qi_cache);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int dpaa2_caam_enqueue(struct device *dev, struct caam_request *req)
|
||||
|
@ -765,7 +765,7 @@ err_mcportal:
|
||||
return err;
|
||||
}
|
||||
|
||||
static int dpaa2_qdma_remove(struct fsl_mc_device *ls_dev)
|
||||
static void dpaa2_qdma_remove(struct fsl_mc_device *ls_dev)
|
||||
{
|
||||
struct dpaa2_qdma_engine *dpaa2_qdma;
|
||||
struct dpaa2_qdma_priv *priv;
|
||||
@ -787,8 +787,6 @@ static int dpaa2_qdma_remove(struct fsl_mc_device *ls_dev)
|
||||
dma_async_device_unregister(&dpaa2_qdma->dma_dev);
|
||||
kfree(priv);
|
||||
kfree(dpaa2_qdma);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void dpaa2_qdma_shutdown(struct fsl_mc_device *ls_dev)
|
||||
|
@ -5025,7 +5025,7 @@ err_wq_alloc:
|
||||
return err;
|
||||
}
|
||||
|
||||
static int dpaa2_eth_remove(struct fsl_mc_device *ls_dev)
|
||||
static void dpaa2_eth_remove(struct fsl_mc_device *ls_dev)
|
||||
{
|
||||
struct device *dev;
|
||||
struct net_device *net_dev;
|
||||
@ -5073,8 +5073,6 @@ static int dpaa2_eth_remove(struct fsl_mc_device *ls_dev)
|
||||
dev_dbg(net_dev->dev.parent, "Removed interface %s\n", net_dev->name);
|
||||
|
||||
free_netdev(net_dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct fsl_mc_device_id dpaa2_eth_match_id_table[] = {
|
||||
|
@ -219,7 +219,7 @@ err_exit:
|
||||
return err;
|
||||
}
|
||||
|
||||
static int dpaa2_ptp_remove(struct fsl_mc_device *mc_dev)
|
||||
static void dpaa2_ptp_remove(struct fsl_mc_device *mc_dev)
|
||||
{
|
||||
struct device *dev = &mc_dev->dev;
|
||||
struct ptp_qoriq *ptp_qoriq;
|
||||
@ -232,8 +232,6 @@ static int dpaa2_ptp_remove(struct fsl_mc_device *mc_dev)
|
||||
fsl_mc_free_irqs(mc_dev);
|
||||
dprtc_close(mc_dev->mc_io, 0, mc_dev->mc_handle);
|
||||
fsl_mc_portal_free(mc_dev->mc_io);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct fsl_mc_device_id dpaa2_ptp_match_id_table[] = {
|
||||
|
@ -3221,7 +3221,7 @@ static void dpaa2_switch_teardown(struct fsl_mc_device *sw_dev)
|
||||
dev_warn(dev, "dpsw_close err %d\n", err);
|
||||
}
|
||||
|
||||
static int dpaa2_switch_remove(struct fsl_mc_device *sw_dev)
|
||||
static void dpaa2_switch_remove(struct fsl_mc_device *sw_dev)
|
||||
{
|
||||
struct ethsw_port_priv *port_priv;
|
||||
struct ethsw_core *ethsw;
|
||||
@ -3252,8 +3252,6 @@ static int dpaa2_switch_remove(struct fsl_mc_device *sw_dev)
|
||||
kfree(ethsw);
|
||||
|
||||
dev_set_drvdata(dev, NULL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dpaa2_switch_probe_port(struct ethsw_core *ethsw,
|
||||
|
@ -270,7 +270,7 @@ static void dpio_teardown_irqs(struct fsl_mc_device *dpio_dev)
|
||||
fsl_mc_free_irqs(dpio_dev);
|
||||
}
|
||||
|
||||
static int dpaa2_dpio_remove(struct fsl_mc_device *dpio_dev)
|
||||
static void dpaa2_dpio_remove(struct fsl_mc_device *dpio_dev)
|
||||
{
|
||||
struct device *dev;
|
||||
struct dpio_priv *priv;
|
||||
@ -299,8 +299,6 @@ static int dpaa2_dpio_remove(struct fsl_mc_device *dpio_dev)
|
||||
|
||||
err_open:
|
||||
fsl_mc_portal_free(dpio_dev->mc_io);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct fsl_mc_device_id dpaa2_dpio_match_id_table[] = {
|
||||
|
@ -570,7 +570,7 @@ static void vfio_fsl_mc_release_dev(struct vfio_device *core_vdev)
|
||||
mutex_destroy(&vdev->igate);
|
||||
}
|
||||
|
||||
static int vfio_fsl_mc_remove(struct fsl_mc_device *mc_dev)
|
||||
static void vfio_fsl_mc_remove(struct fsl_mc_device *mc_dev)
|
||||
{
|
||||
struct device *dev = &mc_dev->dev;
|
||||
struct vfio_fsl_mc_device *vdev = dev_get_drvdata(dev);
|
||||
@ -578,7 +578,6 @@ static int vfio_fsl_mc_remove(struct fsl_mc_device *mc_dev)
|
||||
vfio_unregister_group_dev(&vdev->vdev);
|
||||
dprc_remove_devices(mc_dev, NULL, 0);
|
||||
vfio_put_device(&vdev->vdev);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct vfio_device_ops vfio_fsl_mc_ops = {
|
||||
|
@ -48,7 +48,7 @@ struct fsl_mc_driver {
|
||||
struct device_driver driver;
|
||||
const struct fsl_mc_device_id *match_id_table;
|
||||
int (*probe)(struct fsl_mc_device *dev);
|
||||
int (*remove)(struct fsl_mc_device *dev);
|
||||
void (*remove)(struct fsl_mc_device *dev);
|
||||
void (*shutdown)(struct fsl_mc_device *dev);
|
||||
int (*suspend)(struct fsl_mc_device *dev, pm_message_t state);
|
||||
int (*resume)(struct fsl_mc_device *dev);
|
||||
|
Loading…
Reference in New Issue
Block a user