30 Dec, 2020

1 commit

  • [ Upstream commit e6db818a3f51781ba12ac4d52b8773f74d57b06b ]

    running kernel with CONFIG_DEBUG_LOCKS_ALLOC enabled will below warning:

    BUG: key ffff502e09807098 has not been registered!
    DEBUG_LOCKS_WARN_ON(1)
    WARNING: CPU: 5 PID: 129 at kernel/locking/lockdep.c:4623
    lockdep_init_map_waits+0xe8/0x250
    Modules linked in:
    CPU: 5 PID: 129 Comm: kworker/5:1 Tainted: G
    W 5.10.0-rc1-00277-ged49f224ca3f-dirty #1210
    Hardware name: Qualcomm Technologies, Inc. Robotics RB5 (DT)
    Workqueue: events deferred_probe_work_func
    pstate: 80c00005 (Nzcv daif +PAN +UAO -TCO BTYPE=--)
    pc : lockdep_init_map_waits+0xe8/0x250
    lr : lockdep_init_map_waits+0xe8/0x250
    [ Trimmed ]

    Call trace:
    lockdep_init_map_waits+0xe8/0x250
    __kernfs_create_file+0x78/0x180
    sysfs_add_file_mode_ns+0x94/0x1c8
    internal_create_group+0x110/0x3e0
    sysfs_create_group+0x18/0x28
    devm_device_add_group+0x4c/0xb0
    add_all_attributes+0x438/0x490
    sdw_slave_sysfs_dpn_init+0x128/0x138
    sdw_slave_sysfs_init+0x80/0xa0
    sdw_drv_probe+0x94/0x170
    really_probe+0x118/0x3e0
    driver_probe_device+0x5c/0xc0

    [ Trimmed ]

    CPU: 5 PID: 129 Comm: kworker/5:1 Tainted: G
    W 5.10.0-rc1-00277-ged49f224ca3f-dirty #1210
    Hardware name: Qualcomm Technologies, Inc. Robotics RB5 (DT)
    Workqueue: events deferred_probe_work_func
    Call trace:
    dump_backtrace+0x0/0x1c0
    show_stack+0x18/0x68
    dump_stack+0xd8/0x134
    __warn+0xa0/0x158
    report_bug+0xc8/0x178
    bug_handler+0x20/0x78
    brk_handler+0x70/0xc8

    [ Trimmed ]

    Fix this by initializing dynamically allocated sysfs attribute to keep lockdep happy!

    Fixes: bcac59029955 ("soundwire: add Slave sysfs support")
    Signed-off-by: Srinivas Kandagatla
    Acked-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20201104112941.1134-1-srinivas.kandagatla@linaro.org
    Signed-off-by: Vinod Koul
    Signed-off-by: Sasha Levin

    Srinivas Kandagatla
     

20 May, 2020

2 commits

  • Fix typo for paranoia spelled as paranioa

    Fixes: bcac59029955 ("soundwire: add Slave sysfs support")
    Signed-off-by: Vinod Koul

    Vinod Koul
     
  • Expose MIPI DisCo Slave properties in sysfs.

    For Slave properties and Data Port 0, the attributes are managed with
    simple devm_ support.

    A Slave Device may have more than one Data Port (DPN), and each Data
    Port can be sink or source. The attributes are created dynamically
    using pre-canned macros, but still use devm_ with a name attribute
    group to avoid creating kobjects - as requested by GregKH. In the
    _show function, we use container_of() to retrieve port number and
    direction required to extract the information.

    Audio modes are not supported for now. Depending on the discussions
    the SoundWire Device Class, we may add it later as is or follow the
    new specification.

    Signed-off-by: Pierre-Louis Bossart
    Signed-off-by: Bard Liao
    Reviewed-by: Greg Kroah-Hartman
    Link: https://lore.kernel.org/r/20200518203551.2053-4-yung-chuan.liao@linux.intel.com
    Signed-off-by: Vinod Koul

    Pierre-Louis Bossart