mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 10:26:10 +01: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:
		| @@ -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; | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user