• Aneesh Kumar K.V's avatar
    mtd: powernv_flash: Fix device registration error · 3e35730d
    Aneesh Kumar K.V authored
    This change helps me to get multiple mtd device registered. Without this
    I get
    
    sysfs: cannot create duplicate filename '/bus/nvmem/devices/flash0'
    CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.0.0-rc2-00557-g1ef20ef21f22 #13
    Call Trace:
    [c0000000b38e3220] [c000000000b58fe4] dump_stack+0xe8/0x164 (unreliable)
    [c0000000b38e3270] [c0000000004cf074] sysfs_warn_dup+0x84/0xb0
    [c0000000b38e32f0] [c0000000004cf6c4] sysfs_do_create_link_sd.isra.0+0x114/0x150
    [c0000000b38e3340] [c000000000726a84] bus_add_device+0x94/0x1e0
    [c0000000b38e33c0] [c0000000007218f0] device_add+0x4d0/0x830
    [c0000000b38e3480] [c0000000009d54a8] nvmem_register.part.2+0x1c8/0xb30
    [c0000000b38e3560] [c000000000834530] mtd_nvmem_add+0x90/0x120
    [c0000000b38e3650] [c000000000835bc8] add_mtd_device+0x198/0x4e0
    [c0000000b38e36f0] [c00000000083619c] mtd_device_parse_register+0x11c/0x280
    [c0000000b38e3780] [c000000000840830] powernv_flash_probe+0x180/0x250
    [c0000000b38e3820] [c00000000072c120] platform_drv_probe+0x60/0xf0
    [c0000000b38e38a0] [c0000000007283c8] really_probe+0x138/0x4d0
    [c0000000b38e3930] [c000000000728acc] driver_probe_device+0x13c/0x1b0
    [c0000000b38e39b0] [c000000000728c7c] __driver_attach+0x13c/0x1c0
    [c0000000b38e3a30] [c000000000725130] bus_for_each_dev+0xa0/0x120
    [c0000000b38e3a90] [c000000000727b2c] driver_attach+0x2c/0x40
    [c0000000b38e3ab0] [c0000000007270f8] bus_add_driver+0x228/0x360
    [c0000000b38e3b40] [c00000000072a2e0] driver_register+0x90/0x1a0
    [c0000000b38e3bb0] [c00000000072c020] __platform_driver_register+0x50/0x70
    [c0000000b38e3bd0] [c00000000105c984] powernv_flash_driver_init+0x24/0x38
    [c0000000b38e3bf0] [c000000000010904] do_one_initcall+0x84/0x464
    [c0000000b38e3cd0] [c000000001004548] kernel_init_freeable+0x530/0x634
    [c0000000b38e3db0] [c000000000011154] kernel_init+0x1c/0x168
    [c0000000b38e3e20] [c00000000000bed4] ret_from_kernel_thread+0x5c/0x68
    mtd mtd1: Failed to register NVMEM device
    
    With the change we now have
    
    root@(none):/sys/bus/nvmem/devices# ls -al
    total 0
    drwxr-xr-x 2 root root 0 Feb  6 20:49 .
    drwxr-xr-x 4 root root 0 Feb  6 20:49 ..
    lrwxrwxrwx 1 root root 0 Feb  6 20:49 flash@0 -> ../../../devices/platform/ibm,opal:flash@0/mtd/mtd0/flash@0
    lrwxrwxrwx 1 root root 0 Feb  6 20:49 flash@1 -> ../../../devices/platform/ibm,opal:flash@1/mtd/mtd1/flash@1
    
    Fixes: 1cbb4a1c ("mtd: powernv: Add powernv flash MTD abstraction driver")
    Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
    Signed-off-by: Boris Brezillon's avatarBoris Brezillon <boris.brezillon@collabora.com>
    3e35730d
Name
Last commit
Last update
..
chips Loading commit data...
devices Loading commit data...
lpddr Loading commit data...
maps Loading commit data...
nand Loading commit data...
parsers Loading commit data...
spi-nor Loading commit data...
tests Loading commit data...
ubi Loading commit data...
Kconfig Loading commit data...
Makefile Loading commit data...
afs.c Loading commit data...
ar7part.c Loading commit data...
bcm47xxpart.c Loading commit data...
bcm63xxpart.c Loading commit data...
cmdlinepart.c Loading commit data...
ftl.c Loading commit data...
inftlcore.c Loading commit data...
inftlmount.c Loading commit data...
mtd_blkdevs.c Loading commit data...
mtdblock.c Loading commit data...
mtdblock_ro.c Loading commit data...
mtdchar.c Loading commit data...
mtdconcat.c Loading commit data...
mtdcore.c Loading commit data...
mtdcore.h Loading commit data...
mtdoops.c Loading commit data...
mtdpart.c Loading commit data...
mtdsuper.c Loading commit data...
mtdswap.c Loading commit data...
nftlcore.c Loading commit data...
nftlmount.c Loading commit data...
ofpart.c Loading commit data...
rfd_ftl.c Loading commit data...
sm_ftl.c Loading commit data...
sm_ftl.h Loading commit data...
ssfdc.c Loading commit data...