projects
/
linux-2.6-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b4a0de2
)
mtd: core: clear out unregistered devices a bit more
author
Zev Weiss
<zev@bewilderbeest.net>
Fri, 15 Oct 2021 18:50:48 +0000
(11:50 -0700)
committer
Miquel Raynal
<miquel.raynal@bootlin.com>
Fri, 3 Dec 2021 13:27:19 +0000
(14:27 +0100)
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 <zev@bewilderbeest.net>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link:
https://lore.kernel.org/linux-mtd/20211015185049.3318-1-zev@bewilderbeest.net
drivers/mtd/mtdcore.c
patch
|
blob
|
blame
|
history
diff --git
a/drivers/mtd/mtdcore.c
b/drivers/mtd/mtdcore.c
index fc0bed14bfb10123b4fb5fde91378834d3c8bb78..a7723a708ea7ef3b1cc5a629792fb94f86dbfd01 100644
(file)
--- a/
drivers/mtd/mtdcore.c
+++ b/
drivers/mtd/mtdcore.c
@@
-747,6
+747,9
@@
int del_mtd_device(struct mtd_info *mtd)
device_unregister(&mtd->dev);
+ /* Clear dev so mtd can be safely re-registered later if desired */
+ memset(&mtd->dev, 0, sizeof(mtd->dev));
+
idr_remove(&mtd_idr, mtd->index);
of_node_put(mtd_get_of_node(mtd));
@@
-1018,8
+1021,10
@@
int mtd_device_unregister(struct mtd_info *master)
{
int err;
- if (master->_reboot)
+ if (master->_reboot)
{
unregister_reboot_notifier(&master->reboot_notifier);
+ memset(&master->reboot_notifier, 0, sizeof(master->reboot_notifier));
+ }
if (master->otp_user_nvmem)
nvmem_unregister(master->otp_user_nvmem);