media: Convert to using %pOF instead of full_name
Subsystems (11)
PATCH 1/1 media: Convert to using %pOF instead of full_name
Now that we have a custom printf format specifier, convert users of full_name to use %pOF instead. This is preparation to remove storing of the full path string for each node.
--- drivers/media/i2c/s5c73m3/s5c73m3-core.c | 3 +- drivers/media/i2c/s5k5baf.c | 7 ++-- drivers/media/platform/am437x/am437x-vpfe.c | 4 +- drivers/media/platform/atmel/atmel-isc.c | 4 +- drivers/media/platform/davinci/vpif_capture.c | 16 ++++---- drivers/media/platform/exynos4-is/fimc-is.c | 8 ++-- drivers/media/platform/exynos4-is/fimc-lite.c | 3 +- drivers/media/platform/exynos4-is/media-dev.c | 8 ++-- drivers/media/platform/exynos4-is/mipi-csis.c | 4 +- drivers/media/platform/mtk-mdp/mtk_mdp_comp.c | 6 +-- drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 8 ++-- drivers/media/platform/omap3isp/isp.c | 8 ++-- drivers/media/platform/pxa_camera.c | 2 +- drivers/media/platform/rcar-vin/rcar-core.c | 4 +- drivers/media/platform/soc_camera/soc_camera.c | 6 +-- drivers/media/platform/xilinx/xilinx-vipp.c | 52 +++++++++++++------------- drivers/media/v4l2-core/v4l2-async.c | 4 +- drivers/media/v4l2-core/v4l2-clk.c | 3 +- include/media/v4l2-clk.h | 4 +- 19 files changed, 71 insertions(+), 83 deletions(-)
drivers/media/i2c/s5c73m3/s5c73m3-core.c +1 -2
@@ -1635,8 +1635,7 @@ static int s5c73m3_get_platform_data(struct s5c73m3 *state) node_ep =of_graph_get_next_endpoint (node,NULL );if (!node_ep) { -dev_warn (dev,"no endpoint defined for node: %s\n" , - node->full_name); +dev_warn (dev,"no endpoint defined for node: %pOF\n" , node);return 0 ; }
drivers/media/i2c/s5k5baf.c +3 -4
@@ -1863,8 +1863,7 @@ static int s5k5baf_parse_device_node(struct s5k5baf *state, struct device *dev) node_ep =of_graph_get_next_endpoint (node,NULL );if (!node_ep) { -dev_err (dev,"no endpoint defined at node %s\n" , - node->full_name); +dev_err (dev,"no endpoint defined at node %pOF\n" , node);return -EINVAL ; }
@@ -1882,8 +1881,8 @@ static int s5k5baf_parse_device_node(struct s5k5baf *state, struct device *dev)case V4L2_MBUS_PARALLEL :break ;default : -dev_err (dev,"unsupported bus in endpoint defined at node %s\n" , - node->full_name); +dev_err (dev,"unsupported bus in endpoint defined at node %pOF\n" , + node);return -EINVAL ; }
drivers/media/platform/am437x/am437x-vpfe.c +2 -2
@@ -2490,8 +2490,8 @@ vpfe_get_pdata(struct platform_device *pdev) rem =of_graph_get_remote_port_parent (endpoint);if (!rem) { -dev_err (&pdev->dev,"Remote device at %s not found\n" , - endpoint->full_name); +dev_err (&pdev->dev,"Remote device at %pOF not found\n" , + endpoint); goto done; }
drivers/media/platform/atmel/atmel-isc.c +2 -2
@@ -1700,8 +1700,8 @@ static int isc_parse_dt(struct device *dev, struct isc_device *isc) rem =of_graph_get_remote_port_parent (epn);if (!rem) { -dev_notice (dev,"Remote device at %s not found\n" , -of_node_full_name (epn)); +dev_notice (dev,"Remote device at %pOF not found\n" , + epn);continue ; }
drivers/media/platform/davinci/vpif_capture.c +8 -8
@@ -1397,9 +1397,9 @@ static int vpif_async_bound(struct v4l2_async_notifier *notifier, vpif_obj.config->chan_config->inputs[i].subdev_name = (char *)to_of_node (subdev->fwnode)->full_name;vpif_dbg (2 , debug, -"%s: setting input %d subdev_name = %s\n" , +"%s: setting input %d subdev_name = %pOF\n" , __func__, i, -to_of_node (subdev->fwnode)->full_name); +to_of_node (subdev->fwnode));return 0 ; } }
@@ -1557,8 +1557,8 @@ vpif_capture_get_pdata(struct platform_device *pdev)dev_err (&pdev->dev,"Could not parse the endpoint\n" ); goto done; } -dev_dbg (&pdev->dev,"Endpoint %s, bus_width = %d\n" , - endpoint->full_name, bus_cfg.bus.parallel.bus_width); +dev_dbg (&pdev->dev,"Endpoint %pOF, bus_width = %d\n" , + endpoint, bus_cfg.bus.parallel.bus_width); flags = bus_cfg.bus.parallel.flags;if (flags &V4L2_MBUS_HSYNC_ACTIVE_HIGH )
@@ -1569,13 +1569,13 @@ vpif_capture_get_pdata(struct platform_device *pdev) rem =of_graph_get_remote_port_parent (endpoint);if (!rem) { -dev_dbg (&pdev->dev,"Remote device at %s not found\n" , - endpoint->full_name); +dev_dbg (&pdev->dev,"Remote device at %pOF not found\n" , + endpoint); goto done; } -dev_dbg (&pdev->dev,"Remote device %s, %s found\n" , - rem->name, rem->full_name); +dev_dbg (&pdev->dev,"Remote device %s, %pOF found\n" , + rem->name, rem); sdinfo->name = rem->full_name; pdata->asd[i] = devm_kzalloc(&pdev->dev,
drivers/media/platform/exynos4-is/fimc-is.c +4 -4
@@ -174,8 +174,8 @@ static int fimc_is_parse_sensor_config(struct fimc_is *is, unsigned int index, sensor->drvdata =fimc_is_sensor_get_drvdata (node);if (!sensor->drvdata) { -dev_err (&is->pdev->dev,"no driver data found for: %s\n" , - node->full_name); +dev_err (&is->pdev->dev,"no driver data found for: %pOF\n" , + node);return -EINVAL ; }
@@ -191,8 +191,8 @@ static int fimc_is_parse_sensor_config(struct fimc_is *is, unsigned int index,/* Use MIPI-CSIS channel id to determine the ISP I2C bus index. */ ret =of_property_read_u32 (port,"reg" , &tmp);if (ret <0 ) { -dev_err (&is->pdev->dev,"reg property not found at: %s\n" , - port->full_name); +dev_err (&is->pdev->dev,"reg property not found at: %pOF\n" , + port);of_node_put (port);return ret; }
drivers/media/platform/exynos4-is/fimc-lite.c +1 -2
@@ -1493,8 +1493,7 @@ static int fimc_lite_probe(struct platform_device *pdev)if (!drv_data || fimc->index >= drv_data->num_instances || fimc->index <0 ) { -dev_err (dev,"Wrong %s node alias\n" , - dev->of_node->full_name); +dev_err (dev,"Wrong %pOF node alias\n" , dev->of_node);return -EINVAL ; }
drivers/media/platform/exynos4-is/media-dev.c +4 -4
@@ -412,8 +412,8 @@ static int fimc_md_parse_port_node(struct fimc_md *fmd, rem =of_graph_get_remote_port_parent (ep);of_node_put (ep);if (rem ==NULL ) { -v4l2_info (&fmd->v4l2_dev,"Remote device at %s not found\n" , - ep->full_name); +v4l2_info (&fmd->v4l2_dev,"Remote device at %pOF not found\n" , + ep);return 0 ; }
@@ -430,8 +430,8 @@ static int fimc_md_parse_port_node(struct fimc_md *fmd,*/ pd->sensor_bus_type =FIMC_BUS_TYPE_MIPI_CSI2 ; }else { -v4l2_err (&fmd->v4l2_dev,"Wrong port id (%u) at node %s\n" , - endpoint.base.port, rem->full_name); +v4l2_err (&fmd->v4l2_dev,"Wrong port id (%u) at node %pOF\n" , + endpoint.base.port, rem); }/* * For FIMC-IS handled sensors, that are placed under i2c-isp device
drivers/media/platform/exynos4-is/mipi-csis.c +2 -2
@@ -730,8 +730,8 @@ static int s5pcsis_parse_dt(struct platform_device *pdev, node =of_graph_get_next_endpoint (node,NULL );if (!node) { -dev_err (&pdev->dev,"No port node at %s\n" , - pdev->dev.of_node->full_name); +dev_err (&pdev->dev,"No port node at %pOF\n" , + pdev->dev.of_node);return -EINVAL ; }/* Get port node and validate MIPI-CSI channel id. */
drivers/media/platform/mtk-mdp/mtk_mdp_comp.c +2 -4
@@ -134,15 +134,13 @@ int mtk_mdp_comp_init(struct device *dev, struct device_node *node, larb_node =of_parse_phandle (node,"mediatek,larb" ,0 );if (!larb_node) {dev_err (dev, -"Missing mediadek,larb phandle in %s node\n" , - node->full_name); +"Missing mediadek,larb phandle in %pOF node\n" , node);return -EINVAL ; } larb_pdev =of_find_device_by_node (larb_node);if (!larb_pdev) { -dev_warn (dev,"Waiting for larb device %s\n" , - larb_node->full_name); +dev_warn (dev,"Waiting for larb device %pOF\n" , larb_node);of_node_put (larb_node);return -EPROBE_DEFER ; }
drivers/media/platform/mtk-mdp/mtk_mdp_core.c +4 -4
@@ -137,16 +137,16 @@ static int mtk_mdp_probe(struct platform_device *pdev)continue ;if (!of_device_is_available (node)) { -dev_err (dev,"Skipping disabled component %s\n" , - node->full_name); +dev_err (dev,"Skipping disabled component %pOF\n" , + node);continue ; } comp_type = (enum mtk_mdp_comp_type )of_id->data; comp_id =mtk_mdp_comp_get_id (dev, node, comp_type);if (comp_id <0 ) { -dev_warn (dev,"Skipping unknown component %s\n" , - node->full_name); +dev_warn (dev,"Skipping unknown component %pOF\n" , + node);continue ; }
drivers/media/platform/omap3isp/isp.c +4 -4
@@ -2020,8 +2020,8 @@ static int isp_fwnode_parse(struct device *dev, struct fwnode_handle *fwnode,if (ret)return ret; -dev_dbg (dev,"parsing endpoint %s, interface %u\n" , -to_of_node (fwnode)->full_name, vep.base.port); +dev_dbg (dev,"parsing endpoint %pOF, interface %u\n" , +to_of_node (fwnode), vep.base.port);switch (vep.base.port) {case ISP_OF_PHY_PARALLEL :
@@ -2078,8 +2078,8 @@ static int isp_fwnode_parse(struct device *dev, struct fwnode_handle *fwnode,break ;default : -dev_warn (dev,"%s: invalid interface %u\n" , -to_of_node (fwnode)->full_name, vep.base.port); +dev_warn (dev,"%pOF: invalid interface %u\n" , +to_of_node (fwnode), vep.base.port);break ; }
drivers/media/platform/pxa_camera.c +1 -1
@@ -2328,7 +2328,7 @@ static int pxa_camera_pdata_from_dt(struct device *dev, asd->match.fwnode.fwnode =of_fwnode_handle (remote);of_node_put (remote); }else { -dev_notice (dev,"no remote for %s\n" ,of_node_full_name (np)); +dev_notice (dev,"no remote for %pOF\n" , np); } out:
drivers/media/platform/rcar-vin/rcar-core.c +2 -2
@@ -222,8 +222,8 @@ static int rvin_digital_graph_init(struct rvin_dev *vin) subdevs[0 ] = &vin->digital.asd; -vin_dbg (vin,"Found digital subdevice %s\n" , -of_node_full_name (to_of_node (subdevs[0 ]->match.fwnode.fwnode))); +vin_dbg (vin,"Found digital subdevice %pOF\n" , +to_of_node (subdevs[0 ]->match.fwnode.fwnode)); vin->notifier.num_subdevs =1 ; vin->notifier.subdevs = subdevs;
drivers/media/platform/soc_camera/soc_camera.c +2 -4
@@ -1550,8 +1550,7 @@ static int soc_of_bind(struct soc_camera_host *ici,v4l2_clk_name_i2c (clk_name,sizeof (clk_name), client->adapter->nr, client->addr); else - v4l2_clk_name_of(clk_name, sizeof(clk_name), -of_node_full_name (remote )); + v4l2_clk_name_of(clk_name, sizeof(clk_name), remote); icd->clk =v4l2_clk_register (&soc_camera_clk_ops, clk_name, icd);if (IS_ERR (icd->clk)) {
@@ -1590,8 +1589,7 @@ static void scan_of_host(struct soc_camera_host *ici) ren =of_graph_get_remote_port (epn);if (!ren) { -dev_notice (dev,"no remote for %s\n" , -of_node_full_name (epn)); +dev_notice (dev,"no remote for %pOF\n" , epn);continue ; }
drivers/media/platform/xilinx/xilinx-vipp.c +25 -27
138 lines not on this page · raw message
drivers/media/v4l2-core/v4l2-async.c +1 -3
@@ -47,9 +47,7 @@ static bool match_fwnode(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd)if (!is_of_node (sd->fwnode) || !is_of_node (asd->match.fwnode.fwnode))return sd->fwnode == asd->match.fwnode.fwnode; -return !of_node_cmp (of_node_full_name (to_of_node (sd->fwnode)), -of_node_full_name ( -to_of_node (asd->match.fwnode.fwnode))); +return to_of_node (sd->fwnode) ==to_of_node (asd->match.fwnode.fwnode); }static bool match_custom (struct v4l2_subdev *sd,struct v4l2_async_subdev *asd)
drivers/media/v4l2-core/v4l2-clk.c +1 -2
@@ -61,8 +61,7 @@ struct v4l2_clk *v4l2_clk_get(struct device *dev, const char *id)/* if dev_name is not found, try use the OF name to find again */ if (PTR_ERR (clk) == -ENODEV && dev->of_node) { -v4l2_clk_name_of (clk_name,sizeof (clk_name), -of_node_full_name (dev->of_node)); +v4l2_clk_name_of (clk_name,sizeof (clk_name), dev->of_node); clk =v4l2_clk_find (clk_name); }
include/media/v4l2-clk.h +2 -2
@@ -70,7 +70,7 @@ static inline struct v4l2_clk *v4l2_clk_register_fixed(const char *dev_id,#define v4l2_clk_name_i2c (name, size, adap, client) snprintf(name, size, \ "%d-%04x", adap, client) -#define v4l2_clk_name_of (name, size, of_full_name) snprintf(name, size, \ - "of-%s", of_full_name) +#define v4l2_clk_name_of (name, size, node) snprintf(name, size, \ + "of-%pOF", node)#endif
--
2.11.0
Quoted 21 lines · Rob Herring
Now that we have a custom printf format specifier, convert users of
full_nameto use %pOF instead. This is preparation to remove storing of the full path string for each node.Signed-off-by Rob Herring <[email protected]>Cc Kyungmin Park <[email protected]>Cc Andrzej Hajda <[email protected]>Cc Mauro Carvalho Chehab <[email protected]>Cc "Lad, Prabhakar" <[email protected]>Cc Songjun Wu <[email protected]>Cc Sylwester Nawrocki <[email protected]>Cc Kukjin Kim <[email protected]>Cc Krzysztof Kozlowski <[email protected]>Cc Javier Martinez Canillas <[email protected]>Cc Minghsiu Tsai <[email protected]>Cc Houlong Wei <[email protected]>Cc Andrew-CT Chen <[email protected]>Cc Matthias Brugger <[email protected]>Cc Laurent Pinchart <[email protected]>Cc "Niklas S?derlund" <[email protected]>Cc Guennadi Liakhovetski <[email protected]>
Quoted 8 lines
Cc Hyun Kwon <[email protected]>Cc Michal Simek <[email protected]>Cc "S?ren Brinkmann" <[email protected]>Cc linux-media at vger.kernel.orgCc linux-arm-kernel at lists.infradead.orgCc linux-samsung-soc at vger.kernel.orgCc linux-mediatek at lists.infradead.orgCc linux-renesas-soc at vger.kernel.org
For rcar-vin/rcar-core.c:
Quoted 541 lines
--- drivers/media/i2c/s5c73m3/s5c73m3-core.c | 3 +- drivers/media/i2c/s5k5baf.c | 7 ++-- drivers/media/platform/am437x/am437x-vpfe.c | 4 +- drivers/media/platform/atmel/atmel-isc.c | 4 +- drivers/media/platform/davinci/vpif_capture.c | 16 ++++---- drivers/media/platform/exynos4-is/fimc-is.c | 8 ++-- drivers/media/platform/exynos4-is/fimc-lite.c | 3 +- drivers/media/platform/exynos4-is/media-dev.c | 8 ++-- drivers/media/platform/exynos4-is/mipi-csis.c | 4 +- drivers/media/platform/mtk-mdp/mtk_mdp_comp.c | 6 +-- drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 8 ++-- drivers/media/platform/omap3isp/isp.c | 8 ++-- drivers/media/platform/pxa_camera.c | 2 +- drivers/media/platform/rcar-vin/rcar-core.c | 4 +- drivers/media/platform/soc_camera/soc_camera.c | 6 +-- drivers/media/platform/xilinx/xilinx-vipp.c | 52 +++++++++++++------------- drivers/media/v4l2-core/v4l2-async.c | 4 +- drivers/media/v4l2-core/v4l2-clk.c | 3 +- include/media/v4l2-clk.h | 4 +- 19 files changed, 71 insertions(+), 83 deletions(-)drivers/media/i2c/s5c73m3/s5c73m3-core.c +1
-2@@ -1635,8 +1635,7 @@ static int s5c73m3_get_platform_data(struct s5c73m3 *state) node_ep =of_graph_get_next_endpoint (node,NULL );if (!node_ep) { -dev_warn (dev,"no endpoint defined for node: %s\n" , - node->full_name); +dev_warn (dev,"no endpoint defined for node: %pOF\n" , node);return 0 ; }drivers/media/i2c/s5k5baf.c +3
-4@@ -1863,8 +1863,7 @@ static int s5k5baf_parse_device_node(struct s5k5baf *state, struct device *dev) node_ep =of_graph_get_next_endpoint (node,NULL );if (!node_ep) { -dev_err (dev,"no endpoint defined at node %s\n" , - node->full_name); +dev_err (dev,"no endpoint defined at node %pOF\n" , node);return -EINVAL ; }@@ -1882,8 +1881,8 @@ static int s5k5baf_parse_device_node(struct s5k5baf *state, struct device *dev)case V4L2_MBUS_PARALLEL :break ;default : -dev_err (dev,"unsupported bus in endpoint defined at node %s\n" , - node->full_name); +dev_err (dev,"unsupported bus in endpoint defined at node %pOF\n" , + node);return -EINVAL ; }drivers/media/platform/am437x/am437x-vpfe.c +2
-2@@ -2490,8 +2490,8 @@ vpfe_get_pdata(struct platform_device *pdev) rem =of_graph_get_remote_port_parent (endpoint);if (!rem) { -dev_err (&pdev->dev,"Remote device at %s not found\n" , - endpoint->full_name); +dev_err (&pdev->dev,"Remote device at %pOF not found\n" , + endpoint); goto done; }drivers/media/platform/atmel/atmel-isc.c +2
-2@@ -1700,8 +1700,8 @@ static int isc_parse_dt(struct device *dev, struct isc_device *isc) rem =of_graph_get_remote_port_parent (epn);if (!rem) { -dev_notice (dev,"Remote device at %s not found\n" , -of_node_full_name (epn)); +dev_notice (dev,"Remote device at %pOF not found\n" , + epn);continue ; }drivers/media/platform/davinci/vpif_capture.c +8
-8@@ -1397,9 +1397,9 @@ static int vpif_async_bound(struct v4l2_async_notifier *notifier, vpif_obj.config->chan_config->inputs[i].subdev_name = (char *)to_of_node (subdev->fwnode)->full_name;vpif_dbg (2 , debug, -"%s: setting input %d subdev_name = %s\n" , +"%s: setting input %d subdev_name = %pOF\n" , __func__, i, -to_of_node (subdev->fwnode)->full_name); +to_of_node (subdev->fwnode));return 0 ; } }@@ -1557,8 +1557,8 @@ vpif_capture_get_pdata(struct platform_device *pdev)dev_err (&pdev->dev,"Could not parse the endpoint\n" ); goto done; } -dev_dbg (&pdev->dev,"Endpoint %s, bus_width = %d\n" , - endpoint->full_name, bus_cfg.bus.parallel.bus_width); +dev_dbg (&pdev->dev,"Endpoint %pOF, bus_width = %d\n" , + endpoint, bus_cfg.bus.parallel.bus_width); flags = bus_cfg.bus.parallel.flags;if (flags &V4L2_MBUS_HSYNC_ACTIVE_HIGH )@@ -1569,13 +1569,13 @@ vpif_capture_get_pdata(struct platform_device *pdev) rem =of_graph_get_remote_port_parent (endpoint);if (!rem) { -dev_dbg (&pdev->dev,"Remote device at %s not found\n" , - endpoint->full_name); +dev_dbg (&pdev->dev,"Remote device at %pOF not found\n" , + endpoint); goto done; } -dev_dbg (&pdev->dev,"Remote device %s, %s found\n" , - rem->name, rem->full_name); +dev_dbg (&pdev->dev,"Remote device %s, %pOF found\n" , + rem->name, rem); sdinfo->name = rem->full_name; pdata->asd[i] = devm_kzalloc(&pdev->dev,drivers/media/platform/exynos4-is/fimc-is.c +4
-4@@ -174,8 +174,8 @@ static int fimc_is_parse_sensor_config(struct fimc_is *is, unsigned int index, sensor->drvdata =fimc_is_sensor_get_drvdata (node);if (!sensor->drvdata) { -dev_err (&is->pdev->dev,"no driver data found for: %s\n" , - node->full_name); +dev_err (&is->pdev->dev,"no driver data found for: %pOF\n" , + node);return -EINVAL ; }@@ -191,8 +191,8 @@ static int fimc_is_parse_sensor_config(struct fimc_is *is, unsigned int index,/* Use MIPI-CSIS channel id to determine the ISP I2C bus index. */ ret =of_property_read_u32 (port,"reg" , &tmp);if (ret <0 ) { -dev_err (&is->pdev->dev,"reg property not found at: %s\n" , - port->full_name); +dev_err (&is->pdev->dev,"reg property not found at: %pOF\n" , + port);of_node_put (port);return ret; }drivers/media/platform/exynos4-is/fimc-lite.c +1
-2@@ -1493,8 +1493,7 @@ static int fimc_lite_probe(struct platform_device *pdev)if (!drv_data || fimc->index >= drv_data->num_instances || fimc->index <0 ) { -dev_err (dev,"Wrong %s node alias\n" , - dev->of_node->full_name); +dev_err (dev,"Wrong %pOF node alias\n" , dev->of_node);return -EINVAL ; }drivers/media/platform/exynos4-is/media-dev.c +4
-4@@ -412,8 +412,8 @@ static int fimc_md_parse_port_node(struct fimc_md *fmd, rem =of_graph_get_remote_port_parent (ep);of_node_put (ep);if (rem ==NULL ) { -v4l2_info (&fmd->v4l2_dev,"Remote device at %s not found\n" , - ep->full_name); +v4l2_info (&fmd->v4l2_dev,"Remote device at %pOF not found\n" , + ep);return 0 ; }@@ -430,8 +430,8 @@ static int fimc_md_parse_port_node(struct fimc_md *fmd,*/ pd->sensor_bus_type =FIMC_BUS_TYPE_MIPI_CSI2 ; }else { -v4l2_err (&fmd->v4l2_dev,"Wrong port id (%u) at node %s\n" , - endpoint.base.port, rem->full_name); +v4l2_err (&fmd->v4l2_dev,"Wrong port id (%u) at node %pOF\n" , + endpoint.base.port, rem); }/* * For FIMC-IS handled sensors, that are placed under i2c-isp device drivers/media/platform/exynos4-is/mipi-csis.c +2
-2@@ -730,8 +730,8 @@ static int s5pcsis_parse_dt(struct platform_device *pdev, node =of_graph_get_next_endpoint (node,NULL );if (!node) { -dev_err (&pdev->dev,"No port node at %s\n" , - pdev->dev.of_node->full_name); +dev_err (&pdev->dev,"No port node at %pOF\n" , + pdev->dev.of_node);return -EINVAL ; }/* Get port node and validate MIPI-CSI channel id. */ drivers/media/platform/mtk-mdp/mtk_mdp_comp.c +2
-4@@ -134,15 +134,13 @@ int mtk_mdp_comp_init(struct device *dev, struct device_node *node, larb_node =of_parse_phandle (node,"mediatek,larb" ,0 );if (!larb_node) {dev_err (dev, -"Missing mediadek,larb phandle in %s node\n" , - node->full_name); +"Missing mediadek,larb phandle in %pOF node\n" , node);return -EINVAL ; } larb_pdev =of_find_device_by_node (larb_node);if (!larb_pdev) { -dev_warn (dev,"Waiting for larb device %s\n" , - larb_node->full_name); +dev_warn (dev,"Waiting for larb device %pOF\n" , larb_node);of_node_put (larb_node);return -EPROBE_DEFER ; }drivers/media/platform/mtk-mdp/mtk_mdp_core.c +4
-4@@ -137,16 +137,16 @@ static int mtk_mdp_probe(struct platform_device *pdev)continue ;if (!of_device_is_available (node)) { -dev_err (dev,"Skipping disabled component %s\n" , - node->full_name); +dev_err (dev,"Skipping disabled component %pOF\n" , + node);continue ; } comp_type = (enum mtk_mdp_comp_type )of_id->data; comp_id =mtk_mdp_comp_get_id (dev, node, comp_type);if (comp_id <0 ) { -dev_warn (dev,"Skipping unknown component %s\n" , - node->full_name); +dev_warn (dev,"Skipping unknown component %pOF\n" , + node);continue ; }drivers/media/platform/omap3isp/isp.c +4
-4@@ -2020,8 +2020,8 @@ static int isp_fwnode_parse(struct device *dev, struct fwnode_handle *fwnode,if (ret)return ret; -dev_dbg (dev,"parsing endpoint %s, interface %u\n" , -to_of_node (fwnode)->full_name, vep.base.port); +dev_dbg (dev,"parsing endpoint %pOF, interface %u\n" , +to_of_node (fwnode), vep.base.port);switch (vep.base.port) {case ISP_OF_PHY_PARALLEL :@@ -2078,8 +2078,8 @@ static int isp_fwnode_parse(struct device *dev, struct fwnode_handle *fwnode,break ;default : -dev_warn (dev,"%s: invalid interface %u\n" , -to_of_node (fwnode)->full_name, vep.base.port); +dev_warn (dev,"%pOF: invalid interface %u\n" , +to_of_node (fwnode), vep.base.port);break ; }drivers/media/platform/pxa_camera.c +1
-1@@ -2328,7 +2328,7 @@ static int pxa_camera_pdata_from_dt(struct device *dev, asd->match.fwnode.fwnode =of_fwnode_handle (remote);of_node_put (remote); }else { -dev_notice (dev,"no remote for %s\n" ,of_node_full_name (np)); +dev_notice (dev,"no remote for %pOF\n" , np); } out:drivers/media/platform/rcar-vin/rcar-core.c +2
-2@@ -222,8 +222,8 @@ static int rvin_digital_graph_init(struct rvin_dev *vin) subdevs[0 ] = &vin->digital.asd; -vin_dbg (vin,"Found digital subdevice %s\n" , -of_node_full_name (to_of_node (subdevs[0 ]->match.fwnode.fwnode))); +vin_dbg (vin,"Found digital subdevice %pOF\n" , +to_of_node (subdevs[0 ]->match.fwnode.fwnode)); vin->notifier.num_subdevs =1 ; vin->notifier.subdevs = subdevs;drivers/media/platform/soc_camera/soc_camera.c +2
-4@@ -1550,8 +1550,7 @@ static int soc_of_bind(struct soc_camera_host *ici,v4l2_clk_name_i2c (clk_name,sizeof (clk_name), client->adapter->nr, client->addr); else - v4l2_clk_name_of(clk_name, sizeof(clk_name), -of_node_full_name (remote )); + v4l2_clk_name_of(clk_name, sizeof(clk_name), remote); icd->clk =v4l2_clk_register (&soc_camera_clk_ops, clk_name, icd);if (IS_ERR (icd->clk)) {@@ -1590,8 +1589,7 @@ static void scan_of_host(struct soc_camera_host *ici) ren =of_graph_get_remote_port (epn);if (!ren) { -dev_notice (dev,"no remote for %s\n" , -of_node_full_name (epn)); +dev_notice (dev,"no remote for %pOF\n" , epn);continue ; }drivers/media/platform/xilinx/xilinx-vipp.c +25
-27@@ -90,12 +90,12 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev,of_node_put (ep); ep = next; -dev_dbg (xdev->dev,"processing endpoint %s\n" , ep->full_name); +dev_dbg (xdev->dev,"processing endpoint %pOF\n" , ep); ret =v4l2_fwnode_parse_link (of_fwnode_handle (ep), &link);if (ret <0 ) { -dev_err (xdev->dev,"failed to parse link for %s\n" , - ep->full_name); +dev_err (xdev->dev,"failed to parse link for %pOF\n" , + ep);continue ; }@@ -103,9 +103,9 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev,* the link. */ if (link.local_port >= local->num_pads) { -dev_err (xdev->dev,"invalid port number %u for %s\n" , +dev_err (xdev->dev,"invalid port number %u for %pOF\n" , link.local_port, -to_of_node (link.local_node)->full_name); +to_of_node (link.local_node));v4l2_fwnode_put_link (&link); ret = -EINVAL ;break ;@@ -114,8 +114,8 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev, local_pad = &local->pads[link.local_port];if (local_pad->flags &MEDIA_PAD_FL_SINK ) { -dev_dbg (xdev->dev,"skipping sink port %s:%u\n" , -to_of_node (link.local_node)->full_name, +dev_dbg (xdev->dev,"skipping sink port %pOF:%u\n" , +to_of_node (link.local_node), link.local_port);v4l2_fwnode_put_link (&link);continue ;@@ -123,8 +123,8 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev,/* Skip DMA engines, they will be processed separately. */ if (link.remote_node ==of_fwnode_handle (xdev->dev->of_node)) { -dev_dbg (xdev->dev,"skipping DMA port %s:%u\n" , -to_of_node (link.local_node)->full_name, +dev_dbg (xdev->dev,"skipping DMA port %pOF:%u\n" , +to_of_node (link.local_node), link.local_port);v4l2_fwnode_put_link (&link);continue ;@@ -134,8 +134,8 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev, ent =xvip_graph_find_entity (xdev,to_of_node (link.remote_node));if (ent ==NULL ) { -dev_err (xdev->dev,"no entity found for %s\n" , -to_of_node (link.remote_node)->full_name); +dev_err (xdev->dev,"no entity found for %pOF\n" , +to_of_node (link.remote_node));v4l2_fwnode_put_link (&link); ret = -ENODEV ;break ;@@ -144,9 +144,8 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev, remote = ent->entity;if (link.remote_port >= remote->num_pads) { -dev_err (xdev->dev,"invalid port number %u on %s\n" , - link.remote_port, -to_of_node (link.remote_node)->full_name); +dev_err (xdev->dev,"invalid port number %u on %pOF\n" , + link.remote_port, link.remote_node);v4l2_fwnode_put_link (&link); ret = -EINVAL ;break ;@@ -216,12 +215,12 @@ static int xvip_graph_build_dma(struct xvip_composite_device *xdev)of_node_put (ep); ep = next; -dev_dbg (xdev->dev,"processing endpoint %s\n" , ep->full_name); +dev_dbg (xdev->dev,"processing endpoint %pOF\n" , ep); ret =v4l2_fwnode_parse_link (of_fwnode_handle (ep), &link);if (ret <0 ) { -dev_err (xdev->dev,"failed to parse link for %s\n" , - ep->full_name); +dev_err (xdev->dev,"failed to parse link for %pOF\n" , + ep);continue ; }@@ -242,17 +241,17 @@ static int xvip_graph_build_dma(struct xvip_composite_device *xdev) ent =xvip_graph_find_entity (xdev,to_of_node (link.remote_node));if (ent ==NULL ) { -dev_err (xdev->dev,"no entity found for %s\n" , -to_of_node (link.remote_node)->full_name); +dev_err (xdev->dev,"no entity found for %pOF\n" , +to_of_node (link.remote_node));v4l2_fwnode_put_link (&link); ret = -ENODEV ;break ; }if (link.remote_port >= ent->entity->num_pads) { -dev_err (xdev->dev,"invalid port number %u on %s\n" , +dev_err (xdev->dev,"invalid port number %u on %pOF\n" , link.remote_port, -to_of_node (link.remote_node)->full_name); +to_of_node (link.remote_node));v4l2_fwnode_put_link (&link); ret = -EINVAL ;break ;@@ -337,8 +336,8 @@ static int xvip_graph_notify_bound(struct v4l2_async_notifier *notifier,continue ;if (entity->subdev) { -dev_err (xdev->dev,"duplicate subdev for node %s\n" , - entity->node->full_name); +dev_err (xdev->dev,"duplicate subdev for node %pOF\n" , + entity->node);return -EINVAL ; }@@ -360,14 +359,14 @@ static int xvip_graph_parse_one(struct xvip_composite_device *xdev,struct device_node *ep =NULL ;int ret =0 ; -dev_dbg (xdev->dev,"parsing node %s\n" , node->full_name); +dev_dbg (xdev->dev,"parsing node %pOF\n" , node);while (1 ) { ep =of_graph_get_next_endpoint (node, ep);if (ep ==NULL )break ; -dev_dbg (xdev->dev,"handling endpoint %s\n" , ep->full_name); +dev_dbg (xdev->dev,"handling endpoint %pOF\n" , ep); remote =of_graph_get_remote_port_parent (ep);if (remote ==NULL ) {@@ -452,8 +451,7 @@ static int xvip_graph_dma_init_one(struct xvip_composite_device *xdev, ret =xvip_dma_init (xdev, dma, type, index);if (ret <0 ) { -dev_err (xdev->dev,"%s initialization failed\n" , - node->full_name); +dev_err (xdev->dev,"%pOF initialization failed\n" , node);return ret; }drivers/media/v4l2-core/v4l2-async.c +1
-3@@ -47,9 +47,7 @@ static bool match_fwnode(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd)if (!is_of_node (sd->fwnode) || !is_of_node (asd->match.fwnode.fwnode))return sd->fwnode == asd->match.fwnode.fwnode; -return !of_node_cmp (of_node_full_name (to_of_node (sd->fwnode)), -of_node_full_name ( -to_of_node (asd->match.fwnode.fwnode))); +return to_of_node (sd->fwnode) ==to_of_node (asd->match.fwnode.fwnode); }static bool match_custom (struct v4l2_subdev *sd,struct v4l2_async_subdev *asd)drivers/media/v4l2-core/v4l2-clk.c +1
-2@@ -61,8 +61,7 @@ struct v4l2_clk *v4l2_clk_get(struct device *dev, const char *id)/* if dev_name is not found, try use the OF name to find again */ if (PTR_ERR (clk) == -ENODEV && dev->of_node) { -v4l2_clk_name_of (clk_name,sizeof (clk_name), -of_node_full_name (dev->of_node)); +v4l2_clk_name_of (clk_name,sizeof (clk_name), dev->of_node); clk =v4l2_clk_find (clk_name); }include/media/v4l2-clk.h +2
-3@@ -70,7 +70,7 @@ static inline struct v4l2_clk *v4l2_clk_register_fixed(const char *dev_id,#define v4l2_clk_name_i2c (name, size, adap, client) snprintf(name, size, \ "%d-%04x", adap, client) -#define v4l2_clk_name_of (name, size, of_full_name) snprintf(name, size, \ - "of-%s", of_full_name) +#define v4l2_clk_name_of (name, size, node) snprintf(name, size, \ + "of-%pOF", node)#endif --2.11.0
Signature · 2 lines
Regards, Niklas S?derlund
Hi Rob,
Thank you for the patch.
Quoted 42 lines · On Tuesday 18 Jul 2017 16:43:13 Rob Herring wrote:
Now that we have a custom printf format specifier, convert users of
full_nameto use %pOF instead. This is preparation to remove storing of the full path string for each node.Signed-off-by Rob Herring <[email protected]>Cc Kyungmin Park <[email protected]>Cc Andrzej Hajda <[email protected]>Cc Mauro Carvalho Chehab <[email protected]>Cc "Lad, Prabhakar" <[email protected]>Cc Songjun Wu <[email protected]>Cc Sylwester Nawrocki <[email protected]>Cc Kukjin Kim <[email protected]>Cc Krzysztof Kozlowski <[email protected]>Cc Javier Martinez Canillas <[email protected]>Cc Minghsiu Tsai <[email protected]>Cc Houlong Wei <[email protected]>Cc Andrew-CT Chen <[email protected]>Cc Matthias Brugger <[email protected]>Cc Laurent Pinchart <[email protected]>Cc "Niklas Söderlund" <[email protected]>Cc Guennadi Liakhovetski <[email protected]>Cc Hyun Kwon <[email protected]>Cc Michal Simek <[email protected]>Cc "Sören Brinkmann" <[email protected]>--- drivers/media/i2c/s5c73m3/s5c73m3-core.c | 3 +- drivers/media/i2c/s5k5baf.c | 7 ++-- drivers/media/platform/am437x/am437x-vpfe.c | 4 +- drivers/media/platform/atmel/atmel-isc.c | 4 +- drivers/media/platform/davinci/vpif_capture.c | 16 ++++---- drivers/media/platform/exynos4-is/fimc-is.c | 8 ++-- drivers/media/platform/exynos4-is/fimc-lite.c | 3 +- drivers/media/platform/exynos4-is/media-dev.c | 8 ++-- drivers/media/platform/exynos4-is/mipi-csis.c | 4 +- drivers/media/platform/mtk-mdp/mtk_mdp_comp.c | 6 +-- drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 8 ++-- drivers/media/platform/omap3isp/isp.c | 8 ++--
Quoted 8 lines
drivers/media/platform/pxa_camera.c | 2 +- drivers/media/platform/rcar-vin/rcar-core.c | 4 +- drivers/media/platform/soc_camera/soc_camera.c | 6 +-- drivers/media/platform/xilinx/xilinx-vipp.c | 52 +++++++++++----------- drivers/media/v4l2-core/v4l2-async.c | 4 +- drivers/media/v4l2-core/v4l2-clk.c | 3 +- include/media/v4l2-clk.h | 4 +- 19 files changed, 71 insertions(+), 83 deletions(-)
For omap3isp and xilinx,
Signature · 3 lines
Regards, Laurent Pinchart
Sylwester Nawrocki
maintainerQuoted 34 lines · Rob Herring
Now that we have a custom printf format specifier, convert users of
full_nameto use %pOF instead. This is preparation to remove storing of the full path string for each node.Signed-off-by Rob Herring <[email protected]>--- drivers/media/i2c/s5c73m3/s5c73m3-core.c | 3 +- drivers/media/i2c/s5k5baf.c | 7 ++-- drivers/media/platform/am437x/am437x-vpfe.c | 4 +- drivers/media/platform/atmel/atmel-isc.c | 4 +- drivers/media/platform/davinci/vpif_capture.c | 16 ++++---- drivers/media/platform/exynos4-is/fimc-is.c | 8 ++-- drivers/media/platform/exynos4-is/fimc-lite.c | 3 +- drivers/media/platform/exynos4-is/media-dev.c | 8 ++-- drivers/media/platform/exynos4-is/mipi-csis.c | 4 +- drivers/media/platform/mtk-mdp/mtk_mdp_comp.c | 6 +-- drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 8 ++-- drivers/media/platform/omap3isp/isp.c | 8 ++-- drivers/media/platform/pxa_camera.c | 2 +- drivers/media/platform/rcar-vin/rcar-core.c | 4 +- drivers/media/platform/soc_camera/soc_camera.c | 6 +-- drivers/media/platform/xilinx/xilinx-vipp.c | 52 +++++++++++++------------- drivers/media/v4l2-core/v4l2-async.c | 4 +- drivers/media/v4l2-core/v4l2-clk.c | 3 +- include/media/v4l2-clk.h | 4 +- 19 files changed, 71 insertions(+), 83 deletions(-)drivers/media/platform/xilinx/xilinx-vipp.c +0
-0
drivers/media/platform/xilinx/xilinx-vipp.c static int xvip_graph_build_one(struct xvip_composite_device *xdev, · line 148
Quoted 8 lines
drivers/media/platform/xilinx/xilinx-vipp.c +2
-3@@ -144,9 +144,8 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev, remote = ent->entity;if (link.remote_port >= remote->num_pads) { -dev_err (xdev->dev,"invalid port number %u on %s\n" , - link.remote_port, -to_of_node (link.remote_node)->full_name); +dev_err (xdev->dev,"invalid port number %u on %pOF\n" , + link.remote_port, link.remote_node);
Shouldn't there be to_of_node(link.remote_node) instead of link.remote_node ?
Quoted 22 lines
drivers/media/platform/xilinx/xilinx-vipp.c +2
-2v4l2_fwnode_put_link (&link); ret = -EINVAL ;break ;@@ -242,17 +241,17 @@ static int xvip_graph_build_dma(struct xvip_composite_device *xdev) ent =xvip_graph_find_entity (xdev,to_of_node (link.remote_node));if (ent ==NULL ) { -dev_err (xdev->dev,"no entity found for %s\n" , -to_of_node (link.remote_node)->full_name); +dev_err (xdev->dev,"no entity found for %pOF\n" , +to_of_node (link.remote_node));v4l2_fwnode_put_link (&link); ret = -ENODEV ;break ; }drivers/media/v4l2-core/v4l2-async.c +0
-0
drivers/media/v4l2-core/v4l2-async.c static bool match_fwnode(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) · line 50
Quoted 7 lines
drivers/media/v4l2-core/v4l2-async.c +1
-3@@ -47,9 +47,7 @@ static bool match_fwnode(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd)if (!is_of_node (sd->fwnode) || !is_of_node (asd->match.fwnode.fwnode))return sd->fwnode == asd->match.fwnode.fwnode; -return !of_node_cmp (of_node_full_name (to_of_node (sd->fwnode)), -of_node_full_name ( -to_of_node (asd->match.fwnode.fwnode))); +return to_of_node (sd->fwnode) ==to_of_node (asd->match.fwnode.fwnode);
I'm afraid this will not work, please see commit d2180e0cf77dc7a7049671d5d57d "[media] v4l: async: make v4l2 coexist with devicetree nodes in a dt overlay"
--
Regards,
Sylwester
Laurent Pinchart
maintainerHi Sylwester,
Quoted 30 lines · On Wednesday 19 Jul 2017 11:41:37 Sylwester Nawrocki wrote:
Quoted 29 lines · Rob Herring
Now that we have a custom printf format specifier, convert users of
full_nameto use %pOF instead. This is preparation to remove storing of the full path string for each node.Signed-off-by Rob Herring <[email protected]>---
drivers/media/i2c/s5c73m3/s5c73m3-core.c | 3 +- drivers/media/i2c/s5k5baf.c | 7 ++-- drivers/media/platform/am437x/am437x-vpfe.c | 4 +- drivers/media/platform/atmel/atmel-isc.c | 4 +- drivers/media/platform/davinci/vpif_capture.c | 16 ++++---- drivers/media/platform/exynos4-is/fimc-is.c | 8 ++-- drivers/media/platform/exynos4-is/fimc-lite.c | 3 +- drivers/media/platform/exynos4-is/media-dev.c | 8 ++-- drivers/media/platform/exynos4-is/mipi-csis.c | 4 +- drivers/media/platform/mtk-mdp/mtk_mdp_comp.c | 6 +-- drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 8 ++-- drivers/media/platform/omap3isp/isp.c | 8 ++-- drivers/media/platform/pxa_camera.c | 2 +- drivers/media/platform/rcar-vin/rcar-core.c | 4 +- drivers/media/platform/soc_camera/soc_camera.c | 6 +-- drivers/media/platform/xilinx/xilinx-vipp.c | 52 ++++++++++---------- drivers/media/v4l2-core/v4l2-async.c | 4 +- drivers/media/v4l2-core/v4l2-clk.c | 3 +- include/media/v4l2-clk.h | 4 +- 19 files changed, 71 insertions(+), 83 deletions(-)
Quoted 16 lines
Quoted 6 lines
(quoted diff) +0
-0
b/drivers/media/platform/xilinx/xilinx-vipp.cindexac4704388920..9233ad0b1b6b100644drivers/media/platform/xilinx/xilinx-vipp.c static int xvip_graph_build_one(struct · line 148
Quoted 8 lines
drivers/media/platform/xilinx/xilinx-vipp.c +2
-3@@ -144,9 +144,8 @@ static int xvip_graph_build_one(structxvip_composite_device *xdev, remote = ent->entity;if (link.remote_port >= remote->num_pads) { -dev_err (xdev->dev,"invalid port number %u on %s\n" , - link.remote_port, -to_of_node (link.remote_node)->full_name); +dev_err (xdev->dev,"invalid port number %u on %pOF\n" , + link.remote_port, link.remote_node);Shouldn't there be
to_of_node(link.remote_node)instead of link.remote_node
?
Good catch, I had missed that one.
Quoted 3 lines
Quoted 3 lines
drivers/media/platform/xilinx/xilinx-vipp.c +0
-0v4l2_fwnode_put_link (&link); ret = -EINVAL ;break ;
[snip]
Signature · 3 lines
Regards, Laurent Pinchart
Quoted 37 lines · Sylwester Nawrocki
Quoted 36 lines · Rob Herring
Now that we have a custom printf format specifier, convert users of
full_nameto use %pOF instead. This is preparation to remove storing of the full path string for each node.Signed-off-by Rob Herring <[email protected]>--- drivers/media/i2c/s5c73m3/s5c73m3-core.c | 3 +- drivers/media/i2c/s5k5baf.c | 7 ++-- drivers/media/platform/am437x/am437x-vpfe.c | 4 +- drivers/media/platform/atmel/atmel-isc.c | 4 +- drivers/media/platform/davinci/vpif_capture.c | 16 ++++---- drivers/media/platform/exynos4-is/fimc-is.c | 8 ++-- drivers/media/platform/exynos4-is/fimc-lite.c | 3 +- drivers/media/platform/exynos4-is/media-dev.c | 8 ++-- drivers/media/platform/exynos4-is/mipi-csis.c | 4 +- drivers/media/platform/mtk-mdp/mtk_mdp_comp.c | 6 +-- drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 8 ++-- drivers/media/platform/omap3isp/isp.c | 8 ++-- drivers/media/platform/pxa_camera.c | 2 +- drivers/media/platform/rcar-vin/rcar-core.c | 4 +- drivers/media/platform/soc_camera/soc_camera.c | 6 +-- drivers/media/platform/xilinx/xilinx-vipp.c | 52 +++++++++++++------------- drivers/media/v4l2-core/v4l2-async.c | 4 +- drivers/media/v4l2-core/v4l2-clk.c | 3 +- include/media/v4l2-clk.h | 4 +- 19 files changed, 71 insertions(+), 83 deletions(-)drivers/media/platform/xilinx/xilinx-vipp.c +0
-0@@ -144,9 +144,8 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev, remote = ent->entity;
Quoted 8 lines
drivers/media/platform/xilinx/xilinx-vipp.c static int xvip_graph_build_one(struct xvip_composite_device *xdev, · line 148
Quoted 6 lines
drivers/media/platform/xilinx/xilinx-vipp.c +2
-3if (link.remote_port >= remote->num_pads) { -dev_err (xdev->dev,"invalid port number %u on %s\n" , - link.remote_port, -to_of_node (link.remote_node)->full_name); +dev_err (xdev->dev,"invalid port number %u on %pOF\n" , + link.remote_port, link.remote_node);Shouldn't there be
to_of_node(link.remote_node)instead of link.remote_node ?
Humm, yes. I thought I fixed that.
Quoted 26 lines
Quoted 26 lines
drivers/media/platform/xilinx/xilinx-vipp.c +2
-2v4l2_fwnode_put_link (&link); ret = -EINVAL ;break ;@@ -242,17 +241,17 @@ static int xvip_graph_build_dma(struct xvip_composite_device *xdev) ent =xvip_graph_find_entity (xdev,to_of_node (link.remote_node));if (ent ==NULL ) { -dev_err (xdev->dev,"no entity found for %s\n" , -to_of_node (link.remote_node)->full_name); +dev_err (xdev->dev,"no entity found for %pOF\n" , +to_of_node (link.remote_node));v4l2_fwnode_put_link (&link); ret = -ENODEV ;break ; }drivers/media/v4l2-core/v4l2-async.c +0
-0@@ -47,9 +47,7 @@ static bool match_fwnode(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd)if (!is_of_node (sd->fwnode) || !is_of_node (asd->match.fwnode.fwnode))return sd->fwnode == asd->match.fwnode.fwnode;
Quoted 7 lines
drivers/media/v4l2-core/v4l2-async.c static bool match_fwnode(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) · line 50
Quoted 4 lines
drivers/media/v4l2-core/v4l2-async.c +1
-3-return !of_node_cmp (of_node_full_name (to_of_node (sd->fwnode)), -of_node_full_name ( -to_of_node (asd->match.fwnode.fwnode))); +return to_of_node (sd->fwnode) ==to_of_node (asd->match.fwnode.fwnode);I'm afraid this will not work, please see commit
d2180e0cf77dc7a7049671d5d57d"[media] v4l: async: make v4l2 coexist with devicetree nodes in a dt overlay"
Maybe I'm missing something, but how does that work exactly? Before the overlay is applied, the remote endpoint node (and its parent) can't be resolved. In the commit example, the endpoint in the media_bridge would also have to be part of the overlay. If you apply and un-apply the overlay, then the of_node (and fw_node) in the overlay is once again invalid. IOW, you should be in the same state as before the overlay was applied. The node is still around because of paranoia that actually freeing nodes would break things. It seems this paranoia is real, so i think we need to do something to prevent this from spreading.
Furthermore, it does not appear that any media driver supports overlays and we have no general way to apply them in mainline yet (other than an in kernel API). So really this scenario is not one we have to support yet.
Rob
Quoted 10 lines · Rob Herring
Quoted 8 lines · Sylwester Nawrocki
Quoted 7 lines · Rob Herring
Now that we have a custom printf format specifier, convert users of
full_nameto use %pOF instead. This is preparation to remove storing of the full path string for each node.Signed-off-by Rob Herring <[email protected]>---
< snip >
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
drivers/media/v4l2-core/v4l2-async.c +0
-0@@ -47,9 +47,7 @@ static bool match_fwnode(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd)if (!is_of_node (sd->fwnode) || !is_of_node (asd->match.fwnode.fwnode))return sd->fwnode == asd->match.fwnode.fwnode;
Quoted 7 lines
Quoted 7 lines
drivers/media/v4l2-core/v4l2-async.c static bool match_fwnode(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) · line 50
Quoted 4 lines
drivers/media/v4l2-core/v4l2-async.c +1
-3-return !of_node_cmp (of_node_full_name (to_of_node (sd->fwnode)), -of_node_full_name ( -to_of_node (asd->match.fwnode.fwnode))); +return to_of_node (sd->fwnode) ==to_of_node (asd->match.fwnode.fwnode);I'm afraid this will not work, please see commit
d2180e0cf77dc7a7049671d5d57d"[media] v4l: async: make v4l2 coexist with devicetree nodes in a dt overlay"
Commit d2180e0cf77dc7a7049671d5d57d seems to have a fundamental misunderstanding of overlays, if I understand the implications of that commit.
When an overlay (1) is removed, all uses and references to the nodes and properties in that overlay are no longer valid. Any driver that uses any information from the overlay _must_ stop using any data from the overlay. Any driver that is bound to a new node in the overlay _must_ unbind. Any driver that became bound to a pre-existing node that was modified by the overlay (became bound after the overlay was applied) _must_ adjust itself to account for any changes to that node when the overlay is removed. One way to do this is to unbind when notified that the overlay is about to be removed, then to re-bind after the overlay is completely removed.
If an overlay (2) is subsequently applied, a node with the same full_name as from overlay (1) may exist. There is no guarantee that overlay (1) and overlay (2) are the same overlay, even if that node has the same full_name in both cases.
Quoted 10 lines
Maybe I'm missing something, but how does that work exactly? Before the overlay is applied, the remote endpoint node (and its parent) can't be resolved. In the commit example, the endpoint in the
media_bridgewould also have to be part of the overlay. If you apply and un-apply the overlay, then theof_node(andfw_node) in the overlay is once again invalid. IOW, you should be in the same state as before the overlay was applied. The node is still around because of paranoia that actually freeing nodes would break things. It seems this paranoia is real, so i think we need to do something to prevent this from spreading.
My understanding is that nodes from an un-applied overlay will be freed if the expanded device tree that was used to create it has its reference counts drop to zero. But I wouldn't count on me remembering this correctly without actually walking through all the code. And as far as I know, there is no example of this in the mainline tree.
Quoted 7 lines
Furthermore, it does not appear that any media driver supports overlays and we have no general way to apply them in mainline yet (other than an in kernel API). So really this scenario is not one we have to support yet.
Rob
Sylwester Nawrocki
maintainerQuoted 27 lines · Rob Herring
Quoted 8 lines
Quoted 8 lines
drivers/media/v4l2-core/v4l2-async.c +0
-0@@ -47,9 +47,7 @@ static bool match_fwnode(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd)if (!is_of_node (sd->fwnode) || !is_of_node (asd->match.fwnode.fwnode))return sd->fwnode == asd->match.fwnode.fwnode;Quoted 7 lines
drivers/media/v4l2-core/v4l2-async.c static bool match_fwnode(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) · line 50
Quoted 4 lines
drivers/media/v4l2-core/v4l2-async.c +1
-3-return !of_node_cmp (of_node_full_name (to_of_node (sd->fwnode)), -of_node_full_name ( -to_of_node (asd->match.fwnode.fwnode))); +return to_of_node (sd->fwnode) ==to_of_node (asd->match.fwnode.fwnode);I'm afraid this will not work, please see commit
d2180e0cf77dc7a7049671d5d57d"[media] v4l: async: make v4l2 coexist with devicetree nodes in a dt overlay"Maybe I'm missing something, but how does that work exactly? Before the overlay is applied, the remote endpoint node (and its parent) can't be resolved. In the commit example, the endpoint in the
media_bridgewould also have to be part of the overlay. If you apply and un-apply the overlay, then theof_node(andfw_node) in the overlay is once again invalid. IOW, you should be in the same state as before the overlay was applied. The node is still around because of paranoia that actually freeing nodes would break things. It seems this paranoia is real, so i think we need to do something to prevent this from spreading.
Quoted 4 lines
Furthermore, it does not appear that any media driver supports overlays and we have no general way to apply them in mainline yet (other than an in kernel API). So really this scenario is not one we have to support yet.
Indeed, the motivation of the above mentioned commit was some out of tree driver. I don't know was the exact use case, assuming that the endpoint in the bridge node was also part of the overlay the bridge driver must have not been rescanning device tree after overlay un-apply and apply. Currently there is no other way to do this than to unbind and bind. So the bridge driver must have been referencing an already invalid node as you point out.
I haven't been following DT overlays very closely, as Frank explains your change seems to be actually an improvement of current code.
Signature · 2 lines
Thanks, Sylwester
Em Wed, 19 Jul 2017 11:02:01 -0500
Rob Herring <[email protected]> escreveu:
Quoted 48 lines
Quoted 37 lines · Sylwester Nawrocki
Quoted 36 lines · Rob Herring
Now that we have a custom printf format specifier, convert users of
full_nameto use %pOF instead. This is preparation to remove storing of the full path string for each node.Signed-off-by Rob Herring <[email protected]>--- drivers/media/i2c/s5c73m3/s5c73m3-core.c | 3 +- drivers/media/i2c/s5k5baf.c | 7 ++-- drivers/media/platform/am437x/am437x-vpfe.c | 4 +- drivers/media/platform/atmel/atmel-isc.c | 4 +- drivers/media/platform/davinci/vpif_capture.c | 16 ++++---- drivers/media/platform/exynos4-is/fimc-is.c | 8 ++-- drivers/media/platform/exynos4-is/fimc-lite.c | 3 +- drivers/media/platform/exynos4-is/media-dev.c | 8 ++-- drivers/media/platform/exynos4-is/mipi-csis.c | 4 +- drivers/media/platform/mtk-mdp/mtk_mdp_comp.c | 6 +-- drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 8 ++-- drivers/media/platform/omap3isp/isp.c | 8 ++-- drivers/media/platform/pxa_camera.c | 2 +- drivers/media/platform/rcar-vin/rcar-core.c | 4 +- drivers/media/platform/soc_camera/soc_camera.c | 6 +-- drivers/media/platform/xilinx/xilinx-vipp.c | 52 +++++++++++++------------- drivers/media/v4l2-core/v4l2-async.c | 4 +- drivers/media/v4l2-core/v4l2-clk.c | 3 +- include/media/v4l2-clk.h | 4 +- 19 files changed, 71 insertions(+), 83 deletions(-)drivers/media/platform/xilinx/xilinx-vipp.c +0
-0@@ -144,9 +144,8 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev, remote = ent->entity;Quoted 8 lines
drivers/media/platform/xilinx/xilinx-vipp.c static int xvip_graph_build_one(struct xvip_composite_device *xdev, · line 148
Quoted 6 lines
drivers/media/platform/xilinx/xilinx-vipp.c +2
-3if (link.remote_port >= remote->num_pads) { -dev_err (xdev->dev,"invalid port number %u on %s\n" , - link.remote_port, -to_of_node (link.remote_node)->full_name); +dev_err (xdev->dev,"invalid port number %u on %pOF\n" , + link.remote_port, link.remote_node);Shouldn't there be
to_of_node(link.remote_node)instead of link.remote_node ?
Quoted 1 line
Humm, yes. I thought I fixed that.
After such fix, I'm OK with this patch.
Are you planning to apply it on your tree, or via the media one?
I guess it is probably better to apply via media, in order to avoid conflicts with other changes.
Thanks,
Mauro
Quoted 51 lines · Mauro Carvalho Chehab
Em Wed, 19 Jul 2017 11:02:01 -0500
Rob Herring <[email protected]> escreveu:Quoted 48 lines
Quoted 45 lines · Sylwester Nawrocki
Quoted 34 lines · Rob Herring
Now that we have a custom printf format specifier, convert users of
full_nameto use %pOF instead. This is preparation to remove storing of the full path string for each node.Signed-off-by Rob Herring <[email protected]>--- drivers/media/i2c/s5c73m3/s5c73m3-core.c | 3 +- drivers/media/i2c/s5k5baf.c | 7 ++-- drivers/media/platform/am437x/am437x-vpfe.c | 4 +- drivers/media/platform/atmel/atmel-isc.c | 4 +- drivers/media/platform/davinci/vpif_capture.c | 16 ++++---- drivers/media/platform/exynos4-is/fimc-is.c | 8 ++-- drivers/media/platform/exynos4-is/fimc-lite.c | 3 +- drivers/media/platform/exynos4-is/media-dev.c | 8 ++-- drivers/media/platform/exynos4-is/mipi-csis.c | 4 +- drivers/media/platform/mtk-mdp/mtk_mdp_comp.c | 6 +-- drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 8 ++-- drivers/media/platform/omap3isp/isp.c | 8 ++-- drivers/media/platform/pxa_camera.c | 2 +- drivers/media/platform/rcar-vin/rcar-core.c | 4 +- drivers/media/platform/soc_camera/soc_camera.c | 6 +-- drivers/media/platform/xilinx/xilinx-vipp.c | 52 +++++++++++++------------- drivers/media/v4l2-core/v4l2-async.c | 4 +- drivers/media/v4l2-core/v4l2-clk.c | 3 +- include/media/v4l2-clk.h | 4 +- 19 files changed, 71 insertions(+), 83 deletions(-)drivers/media/platform/xilinx/xilinx-vipp.c +0
-0drivers/media/platform/xilinx/xilinx-vipp.c static int xvip_graph_build_one(struct xvip_composite_device *xdev, · line 148
Quoted 8 lines
drivers/media/platform/xilinx/xilinx-vipp.c +2
-3@@ -144,9 +144,8 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev, remote = ent->entity;if (link.remote_port >= remote->num_pads) { -dev_err (xdev->dev,"invalid port number %u on %s\n" , - link.remote_port, -to_of_node (link.remote_node)->full_name); +dev_err (xdev->dev,"invalid port number %u on %pOF\n" , + link.remote_port, link.remote_node);Shouldn't there be
to_of_node(link.remote_node)instead of link.remote_node ?
Quoted 3 lines
Quoted 1 line
Humm, yes. I thought I fixed that.
After such fix, I'm OK with this patch.
I'll send a new version.
I think I'll send a revert of the referenced commit. It won't apply cleanly, but at least it will capture the change in behavior and why it was wrong.
Quoted 4 lines
Are you planning to apply it on your tree, or via the media one?
I guess it is probably better to apply via media, in order to avoid conflicts with other changes.
Yes, you can take it.
Rob
Quoted 29 lines · Rob Herring
Now that we have a custom printf format specifier, convert users of
full_nameto use %pOF instead. This is preparation to remove storing of the full path string for each node.Signed-off-by Rob Herring <[email protected]>Cc Kyungmin Park <[email protected]>Cc Andrzej Hajda <[email protected]>Cc Mauro Carvalho Chehab <[email protected]>Cc "Lad, Prabhakar" <[email protected]>Cc Songjun Wu <[email protected]>Cc Sylwester Nawrocki <[email protected]>Cc Kukjin Kim <[email protected]>Cc Krzysztof Kozlowski <[email protected]>Cc Javier Martinez Canillas <[email protected]>Cc Minghsiu Tsai <[email protected]>Cc Houlong Wei <[email protected]>Cc Andrew-CT Chen <[email protected]>Cc Matthias Brugger <[email protected]>Cc Laurent Pinchart <[email protected]>Cc "Niklas S?derlund" <[email protected]>Cc Guennadi Liakhovetski <[email protected]>Cc Hyun Kwon <[email protected]>Cc Michal Simek <[email protected]>Cc "S?ren Brinkmann" <[email protected]>Cc linux-media at vger.kernel.orgCc linux-arm-kernel at lists.infradead.orgCc linux-samsung-soc at vger.kernel.orgCc linux-mediatek at lists.infradead.orgCc linux-renesas-soc at vger.kernel.org
Quoted 12 lines
--- drivers/media/i2c/s5c73m3/s5c73m3-core.c | 3 +- drivers/media/i2c/s5k5baf.c | 7 ++-- drivers/media/platform/am437x/am437x-vpfe.c | 4 +- drivers/media/platform/atmel/atmel-isc.c | 4 +- drivers/media/platform/davinci/vpif_capture.c | 16 ++++---- drivers/media/platform/exynos4-is/fimc-is.c | 8 ++-- drivers/media/platform/exynos4-is/fimc-lite.c | 3 +- drivers/media/platform/exynos4-is/media-dev.c | 8 ++-- drivers/media/platform/exynos4-is/mipi-csis.c | 4 +- drivers/media/platform/mtk-mdp/mtk_mdp_comp.c | 6 +-- drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 8 ++--
For mediatek parts:
Quoted 29 lines · Rob Herring
Now that we have a custom printf format specifier, convert users of
full_nameto use %pOF instead. This is preparation to remove storing of the full path string for each node.Signed-off-by Rob Herring <[email protected]>Cc Kyungmin Park <[email protected]>Cc Andrzej Hajda <[email protected]>Cc Mauro Carvalho Chehab <[email protected]>Cc "Lad, Prabhakar" <[email protected]>Cc Songjun Wu <[email protected]>Cc Sylwester Nawrocki <[email protected]>Cc Kukjin Kim <[email protected]>Cc Krzysztof Kozlowski <[email protected]>Cc Javier Martinez Canillas <[email protected]>Cc Minghsiu Tsai <[email protected]>Cc Houlong Wei <[email protected]>Cc Andrew-CT Chen <[email protected]>Cc Matthias Brugger <[email protected]>Cc Laurent Pinchart <[email protected]>Cc "Niklas Söderlund" <[email protected]>Cc Guennadi Liakhovetski <[email protected]>Cc Hyun Kwon <[email protected]>Cc Michal Simek <[email protected]>Cc "Sören Brinkmann" <[email protected]>
Quoted 5 lines
--- drivers/media/i2c/s5c73m3/s5c73m3-core.c | 3 +- drivers/media/i2c/s5k5baf.c | 7 ++-- drivers/media/platform/am437x/am437x-vpfe.c | 4 +- drivers/media/platform/atmel/atmel-isc.c | 4 +-
Instead of Songjun, here is my:
Quoted 542 lines
drivers/media/platform/davinci/vpif_capture.c | 16 ++++---- drivers/media/platform/exynos4-is/fimc-is.c | 8 ++-- drivers/media/platform/exynos4-is/fimc-lite.c | 3 +- drivers/media/platform/exynos4-is/media-dev.c | 8 ++-- drivers/media/platform/exynos4-is/mipi-csis.c | 4 +- drivers/media/platform/mtk-mdp/mtk_mdp_comp.c | 6 +-- drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 8 ++-- drivers/media/platform/omap3isp/isp.c | 8 ++-- drivers/media/platform/pxa_camera.c | 2 +- drivers/media/platform/rcar-vin/rcar-core.c | 4 +- drivers/media/platform/soc_camera/soc_camera.c | 6 +-- drivers/media/platform/xilinx/xilinx-vipp.c | 52 +++++++++++++------------- drivers/media/v4l2-core/v4l2-async.c | 4 +- drivers/media/v4l2-core/v4l2-clk.c | 3 +- include/media/v4l2-clk.h | 4 +- 19 files changed, 71 insertions(+), 83 deletions(-)drivers/media/i2c/s5c73m3/s5c73m3-core.c +1
-2@@ -1635,8 +1635,7 @@ static int s5c73m3_get_platform_data(struct s5c73m3 *state) node_ep =of_graph_get_next_endpoint (node,NULL );if (!node_ep) { -dev_warn (dev,"no endpoint defined for node: %s\n" , - node->full_name); +dev_warn (dev,"no endpoint defined for node: %pOF\n" , node);return 0 ; }drivers/media/i2c/s5k5baf.c +3
-4@@ -1863,8 +1863,7 @@ static int s5k5baf_parse_device_node(struct s5k5baf *state, struct device *dev) node_ep =of_graph_get_next_endpoint (node,NULL );if (!node_ep) { -dev_err (dev,"no endpoint defined at node %s\n" , - node->full_name); +dev_err (dev,"no endpoint defined at node %pOF\n" , node);return -EINVAL ; }@@ -1882,8 +1881,8 @@ static int s5k5baf_parse_device_node(struct s5k5baf *state, struct device *dev)case V4L2_MBUS_PARALLEL :break ;default : -dev_err (dev,"unsupported bus in endpoint defined at node %s\n" , - node->full_name); +dev_err (dev,"unsupported bus in endpoint defined at node %pOF\n" , + node);return -EINVAL ; }drivers/media/platform/am437x/am437x-vpfe.c +2
-2@@ -2490,8 +2490,8 @@ vpfe_get_pdata(struct platform_device *pdev) rem =of_graph_get_remote_port_parent (endpoint);if (!rem) { -dev_err (&pdev->dev,"Remote device at %s not found\n" , - endpoint->full_name); +dev_err (&pdev->dev,"Remote device at %pOF not found\n" , + endpoint); goto done; }drivers/media/platform/atmel/atmel-isc.c +2
-2@@ -1700,8 +1700,8 @@ static int isc_parse_dt(struct device *dev, struct isc_device *isc) rem =of_graph_get_remote_port_parent (epn);if (!rem) { -dev_notice (dev,"Remote device at %s not found\n" , -of_node_full_name (epn)); +dev_notice (dev,"Remote device at %pOF not found\n" , + epn);continue ; }drivers/media/platform/davinci/vpif_capture.c +8
-8@@ -1397,9 +1397,9 @@ static int vpif_async_bound(struct v4l2_async_notifier *notifier, vpif_obj.config->chan_config->inputs[i].subdev_name = (char *)to_of_node (subdev->fwnode)->full_name;vpif_dbg (2 , debug, -"%s: setting input %d subdev_name = %s\n" , +"%s: setting input %d subdev_name = %pOF\n" , __func__, i, -to_of_node (subdev->fwnode)->full_name); +to_of_node (subdev->fwnode));return 0 ; } }@@ -1557,8 +1557,8 @@ vpif_capture_get_pdata(struct platform_device *pdev)dev_err (&pdev->dev,"Could not parse the endpoint\n" ); goto done; } -dev_dbg (&pdev->dev,"Endpoint %s, bus_width = %d\n" , - endpoint->full_name, bus_cfg.bus.parallel.bus_width); +dev_dbg (&pdev->dev,"Endpoint %pOF, bus_width = %d\n" , + endpoint, bus_cfg.bus.parallel.bus_width); flags = bus_cfg.bus.parallel.flags;if (flags &V4L2_MBUS_HSYNC_ACTIVE_HIGH )@@ -1569,13 +1569,13 @@ vpif_capture_get_pdata(struct platform_device *pdev) rem =of_graph_get_remote_port_parent (endpoint);if (!rem) { -dev_dbg (&pdev->dev,"Remote device at %s not found\n" , - endpoint->full_name); +dev_dbg (&pdev->dev,"Remote device at %pOF not found\n" , + endpoint); goto done; } -dev_dbg (&pdev->dev,"Remote device %s, %s found\n" , - rem->name, rem->full_name); +dev_dbg (&pdev->dev,"Remote device %s, %pOF found\n" , + rem->name, rem); sdinfo->name = rem->full_name; pdata->asd[i] = devm_kzalloc(&pdev->dev,drivers/media/platform/exynos4-is/fimc-is.c +4
-4@@ -174,8 +174,8 @@ static int fimc_is_parse_sensor_config(struct fimc_is *is, unsigned int index, sensor->drvdata =fimc_is_sensor_get_drvdata (node);if (!sensor->drvdata) { -dev_err (&is->pdev->dev,"no driver data found for: %s\n" , - node->full_name); +dev_err (&is->pdev->dev,"no driver data found for: %pOF\n" , + node);return -EINVAL ; }@@ -191,8 +191,8 @@ static int fimc_is_parse_sensor_config(struct fimc_is *is, unsigned int index,/* Use MIPI-CSIS channel id to determine the ISP I2C bus index. */ ret =of_property_read_u32 (port,"reg" , &tmp);if (ret <0 ) { -dev_err (&is->pdev->dev,"reg property not found at: %s\n" , - port->full_name); +dev_err (&is->pdev->dev,"reg property not found at: %pOF\n" , + port);of_node_put (port);return ret; }drivers/media/platform/exynos4-is/fimc-lite.c +1
-2@@ -1493,8 +1493,7 @@ static int fimc_lite_probe(struct platform_device *pdev)if (!drv_data || fimc->index >= drv_data->num_instances || fimc->index <0 ) { -dev_err (dev,"Wrong %s node alias\n" , - dev->of_node->full_name); +dev_err (dev,"Wrong %pOF node alias\n" , dev->of_node);return -EINVAL ; }drivers/media/platform/exynos4-is/media-dev.c +4
-4@@ -412,8 +412,8 @@ static int fimc_md_parse_port_node(struct fimc_md *fmd, rem =of_graph_get_remote_port_parent (ep);of_node_put (ep);if (rem ==NULL ) { -v4l2_info (&fmd->v4l2_dev,"Remote device at %s not found\n" , - ep->full_name); +v4l2_info (&fmd->v4l2_dev,"Remote device at %pOF not found\n" , + ep);return 0 ; }@@ -430,8 +430,8 @@ static int fimc_md_parse_port_node(struct fimc_md *fmd,*/ pd->sensor_bus_type =FIMC_BUS_TYPE_MIPI_CSI2 ; }else { -v4l2_err (&fmd->v4l2_dev,"Wrong port id (%u) at node %s\n" , - endpoint.base.port, rem->full_name); +v4l2_err (&fmd->v4l2_dev,"Wrong port id (%u) at node %pOF\n" , + endpoint.base.port, rem); }/* * For FIMC-IS handled sensors, that are placed under i2c-isp device drivers/media/platform/exynos4-is/mipi-csis.c +2
-2@@ -730,8 +730,8 @@ static int s5pcsis_parse_dt(struct platform_device *pdev, node =of_graph_get_next_endpoint (node,NULL );if (!node) { -dev_err (&pdev->dev,"No port node at %s\n" , - pdev->dev.of_node->full_name); +dev_err (&pdev->dev,"No port node at %pOF\n" , + pdev->dev.of_node);return -EINVAL ; }/* Get port node and validate MIPI-CSI channel id. */ drivers/media/platform/mtk-mdp/mtk_mdp_comp.c +2
-4@@ -134,15 +134,13 @@ int mtk_mdp_comp_init(struct device *dev, struct device_node *node, larb_node =of_parse_phandle (node,"mediatek,larb" ,0 );if (!larb_node) {dev_err (dev, -"Missing mediadek,larb phandle in %s node\n" , - node->full_name); +"Missing mediadek,larb phandle in %pOF node\n" , node);return -EINVAL ; } larb_pdev =of_find_device_by_node (larb_node);if (!larb_pdev) { -dev_warn (dev,"Waiting for larb device %s\n" , - larb_node->full_name); +dev_warn (dev,"Waiting for larb device %pOF\n" , larb_node);of_node_put (larb_node);return -EPROBE_DEFER ; }drivers/media/platform/mtk-mdp/mtk_mdp_core.c +4
-4@@ -137,16 +137,16 @@ static int mtk_mdp_probe(struct platform_device *pdev)continue ;if (!of_device_is_available (node)) { -dev_err (dev,"Skipping disabled component %s\n" , - node->full_name); +dev_err (dev,"Skipping disabled component %pOF\n" , + node);continue ; } comp_type = (enum mtk_mdp_comp_type )of_id->data; comp_id =mtk_mdp_comp_get_id (dev, node, comp_type);if (comp_id <0 ) { -dev_warn (dev,"Skipping unknown component %s\n" , - node->full_name); +dev_warn (dev,"Skipping unknown component %pOF\n" , + node);continue ; }drivers/media/platform/omap3isp/isp.c +4
-4@@ -2020,8 +2020,8 @@ static int isp_fwnode_parse(struct device *dev, struct fwnode_handle *fwnode,if (ret)return ret; -dev_dbg (dev,"parsing endpoint %s, interface %u\n" , -to_of_node (fwnode)->full_name, vep.base.port); +dev_dbg (dev,"parsing endpoint %pOF, interface %u\n" , +to_of_node (fwnode), vep.base.port);switch (vep.base.port) {case ISP_OF_PHY_PARALLEL :@@ -2078,8 +2078,8 @@ static int isp_fwnode_parse(struct device *dev, struct fwnode_handle *fwnode,break ;default : -dev_warn (dev,"%s: invalid interface %u\n" , -to_of_node (fwnode)->full_name, vep.base.port); +dev_warn (dev,"%pOF: invalid interface %u\n" , +to_of_node (fwnode), vep.base.port);break ; }drivers/media/platform/pxa_camera.c +1
-1@@ -2328,7 +2328,7 @@ static int pxa_camera_pdata_from_dt(struct device *dev, asd->match.fwnode.fwnode =of_fwnode_handle (remote);of_node_put (remote); }else { -dev_notice (dev,"no remote for %s\n" ,of_node_full_name (np)); +dev_notice (dev,"no remote for %pOF\n" , np); } out:drivers/media/platform/rcar-vin/rcar-core.c +2
-2@@ -222,8 +222,8 @@ static int rvin_digital_graph_init(struct rvin_dev *vin) subdevs[0 ] = &vin->digital.asd; -vin_dbg (vin,"Found digital subdevice %s\n" , -of_node_full_name (to_of_node (subdevs[0 ]->match.fwnode.fwnode))); +vin_dbg (vin,"Found digital subdevice %pOF\n" , +to_of_node (subdevs[0 ]->match.fwnode.fwnode)); vin->notifier.num_subdevs =1 ; vin->notifier.subdevs = subdevs;drivers/media/platform/soc_camera/soc_camera.c +2
-4@@ -1550,8 +1550,7 @@ static int soc_of_bind(struct soc_camera_host *ici,v4l2_clk_name_i2c (clk_name,sizeof (clk_name), client->adapter->nr, client->addr); else - v4l2_clk_name_of(clk_name, sizeof(clk_name), -of_node_full_name (remote )); + v4l2_clk_name_of(clk_name, sizeof(clk_name), remote); icd->clk =v4l2_clk_register (&soc_camera_clk_ops, clk_name, icd);if (IS_ERR (icd->clk)) {@@ -1590,8 +1589,7 @@ static void scan_of_host(struct soc_camera_host *ici) ren =of_graph_get_remote_port (epn);if (!ren) { -dev_notice (dev,"no remote for %s\n" , -of_node_full_name (epn)); +dev_notice (dev,"no remote for %pOF\n" , epn);continue ; }drivers/media/platform/xilinx/xilinx-vipp.c +25
-27@@ -90,12 +90,12 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev,of_node_put (ep); ep = next; -dev_dbg (xdev->dev,"processing endpoint %s\n" , ep->full_name); +dev_dbg (xdev->dev,"processing endpoint %pOF\n" , ep); ret =v4l2_fwnode_parse_link (of_fwnode_handle (ep), &link);if (ret <0 ) { -dev_err (xdev->dev,"failed to parse link for %s\n" , - ep->full_name); +dev_err (xdev->dev,"failed to parse link for %pOF\n" , + ep);continue ; }@@ -103,9 +103,9 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev,* the link. */ if (link.local_port >= local->num_pads) { -dev_err (xdev->dev,"invalid port number %u for %s\n" , +dev_err (xdev->dev,"invalid port number %u for %pOF\n" , link.local_port, -to_of_node (link.local_node)->full_name); +to_of_node (link.local_node));v4l2_fwnode_put_link (&link); ret = -EINVAL ;break ;@@ -114,8 +114,8 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev, local_pad = &local->pads[link.local_port];if (local_pad->flags &MEDIA_PAD_FL_SINK ) { -dev_dbg (xdev->dev,"skipping sink port %s:%u\n" , -to_of_node (link.local_node)->full_name, +dev_dbg (xdev->dev,"skipping sink port %pOF:%u\n" , +to_of_node (link.local_node), link.local_port);v4l2_fwnode_put_link (&link);continue ;@@ -123,8 +123,8 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev,/* Skip DMA engines, they will be processed separately. */ if (link.remote_node ==of_fwnode_handle (xdev->dev->of_node)) { -dev_dbg (xdev->dev,"skipping DMA port %s:%u\n" , -to_of_node (link.local_node)->full_name, +dev_dbg (xdev->dev,"skipping DMA port %pOF:%u\n" , +to_of_node (link.local_node), link.local_port);v4l2_fwnode_put_link (&link);continue ;@@ -134,8 +134,8 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev, ent =xvip_graph_find_entity (xdev,to_of_node (link.remote_node));if (ent ==NULL ) { -dev_err (xdev->dev,"no entity found for %s\n" , -to_of_node (link.remote_node)->full_name); +dev_err (xdev->dev,"no entity found for %pOF\n" , +to_of_node (link.remote_node));v4l2_fwnode_put_link (&link); ret = -ENODEV ;break ;@@ -144,9 +144,8 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev, remote = ent->entity;if (link.remote_port >= remote->num_pads) { -dev_err (xdev->dev,"invalid port number %u on %s\n" , - link.remote_port, -to_of_node (link.remote_node)->full_name); +dev_err (xdev->dev,"invalid port number %u on %pOF\n" , + link.remote_port, link.remote_node);v4l2_fwnode_put_link (&link); ret = -EINVAL ;break ;@@ -216,12 +215,12 @@ static int xvip_graph_build_dma(struct xvip_composite_device *xdev)of_node_put (ep); ep = next; -dev_dbg (xdev->dev,"processing endpoint %s\n" , ep->full_name); +dev_dbg (xdev->dev,"processing endpoint %pOF\n" , ep); ret =v4l2_fwnode_parse_link (of_fwnode_handle (ep), &link);if (ret <0 ) { -dev_err (xdev->dev,"failed to parse link for %s\n" , - ep->full_name); +dev_err (xdev->dev,"failed to parse link for %pOF\n" , + ep);continue ; }@@ -242,17 +241,17 @@ static int xvip_graph_build_dma(struct xvip_composite_device *xdev) ent =xvip_graph_find_entity (xdev,to_of_node (link.remote_node));if (ent ==NULL ) { -dev_err (xdev->dev,"no entity found for %s\n" , -to_of_node (link.remote_node)->full_name); +dev_err (xdev->dev,"no entity found for %pOF\n" , +to_of_node (link.remote_node));v4l2_fwnode_put_link (&link); ret = -ENODEV ;break ; }if (link.remote_port >= ent->entity->num_pads) { -dev_err (xdev->dev,"invalid port number %u on %s\n" , +dev_err (xdev->dev,"invalid port number %u on %pOF\n" , link.remote_port, -to_of_node (link.remote_node)->full_name); +to_of_node (link.remote_node));v4l2_fwnode_put_link (&link); ret = -EINVAL ;break ;@@ -337,8 +336,8 @@ static int xvip_graph_notify_bound(struct v4l2_async_notifier *notifier,continue ;if (entity->subdev) { -dev_err (xdev->dev,"duplicate subdev for node %s\n" , - entity->node->full_name); +dev_err (xdev->dev,"duplicate subdev for node %pOF\n" , + entity->node);return -EINVAL ; }@@ -360,14 +359,14 @@ static int xvip_graph_parse_one(struct xvip_composite_device *xdev,struct device_node *ep =NULL ;int ret =0 ; -dev_dbg (xdev->dev,"parsing node %s\n" , node->full_name); +dev_dbg (xdev->dev,"parsing node %pOF\n" , node);while (1 ) { ep =of_graph_get_next_endpoint (node, ep);if (ep ==NULL )break ; -dev_dbg (xdev->dev,"handling endpoint %s\n" , ep->full_name); +dev_dbg (xdev->dev,"handling endpoint %pOF\n" , ep); remote =of_graph_get_remote_port_parent (ep);if (remote ==NULL ) {@@ -452,8 +451,7 @@ static int xvip_graph_dma_init_one(struct xvip_composite_device *xdev, ret =xvip_dma_init (xdev, dma, type, index);if (ret <0 ) { -dev_err (xdev->dev,"%s initialization failed\n" , - node->full_name); +dev_err (xdev->dev,"%pOF initialization failed\n" , node);return ret; }drivers/media/v4l2-core/v4l2-async.c +1
-3@@ -47,9 +47,7 @@ static bool match_fwnode(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd)if (!is_of_node (sd->fwnode) || !is_of_node (asd->match.fwnode.fwnode))return sd->fwnode == asd->match.fwnode.fwnode; -return !of_node_cmp (of_node_full_name (to_of_node (sd->fwnode)), -of_node_full_name ( -to_of_node (asd->match.fwnode.fwnode))); +return to_of_node (sd->fwnode) ==to_of_node (asd->match.fwnode.fwnode); }static bool match_custom (struct v4l2_subdev *sd,struct v4l2_async_subdev *asd)drivers/media/v4l2-core/v4l2-clk.c +1
-2@@ -61,8 +61,7 @@ struct v4l2_clk *v4l2_clk_get(struct device *dev, const char *id)/* if dev_name is not found, try use the OF name to find again */ if (PTR_ERR (clk) == -ENODEV && dev->of_node) { -v4l2_clk_name_of (clk_name,sizeof (clk_name), -of_node_full_name (dev->of_node)); +v4l2_clk_name_of (clk_name,sizeof (clk_name), dev->of_node); clk =v4l2_clk_find (clk_name); }include/media/v4l2-clk.h +2
-3@@ -70,7 +70,7 @@ static inline struct v4l2_clk *v4l2_clk_register_fixed(const char *dev_id,#define v4l2_clk_name_i2c (name, size, adap, client) snprintf(name, size, \ "%d-%04x", adap, client) -#define v4l2_clk_name_of (name, size, of_full_name) snprintf(name, size, \ - "of-%s", of_full_name) +#define v4l2_clk_name_of (name, size, node) snprintf(name, size, \ + "of-%pOF", node)#endif --2.11.0
_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Signature · 1 line
Nicolas Ferre
Quoted 29 lines · Rob Herring
Now that we have a custom printf format specifier, convert users of
full_nameto use %pOF instead. This is preparation to remove storing of the full path string for each node.Signed-off-by Rob Herring <[email protected]>Cc Kyungmin Park <[email protected]>Cc Andrzej Hajda <[email protected]>Cc Mauro Carvalho Chehab <[email protected]>Cc "Lad, Prabhakar" <[email protected]>Cc Songjun Wu <[email protected]>Cc Sylwester Nawrocki <[email protected]>Cc Kukjin Kim <[email protected]>Cc Krzysztof Kozlowski <[email protected]>Cc Javier Martinez Canillas <[email protected]>Cc Minghsiu Tsai <[email protected]>Cc Houlong Wei <[email protected]>Cc Andrew-CT Chen <[email protected]>Cc Matthias Brugger <[email protected]>Cc Laurent Pinchart <[email protected]>Cc "Niklas S?derlund" <[email protected]>Cc Guennadi Liakhovetski <[email protected]>Cc Hyun Kwon <[email protected]>Cc Michal Simek <[email protected]>Cc "S?ren Brinkmann" <[email protected]>Cc linux-media at vger.kernel.orgCc linux-arm-kernel at lists.infradead.orgCc linux-samsung-soc at vger.kernel.orgCc linux-mediatek at lists.infradead.orgCc linux-renesas-soc at vger.kernel.org
Quoted 3 lines
--- drivers/media/platform/am437x/am437x-vpfe.c | 4 +- drivers/media/platform/davinci/vpif_capture.c | 16 ++++----
For above:
Cheers,
--Prabhakar Lad