mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-23 12:14:10 +08:00
siox: Don't pass the reference on a master in siox_master_register()
While it's technically fine to pass the ownership of the reference on a struct siox_master from the caller of siox_master_register() to the framework this is hard to use. Instead let the framework take its own reference (that is freed in siox_master_unregister()) and drop the bus driver's reference in its remove callback. Acked-by: Thorsten Scherer <t.scherer@eckelmann.de> Link: https://lore.kernel.org/r/1e8d09d17848e58e8fc6a46278b5e8fb0cf4618a.1708328466.git.u.kleine-koenig@pengutronix.de Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
This commit is contained in:
parent
6613476e22
commit
2c12932b8e
@ -149,6 +149,8 @@ static int siox_gpio_remove(struct platform_device *pdev)
|
||||
|
||||
siox_master_unregister(master);
|
||||
|
||||
siox_master_put(master);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -717,6 +717,8 @@ int siox_master_register(struct siox_master *smaster)
|
||||
if (!smaster->pushpull)
|
||||
return -EINVAL;
|
||||
|
||||
get_device(&smaster->dev);
|
||||
|
||||
dev_set_name(&smaster->dev, "siox-%d", smaster->busno);
|
||||
|
||||
mutex_init(&smaster->lock);
|
||||
|
Loading…
Reference in New Issue
Block a user