• Boris Brezillon's avatar
    mtd: Avoid probe failures when mtd->dbg.dfs_dir is invalid · 1530578a
    Boris Brezillon authored
    Commit e8e3edb9 ("mtd: create per-device and module-scope debugfs
    entries") tried to make MTD related debugfs stuff consistent across the
    MTD framework by creating a root <debugfs>/mtd/ directory containing
    one directory per MTD device.
    
    The problem is that, by default, the MTD layer only registers the
    master device if no partitions are defined for this master. This
    behavior breaks all drivers that expect mtd->dbg.dfs_dir to be filled
    correctly after calling mtd_device_register() in order to add their own
    debugfs entries.
    
    The only way we can force all MTD masters to be registered no matter if
    they expose partitions or not is by enabling the
    CONFIG_MTD_PARTITIONED_MASTER option.
    
    In such situations, there's no other solution but to accept skipping
    debugfs initialization when dbg.dfs_dir is invalid, and when this
    happens, inform the user that he should consider enabling
    CONFIG_MTD_PARTITIONED_MASTER.
    
    Fixes: e8e3edb9 ("mtd: create per-device and module-scope debugfs entries")
    Cc: <stable@vger.kernel.org>
    Cc: Mario J. Rugiero <mrugiero@gmail.com>
    Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
    Reported-by: default avatarRichard Weinberger <richard@nod.at>
    Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
    1530578a
docg3.c 58.7 KB