Commit e8989a48 authored by Uwe Kleine-König's avatar Uwe Kleine-König Committed by Greg Kroah-Hartman
Browse files

char: xilinx_hwicap: Fold hwicap_remove() into only caller



hwicap_remove() is only called by hwicap_drv_remove(). Simplify by
unrolling the former into the latter function.

Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: default avatarMichal Simek <michal.simek@amd.com>
Message-ID: <20230605092047.50472-1-u.kleine-koenig@pengutronix.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 303c9c63
Loading
Loading
Loading
Loading
+18 −22
Original line number Diff line number Diff line
@@ -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