mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
mtd: hyperbus: Make hyperbus_unregister_device() return void
The only thing that could theoretically fail in that function is mtd_device_unregister(). However it's not supposed to fail and when used correctly it doesn't. So wail loudly if it does anyhow. This matches how other drivers (e.g. nand/raw/nandsim.c) use mtd_device_unregister(). This is a preparation for making platform remove callbacks return void. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/20220603210758.148493-2-u.kleine-koenig@pengutronix.de
This commit is contained in:
parent
83208e106a
commit
0c90466a79
@ -233,16 +233,16 @@ static int am654_hbmc_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct am654_hbmc_priv *priv = platform_get_drvdata(pdev);
|
||||
struct am654_hbmc_device_priv *dev_priv = priv->hbdev.priv;
|
||||
int ret;
|
||||
|
||||
ret = hyperbus_unregister_device(&priv->hbdev);
|
||||
hyperbus_unregister_device(&priv->hbdev);
|
||||
|
||||
if (priv->mux_ctrl)
|
||||
mux_control_deselect(priv->mux_ctrl);
|
||||
|
||||
if (dev_priv->rx_chan)
|
||||
dma_release_channel(dev_priv->rx_chan);
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct of_device_id am654_hbmc_dt_ids[] = {
|
||||
|
@ -126,16 +126,12 @@ int hyperbus_register_device(struct hyperbus_device *hbdev)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(hyperbus_register_device);
|
||||
|
||||
int hyperbus_unregister_device(struct hyperbus_device *hbdev)
|
||||
void hyperbus_unregister_device(struct hyperbus_device *hbdev)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
if (hbdev && hbdev->mtd) {
|
||||
ret = mtd_device_unregister(hbdev->mtd);
|
||||
WARN_ON(mtd_device_unregister(hbdev->mtd));
|
||||
map_destroy(hbdev->mtd);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(hyperbus_unregister_device);
|
||||
|
||||
|
@ -153,11 +153,12 @@ static int rpcif_hb_probe(struct platform_device *pdev)
|
||||
static int rpcif_hb_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct rpcif_hyperbus *hyperbus = platform_get_drvdata(pdev);
|
||||
int error = hyperbus_unregister_device(&hyperbus->hbdev);
|
||||
|
||||
hyperbus_unregister_device(&hyperbus->hbdev);
|
||||
|
||||
rpcif_disable_rpm(&hyperbus->rpc);
|
||||
|
||||
return error;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct platform_driver rpcif_platform_driver = {
|
||||
|
@ -89,9 +89,7 @@ int hyperbus_register_device(struct hyperbus_device *hbdev);
|
||||
/**
|
||||
* hyperbus_unregister_device - deregister HyperBus slave memory device
|
||||
* @hbdev: hyperbus_device to be unregistered
|
||||
*
|
||||
* Return: 0 for success, others for failure.
|
||||
*/
|
||||
int hyperbus_unregister_device(struct hyperbus_device *hbdev);
|
||||
void hyperbus_unregister_device(struct hyperbus_device *hbdev);
|
||||
|
||||
#endif /* __LINUX_MTD_HYPERBUS_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user