forked from mirrors/linux
		
	mtd: core: set some defaults when dev.parent is set
If a parent device is set, add_mtd_device() has enough knowledge to fill in some sane default values for the module name and owner. Do so if they aren't already set. Signed-off-by: Frans Klaver <fransklaver@gmail.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
This commit is contained in:
		
							parent
							
								
									260e89a6e0
								
							
						
					
					
						commit
						807f16d4db
					
				
					 1 changed files with 9 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -418,6 +418,15 @@ int add_mtd_device(struct mtd_info *mtd)
 | 
			
		|||
	mtd->erasesize_mask = (1 << mtd->erasesize_shift) - 1;
 | 
			
		||||
	mtd->writesize_mask = (1 << mtd->writesize_shift) - 1;
 | 
			
		||||
 | 
			
		||||
	if (mtd->dev.parent) {
 | 
			
		||||
		if (!mtd->owner && mtd->dev.parent->driver)
 | 
			
		||||
			mtd->owner = mtd->dev.parent->driver->owner;
 | 
			
		||||
		if (!mtd->name)
 | 
			
		||||
			mtd->name = dev_name(mtd->dev.parent);
 | 
			
		||||
	} else {
 | 
			
		||||
		pr_debug("mtd device won't show a device symlink in sysfs\n");
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* Some chips always power up locked. Unlock them now */
 | 
			
		||||
	if ((mtd->flags & MTD_WRITEABLE) && (mtd->flags & MTD_POWERUP_LOCK)) {
 | 
			
		||||
		error = mtd_unlock(mtd, 0, mtd->size);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue