Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 807f16d4 authored by Frans Klaver's avatar Frans Klaver Committed by Brian Norris
Browse files

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: default avatarFrans Klaver <fransklaver@gmail.com>
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
parent 260e89a6
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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);