Commit 3eb32c26 authored by Sakari Ailus's avatar Sakari Ailus Committed by Mauro Carvalho Chehab

media: v4l: fwnode: Print bus type

Print bus type either as set by the driver or as parsed from the bus-type
property, as well as the guessed V4L2 media bus type.
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 e9be1b86
...@@ -99,6 +99,36 @@ v4l2_fwnode_bus_type_to_mbus(enum v4l2_fwnode_bus_type type) ...@@ -99,6 +99,36 @@ v4l2_fwnode_bus_type_to_mbus(enum v4l2_fwnode_bus_type type)
return conv ? conv->mbus_type : V4L2_MBUS_UNKNOWN; return conv ? conv->mbus_type : V4L2_MBUS_UNKNOWN;
} }
static const char *
v4l2_fwnode_bus_type_to_string(enum v4l2_fwnode_bus_type type)
{
const struct v4l2_fwnode_bus_conv *conv =
get_v4l2_fwnode_bus_conv_by_fwnode_bus(type);
return conv ? conv->name : "not found";
}
static const struct v4l2_fwnode_bus_conv *
get_v4l2_fwnode_bus_conv_by_mbus(enum v4l2_mbus_type type)
{
unsigned int i;
for (i = 0; i < ARRAY_SIZE(busses); i++)
if (busses[i].mbus_type == type)
return &busses[i];
return NULL;
}
static const char *
v4l2_fwnode_mbus_type_to_string(enum v4l2_mbus_type type)
{
const struct v4l2_fwnode_bus_conv *conv =
get_v4l2_fwnode_bus_conv_by_mbus(type);
return conv ? conv->name : "not found";
}
static int v4l2_fwnode_endpoint_parse_csi2_bus(struct fwnode_handle *fwnode, static int v4l2_fwnode_endpoint_parse_csi2_bus(struct fwnode_handle *fwnode,
struct v4l2_fwnode_endpoint *vep, struct v4l2_fwnode_endpoint *vep,
enum v4l2_mbus_type bus_type) enum v4l2_mbus_type bus_type)
...@@ -393,6 +423,10 @@ static int __v4l2_fwnode_endpoint_parse(struct fwnode_handle *fwnode, ...@@ -393,6 +423,10 @@ static int __v4l2_fwnode_endpoint_parse(struct fwnode_handle *fwnode,
memset(&vep->base, 0, sizeof(vep->base)); memset(&vep->base, 0, sizeof(vep->base));
fwnode_property_read_u32(fwnode, "bus-type", &bus_type); fwnode_property_read_u32(fwnode, "bus-type", &bus_type);
pr_debug("fwnode video bus type %s (%u), mbus type %s (%u)\n",
v4l2_fwnode_bus_type_to_string(bus_type), bus_type,
v4l2_fwnode_mbus_type_to_string(vep->bus_type),
vep->bus_type);
mbus_type = v4l2_fwnode_bus_type_to_mbus(bus_type); mbus_type = v4l2_fwnode_bus_type_to_mbus(bus_type);
...@@ -407,6 +441,10 @@ static int __v4l2_fwnode_endpoint_parse(struct fwnode_handle *fwnode, ...@@ -407,6 +441,10 @@ static int __v4l2_fwnode_endpoint_parse(struct fwnode_handle *fwnode,
v4l2_fwnode_endpoint_parse_parallel_bus( v4l2_fwnode_endpoint_parse_parallel_bus(
fwnode, vep, V4L2_MBUS_UNKNOWN); fwnode, vep, V4L2_MBUS_UNKNOWN);
pr_debug("assuming media bus type %s (%u)\n",
v4l2_fwnode_mbus_type_to_string(vep->bus_type),
vep->bus_type);
break; break;
case V4L2_MBUS_CCP2: case V4L2_MBUS_CCP2:
case V4L2_MBUS_CSI1: case V4L2_MBUS_CSI1:
......
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