mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-08-08 08:16:59 +02:00
nand: Add function to unregister NAND devices
This performs the opposite of nand_register, allowing drivers to unregister nand devices. This is probably unnecessary for most regular drivers, but we expect sandbox drivers to get repeatedly bound/unbound, so this will help avoid dangling pointers. Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
This commit is contained in:
parent
b37a9208a2
commit
c203482177
@ -74,6 +74,23 @@ int nand_register(int devnum, struct mtd_info *mtd)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void nand_unregister(struct mtd_info *mtd)
|
||||
{
|
||||
int devnum = nand_mtd_to_devnum(mtd);
|
||||
|
||||
if (devnum < 0)
|
||||
return;
|
||||
|
||||
if (nand_curr_device == devnum)
|
||||
nand_curr_device = -1;
|
||||
|
||||
total_nand_size -= mtd->size / 1024;
|
||||
|
||||
del_mtd_device(nand_info[devnum]);
|
||||
|
||||
nand_info[devnum] = NULL;
|
||||
}
|
||||
|
||||
#if !CONFIG_IS_ENABLED(SYS_NAND_SELF_INIT)
|
||||
static void nand_init_chip(int i)
|
||||
{
|
||||
|
@ -22,6 +22,7 @@ int nand_mtd_to_devnum(struct mtd_info *mtd);
|
||||
#if CONFIG_IS_ENABLED(SYS_NAND_SELF_INIT)
|
||||
void board_nand_init(void);
|
||||
int nand_register(int devnum, struct mtd_info *mtd);
|
||||
void nand_unregister(struct mtd_info *mtd);
|
||||
#else
|
||||
struct nand_chip;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user