soundwire: extend SDW_SLAVE_ENTRY
The SoundWire 1.2 specification adds new capabilities that were not present in previous version, such as the class ID. To enable support for class drivers, and well as drivers that address a specific version, all fields of the sdw_device_id structure need to be exposed. For SoundWire 1.0 and 1.1 devices, a wildcard is used so class and version information are ignored. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Link: https://lore.kernel.org/r/20200608205436.2402-4-yung-chuan.liao@linux.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:

committed by
Vinod Koul

parent
ee9173db50
commit
b5924268d6
@@ -216,6 +216,8 @@ int main(void)
|
||||
DEVID(sdw_device_id);
|
||||
DEVID_FIELD(sdw_device_id, mfg_id);
|
||||
DEVID_FIELD(sdw_device_id, part_id);
|
||||
DEVID_FIELD(sdw_device_id, sdw_version);
|
||||
DEVID_FIELD(sdw_device_id, class_id);
|
||||
|
||||
DEVID(fsl_mc_device_id);
|
||||
DEVID_FIELD(fsl_mc_device_id, vendor);
|
||||
|
@@ -1258,15 +1258,19 @@ static int do_hda_entry(const char *filename, void *symval, char *alias)
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Looks like: sdw:mNpN */
|
||||
/* Looks like: sdw:mNpNvNcN */
|
||||
static int do_sdw_entry(const char *filename, void *symval, char *alias)
|
||||
{
|
||||
DEF_FIELD(symval, sdw_device_id, mfg_id);
|
||||
DEF_FIELD(symval, sdw_device_id, part_id);
|
||||
DEF_FIELD(symval, sdw_device_id, sdw_version);
|
||||
DEF_FIELD(symval, sdw_device_id, class_id);
|
||||
|
||||
strcpy(alias, "sdw:");
|
||||
ADD(alias, "m", mfg_id != 0, mfg_id);
|
||||
ADD(alias, "p", part_id != 0, part_id);
|
||||
ADD(alias, "v", sdw_version != 0, sdw_version);
|
||||
ADD(alias, "c", class_id != 0, class_id);
|
||||
|
||||
add_wildcard(alias);
|
||||
return 1;
|
||||
|
Reference in New Issue
Block a user