Commit 9a5b4b76 authored by Sakari Ailus's avatar Sakari Ailus Committed by Mauro Carvalho Chehab

media: v4l: fwnode: Only zero the struct if bus type is set to V4L2_MBUS_UNKNOWN

In order to prepare for allowing drivers to set the defaults for a given
bus, make zeroing the struct conditional based on detecting the bus.
All callers now set the bus type to zero which allows only zeroing the
remaining bus union.
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Tested-by: default avatarSteve Longerbeam <steve_longerbeam@mentor.com>
Tested-by: default avatarJacopo Mondi <jacopo+renesas@jmondi.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 60359a28
...@@ -301,6 +301,12 @@ static int __v4l2_fwnode_endpoint_parse(struct fwnode_handle *fwnode, ...@@ -301,6 +301,12 @@ static int __v4l2_fwnode_endpoint_parse(struct fwnode_handle *fwnode,
u32 bus_type = 0; u32 bus_type = 0;
int rval; int rval;
if (vep->bus_type == V4L2_MBUS_UNKNOWN) {
/* Zero fields from bus union to until the end */
memset(&vep->bus, 0,
sizeof(*vep) - offsetof(typeof(*vep), bus));
}
pr_debug("===== begin V4L2 endpoint properties\n"); pr_debug("===== begin V4L2 endpoint properties\n");
/* /*
...@@ -309,10 +315,6 @@ static int __v4l2_fwnode_endpoint_parse(struct fwnode_handle *fwnode, ...@@ -309,10 +315,6 @@ static int __v4l2_fwnode_endpoint_parse(struct fwnode_handle *fwnode,
*/ */
memset(&vep->base, 0, sizeof(vep->base)); memset(&vep->base, 0, sizeof(vep->base));
/* Zero fields from bus_type to until the end */
memset(&vep->bus_type, 0, sizeof(*vep) -
offsetof(typeof(*vep), bus_type));
fwnode_property_read_u32(fwnode, "bus-type", &bus_type); fwnode_property_read_u32(fwnode, "bus-type", &bus_type);
switch (bus_type) { switch (bus_type) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment