diff options
author | Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> | 2020-05-18 23:35:51 +0300 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2020-05-20 14:52:41 +0300 |
commit | bcac59029955ae57d3c660a0a1d6d4c7ae78fb49 (patch) | |
tree | d1ed29a40b4a6a59760fce57ce394e0154d7dc57 /drivers/soundwire/sysfs_local.h | |
parent | c5778ca49a19420c67dbeff0744a3b3b75ef4e1a (diff) | |
download | linux-bcac59029955ae57d3c660a0a1d6d4c7ae78fb49.tar.xz |
soundwire: add Slave sysfs support
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 <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20200518203551.2053-4-yung-chuan.liao@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/soundwire/sysfs_local.h')
-rw-r--r-- | drivers/soundwire/sysfs_local.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/soundwire/sysfs_local.h b/drivers/soundwire/sysfs_local.h new file mode 100644 index 000000000000..ff60adee3c41 --- /dev/null +++ b/drivers/soundwire/sysfs_local.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* Copyright(c) 2015-2020 Intel Corporation. */ + +#ifndef __SDW_SYSFS_LOCAL_H +#define __SDW_SYSFS_LOCAL_H + +/* + * SDW sysfs APIs - + */ + +int sdw_slave_sysfs_init(struct sdw_slave *slave); +int sdw_slave_sysfs_dpn_init(struct sdw_slave *slave); + +#endif /* __SDW_SYSFS_LOCAL_H */ |