@@ -201,6 +201,12 @@ static void cio2_bridge_init_swnode_names(struct cio2_sensor *sensor)
snprintf(sensor->node_names.endpoint,
sizeof(sensor->node_names.endpoint),
SWNODE_GRAPH_ENDPOINT_NAME_FMT, 0); /* And endpoint 0 */
+ if (sensor->ssdb.vcmtype) {
+ /* append ssdb.link to distinguish nodes with same model VCM */
+ snprintf(sensor->node_names.vcm, sizeof(sensor->node_names.vcm),
+ "%s-%u", cio2_vcm_types[sensor->ssdb.vcmtype - 1],
+ sensor->ssdb.link);
+ }
}
static void cio2_bridge_init_swnode_group(struct cio2_sensor *sensor)
@@ -237,13 +243,7 @@ static void cio2_bridge_create_connection_swnodes(struct cio2_bridge *bridge,
sensor->node_names.endpoint,
&nodes[SWNODE_CIO2_PORT],
sensor->cio2_properties);
- if (sensor->ssdb.vcmtype) {
- /* append ssdb.link to distinguish VCM nodes with same HID */
- snprintf(sensor->node_names.vcm, sizeof(sensor->node_names.vcm),
- "%s-%u", cio2_vcm_types[sensor->ssdb.vcmtype - 1],
- sensor->ssdb.link);
- nodes[SWNODE_VCM] = NODE_VCM(sensor->node_names.vcm);
- }
+ nodes[SWNODE_VCM] = NODE_VCM(sensor->node_names.vcm);
cio2_bridge_init_swnode_group(sensor);
}
Move initialization of node_names.vcm to cio2_bridge_init_swnode_names() where it belongs. And make the initialization of nodes[SWNODE_VCM] unconditional, cio2_bridge_init_swnode_group() takes care of not registering it when there is no VCM. Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- drivers/media/pci/intel/ipu3/cio2-bridge.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)