[PATCH 1/3] char: xilinx_hwicap: Fold hwicap_remove() into only caller

Michal Simek michal.simek at amd.com
Mon Jun 5 02:24:17 PDT 2023



On 6/5/23 11:20, Uwe Kleine-König wrote:
> hwicap_remove() is only called by hwicap_drv_remove(). Simplify by
> unrolling the former into the latter function.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
> ---
>   drivers/char/xilinx_hwicap/xilinx_hwicap.c | 40 ++++++++++------------
>   1 file changed, 18 insertions(+), 22 deletions(-)
> 
> diff --git a/drivers/char/xilinx_hwicap/xilinx_hwicap.c b/drivers/char/xilinx_hwicap/xilinx_hwicap.c
> index a46f637da959..c4d75e684be6 100644
> --- a/drivers/char/xilinx_hwicap/xilinx_hwicap.c
> +++ b/drivers/char/xilinx_hwicap/xilinx_hwicap.c
> @@ -721,27 +721,6 @@ static struct hwicap_driver_config fifo_icap_config = {
>   	.reset = fifo_icap_reset,
>   };
>   
> -static int hwicap_remove(struct device *dev)
> -{
> -	struct hwicap_drvdata *drvdata;
> -
> -	drvdata = dev_get_drvdata(dev);
> -
> -	if (!drvdata)
> -		return 0;
> -
> -	device_destroy(icap_class, drvdata->devt);
> -	cdev_del(&drvdata->cdev);
> -	iounmap(drvdata->base_address);
> -	release_mem_region(drvdata->mem_start, drvdata->mem_size);
> -	kfree(drvdata);
> -
> -	mutex_lock(&icap_sem);
> -	probed_devices[MINOR(dev->devt)-XHWICAP_MINOR] = 0;
> -	mutex_unlock(&icap_sem);
> -	return 0;		/* success */
> -}
> -
>   #ifdef CONFIG_OF
>   static int hwicap_of_probe(struct platform_device *op,
>   				     const struct hwicap_driver_config *config)
> @@ -827,7 +806,24 @@ static int hwicap_drv_probe(struct platform_device *pdev)
>   
>   static int hwicap_drv_remove(struct platform_device *pdev)
>   {
> -	return hwicap_remove(&pdev->dev);
> +	struct device *dev = &pdev->dev;
> +	struct hwicap_drvdata *drvdata;
> +
> +	drvdata = dev_get_drvdata(dev);
> +	if (!drvdata)
> +		return 0;
> +
> +	device_destroy(icap_class, drvdata->devt);
> +	cdev_del(&drvdata->cdev);
> +	iounmap(drvdata->base_address);
> +	release_mem_region(drvdata->mem_start, drvdata->mem_size);
> +	kfree(drvdata);
> +
> +	mutex_lock(&icap_sem);
> +	probed_devices[MINOR(dev->devt)-XHWICAP_MINOR] = 0;
> +	mutex_unlock(&icap_sem);
> +
> +	return 0;
>   }
>   
>   #ifdef CONFIG_OF
> 
> base-commit: ac9a78681b921877518763ba0e89202254349d1b

Acked-by: Michal Simek <michal.simek at amd.com>

Thanks,
Michal



More information about the linux-arm-kernel mailing list