Skip to content

Commit

Permalink
fixup! drivers/mtd_mapper: inherit physical properties
Browse files Browse the repository at this point in the history
  • Loading branch information
benpicco committed May 26, 2022
1 parent a962be8 commit ec5da5f
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions drivers/mtd_mapper/mtd_mapper.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,19 @@ static int _init(mtd_dev_t *mtd)
mtd_dev_t *backing_mtd = region->parent->mtd;

/* inherit physical properties */
region->mtd.page_size = backing_mtd->page_size;
region->mtd.pages_per_sector = backing_mtd->pages_per_sector;
if (region->mtd.page_size == 0) {
region->mtd.page_size = backing_mtd->page_size;
}
if (region->mtd.pages_per_sector == 0) {
region->mtd.pages_per_sector = backing_mtd->pages_per_sector;
}
region->mtd.write_size = backing_mtd->write_size;

/* Configuration sanity check */
assert(backing_mtd->page_size >= region->mtd.page_size);
assert(backing_mtd->write_size <= region->mtd.page_size);
assert(region->mtd.page_size * region->mtd.pages_per_sector
== backing_mtd->page_size * backing_mtd->pages_per_sector);
assert(backing_mtd->sector_count >= region->mtd.sector_count);

/* offset + region size must not exceed the backing device */
Expand Down

0 comments on commit ec5da5f

Please sign in to comment.