Skip to content

Commit 0059657

Browse files
zevweissmiquelraynal
authored andcommitted
mtd: core: clear out unregistered devices a bit more
This allows an MTD device that has been unregistered to be easily re-registered later without triggering spurious "already registered" warnings in mtd_device_parse_register() and add_mtd_device(). Signed-off-by: Zev Weiss <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
1 parent b4a0de2 commit 0059657

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

drivers/mtd/mtdcore.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -747,6 +747,9 @@ int del_mtd_device(struct mtd_info *mtd)
747747

748748
device_unregister(&mtd->dev);
749749

750+
/* Clear dev so mtd can be safely re-registered later if desired */
751+
memset(&mtd->dev, 0, sizeof(mtd->dev));
752+
750753
idr_remove(&mtd_idr, mtd->index);
751754
of_node_put(mtd_get_of_node(mtd));
752755

@@ -1018,8 +1021,10 @@ int mtd_device_unregister(struct mtd_info *master)
10181021
{
10191022
int err;
10201023

1021-
if (master->_reboot)
1024+
if (master->_reboot) {
10221025
unregister_reboot_notifier(&master->reboot_notifier);
1026+
memset(&master->reboot_notifier, 0, sizeof(master->reboot_notifier));
1027+
}
10231028

10241029
if (master->otp_user_nvmem)
10251030
nvmem_unregister(master->otp_user_nvmem);

0 commit comments

Comments
 (0)