[media] v4l: Switch from V4L2 OF not V4L2 fwnode API
Switch users of the v4l2_of_ APIs to the more generic v4l2_fwnode_ APIs. Async OF matching is replaced by fwnode matching and OF matching support is removed. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Acked-by: Benoit Parrot <bparrot@ti.com> # i2c/ov2569.c, am437x/am437x-vpfe.c and ti-vpe/cal.c Tested-by: Hans Verkuil <hans.verkuil@cisco.com> # Atmel sama5d3 board + ov2640 sensor Tested-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:

committato da
Mauro Carvalho Chehab

parent
048ea05b4f
commit
859969b38e
@@ -209,6 +209,7 @@ config VIDEO_ADV7604
|
||||
depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
|
||||
depends on GPIOLIB || COMPILE_TEST
|
||||
select HDMI
|
||||
select V4L2_FWNODE
|
||||
---help---
|
||||
Support for the Analog Devices ADV7604 video decoder.
|
||||
|
||||
@@ -322,6 +323,7 @@ config VIDEO_TC358743
|
||||
tristate "Toshiba TC358743 decoder"
|
||||
depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
|
||||
select HDMI
|
||||
select V4L2_FWNODE
|
||||
---help---
|
||||
Support for the Toshiba TC358743 HDMI to MIPI CSI-2 bridge.
|
||||
|
||||
@@ -331,6 +333,7 @@ config VIDEO_TC358743
|
||||
config VIDEO_TVP514X
|
||||
tristate "Texas Instruments TVP514x video decoder"
|
||||
depends on VIDEO_V4L2 && I2C
|
||||
select V4L2_FWNODE
|
||||
---help---
|
||||
This is a Video4Linux2 sensor-level driver for the TI TVP5146/47
|
||||
decoder. It is currently working with the TI OMAP3 camera
|
||||
@@ -342,6 +345,7 @@ config VIDEO_TVP514X
|
||||
config VIDEO_TVP5150
|
||||
tristate "Texas Instruments TVP5150 video decoder"
|
||||
depends on VIDEO_V4L2 && I2C
|
||||
select V4L2_FWNODE
|
||||
---help---
|
||||
Support for the Texas Instruments TVP5150 video decoder.
|
||||
|
||||
@@ -351,6 +355,7 @@ config VIDEO_TVP5150
|
||||
config VIDEO_TVP7002
|
||||
tristate "Texas Instruments TVP7002 video decoder"
|
||||
depends on VIDEO_V4L2 && I2C
|
||||
select V4L2_FWNODE
|
||||
---help---
|
||||
Support for the Texas Instruments TVP7002 video decoder.
|
||||
|
||||
@@ -532,6 +537,7 @@ config VIDEO_OV2659
|
||||
tristate "OmniVision OV2659 sensor support"
|
||||
depends on VIDEO_V4L2 && I2C
|
||||
depends on MEDIA_CAMERA_SUPPORT
|
||||
select V4L2_FWNODE
|
||||
---help---
|
||||
This is a Video4Linux2 sensor-level driver for the OmniVision
|
||||
OV2659 camera.
|
||||
@@ -544,6 +550,7 @@ config VIDEO_OV5645
|
||||
depends on OF
|
||||
depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
|
||||
depends on MEDIA_CAMERA_SUPPORT
|
||||
select V4L2_FWNODE
|
||||
---help---
|
||||
This is a Video4Linux2 sensor-level driver for the OmniVision
|
||||
OV5645 camera.
|
||||
@@ -555,6 +562,7 @@ config VIDEO_OV5647
|
||||
tristate "OmniVision OV5647 sensor support"
|
||||
depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
|
||||
depends on MEDIA_CAMERA_SUPPORT
|
||||
select V4L2_FWNODE
|
||||
---help---
|
||||
This is a Video4Linux2 sensor-level driver for the OmniVision
|
||||
OV5647 camera.
|
||||
@@ -647,6 +655,7 @@ config VIDEO_MT9V032
|
||||
depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
|
||||
depends on MEDIA_CAMERA_SUPPORT
|
||||
select REGMAP_I2C
|
||||
select V4L2_FWNODE
|
||||
---help---
|
||||
This is a Video4Linux2 sensor-level driver for the Micron
|
||||
MT9V032 752x480 CMOS sensor.
|
||||
@@ -694,6 +703,7 @@ config VIDEO_S5K4ECGX
|
||||
config VIDEO_S5K5BAF
|
||||
tristate "Samsung S5K5BAF sensor support"
|
||||
depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
|
||||
select V4L2_FWNODE
|
||||
---help---
|
||||
This is a V4L2 sensor-level driver for Samsung S5K5BAF 2M
|
||||
camera sensor with an embedded SoC image signal processor.
|
||||
@@ -704,6 +714,7 @@ source "drivers/media/i2c/et8ek8/Kconfig"
|
||||
config VIDEO_S5C73M3
|
||||
tristate "Samsung S5C73M3 sensor support"
|
||||
depends on I2C && SPI && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
|
||||
select V4L2_FWNODE
|
||||
---help---
|
||||
This is a V4L2 sensor-level driver for Samsung S5C73M3
|
||||
8 Mpixel camera.
|
||||
|
@@ -33,6 +33,7 @@
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of_graph.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/v4l2-dv-timings.h>
|
||||
#include <linux/videodev2.h>
|
||||
@@ -45,7 +46,7 @@
|
||||
#include <media/v4l2-device.h>
|
||||
#include <media/v4l2-event.h>
|
||||
#include <media/v4l2-dv-timings.h>
|
||||
#include <media/v4l2-of.h>
|
||||
#include <media/v4l2-fwnode.h>
|
||||
|
||||
static int debug;
|
||||
module_param(debug, int, 0644);
|
||||
@@ -3069,7 +3070,7 @@ MODULE_DEVICE_TABLE(of, adv76xx_of_id);
|
||||
|
||||
static int adv76xx_parse_dt(struct adv76xx_state *state)
|
||||
{
|
||||
struct v4l2_of_endpoint bus_cfg;
|
||||
struct v4l2_fwnode_endpoint bus_cfg;
|
||||
struct device_node *endpoint;
|
||||
struct device_node *np;
|
||||
unsigned int flags;
|
||||
@@ -3083,7 +3084,7 @@ static int adv76xx_parse_dt(struct adv76xx_state *state)
|
||||
if (!endpoint)
|
||||
return -EINVAL;
|
||||
|
||||
ret = v4l2_of_parse_endpoint(endpoint, &bus_cfg);
|
||||
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(endpoint), &bus_cfg);
|
||||
if (ret) {
|
||||
of_node_put(endpoint);
|
||||
return ret;
|
||||
|
@@ -19,6 +19,7 @@
|
||||
#include <linux/log2.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_graph.h>
|
||||
#include <linux/regmap.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/videodev2.h>
|
||||
@@ -28,7 +29,7 @@
|
||||
#include <media/i2c/mt9v032.h>
|
||||
#include <media/v4l2-ctrls.h>
|
||||
#include <media/v4l2-device.h>
|
||||
#include <media/v4l2-of.h>
|
||||
#include <media/v4l2-fwnode.h>
|
||||
#include <media/v4l2-subdev.h>
|
||||
|
||||
/* The first four rows are black rows. The active area spans 753x481 pixels. */
|
||||
@@ -979,7 +980,7 @@ static struct mt9v032_platform_data *
|
||||
mt9v032_get_pdata(struct i2c_client *client)
|
||||
{
|
||||
struct mt9v032_platform_data *pdata = NULL;
|
||||
struct v4l2_of_endpoint endpoint;
|
||||
struct v4l2_fwnode_endpoint endpoint;
|
||||
struct device_node *np;
|
||||
struct property *prop;
|
||||
|
||||
@@ -990,7 +991,7 @@ mt9v032_get_pdata(struct i2c_client *client)
|
||||
if (!np)
|
||||
return NULL;
|
||||
|
||||
if (v4l2_of_parse_endpoint(np, &endpoint) < 0)
|
||||
if (v4l2_fwnode_endpoint_parse(of_fwnode_handle(np), &endpoint) < 0)
|
||||
goto done;
|
||||
|
||||
pdata = devm_kzalloc(&client->dev, sizeof(*pdata), GFP_KERNEL);
|
||||
|
@@ -42,9 +42,9 @@
|
||||
#include <media/v4l2-ctrls.h>
|
||||
#include <media/v4l2-device.h>
|
||||
#include <media/v4l2-event.h>
|
||||
#include <media/v4l2-fwnode.h>
|
||||
#include <media/v4l2-image-sizes.h>
|
||||
#include <media/v4l2-mediabus.h>
|
||||
#include <media/v4l2-of.h>
|
||||
#include <media/v4l2-subdev.h>
|
||||
|
||||
#define DRIVER_NAME "ov2659"
|
||||
@@ -1347,7 +1347,7 @@ static struct ov2659_platform_data *
|
||||
ov2659_get_pdata(struct i2c_client *client)
|
||||
{
|
||||
struct ov2659_platform_data *pdata;
|
||||
struct v4l2_of_endpoint *bus_cfg;
|
||||
struct v4l2_fwnode_endpoint *bus_cfg;
|
||||
struct device_node *endpoint;
|
||||
|
||||
if (!IS_ENABLED(CONFIG_OF) || !client->dev.of_node)
|
||||
@@ -1357,7 +1357,7 @@ ov2659_get_pdata(struct i2c_client *client)
|
||||
if (!endpoint)
|
||||
return NULL;
|
||||
|
||||
bus_cfg = v4l2_of_alloc_parse_endpoint(endpoint);
|
||||
bus_cfg = v4l2_fwnode_endpoint_alloc_parse(of_fwnode_handle(endpoint));
|
||||
if (IS_ERR(bus_cfg)) {
|
||||
pdata = NULL;
|
||||
goto done;
|
||||
@@ -1377,7 +1377,7 @@ ov2659_get_pdata(struct i2c_client *client)
|
||||
pdata->link_frequency = bus_cfg->link_frequencies[0];
|
||||
|
||||
done:
|
||||
v4l2_of_free_endpoint(bus_cfg);
|
||||
v4l2_fwnode_endpoint_free(bus_cfg);
|
||||
of_node_put(endpoint);
|
||||
return pdata;
|
||||
}
|
||||
|
@@ -39,7 +39,7 @@
|
||||
#include <linux/slab.h>
|
||||
#include <linux/types.h>
|
||||
#include <media/v4l2-ctrls.h>
|
||||
#include <media/v4l2-of.h>
|
||||
#include <media/v4l2-fwnode.h>
|
||||
#include <media/v4l2-subdev.h>
|
||||
|
||||
#define OV5645_VOLTAGE_ANALOG 2800000
|
||||
@@ -87,7 +87,7 @@ struct ov5645 {
|
||||
struct device *dev;
|
||||
struct v4l2_subdev sd;
|
||||
struct media_pad pad;
|
||||
struct v4l2_of_endpoint ep;
|
||||
struct v4l2_fwnode_endpoint ep;
|
||||
struct v4l2_mbus_framefmt fmt;
|
||||
struct v4l2_rect crop;
|
||||
struct clk *xclk;
|
||||
@@ -1102,7 +1102,8 @@ static int ov5645_probe(struct i2c_client *client,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
ret = v4l2_of_parse_endpoint(endpoint, &ov5645->ep);
|
||||
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(endpoint),
|
||||
&ov5645->ep);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "parsing endpoint node failed\n");
|
||||
return ret;
|
||||
|
@@ -25,12 +25,13 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of_graph.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/videodev2.h>
|
||||
#include <media/v4l2-device.h>
|
||||
#include <media/v4l2-fwnode.h>
|
||||
#include <media/v4l2-image-sizes.h>
|
||||
#include <media/v4l2-mediabus.h>
|
||||
#include <media/v4l2-of.h>
|
||||
|
||||
#define SENSOR_NAME "ov5647"
|
||||
|
||||
@@ -510,7 +511,7 @@ static const struct v4l2_subdev_internal_ops ov5647_subdev_internal_ops = {
|
||||
|
||||
static int ov5647_parse_dt(struct device_node *np)
|
||||
{
|
||||
struct v4l2_of_endpoint bus_cfg;
|
||||
struct v4l2_fwnode_endpoint bus_cfg;
|
||||
struct device_node *ep;
|
||||
|
||||
int ret;
|
||||
@@ -519,7 +520,7 @@ static int ov5647_parse_dt(struct device_node *np)
|
||||
if (!ep)
|
||||
return -EINVAL;
|
||||
|
||||
ret = v4l2_of_parse_endpoint(ep, &bus_cfg);
|
||||
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(ep), &bus_cfg);
|
||||
|
||||
of_node_put(ep);
|
||||
return ret;
|
||||
|
@@ -24,6 +24,7 @@
|
||||
#include <linux/media.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of_gpio.h>
|
||||
#include <linux/of_graph.h>
|
||||
#include <linux/regulator/consumer.h>
|
||||
#include <linux/sizes.h>
|
||||
#include <linux/slab.h>
|
||||
@@ -35,7 +36,7 @@
|
||||
#include <media/v4l2-subdev.h>
|
||||
#include <media/v4l2-mediabus.h>
|
||||
#include <media/i2c/s5c73m3.h>
|
||||
#include <media/v4l2-of.h>
|
||||
#include <media/v4l2-fwnode.h>
|
||||
|
||||
#include "s5c73m3.h"
|
||||
|
||||
@@ -1602,7 +1603,7 @@ static int s5c73m3_get_platform_data(struct s5c73m3 *state)
|
||||
const struct s5c73m3_platform_data *pdata = dev->platform_data;
|
||||
struct device_node *node = dev->of_node;
|
||||
struct device_node *node_ep;
|
||||
struct v4l2_of_endpoint ep;
|
||||
struct v4l2_fwnode_endpoint ep;
|
||||
int ret;
|
||||
|
||||
if (!node) {
|
||||
@@ -1639,7 +1640,7 @@ static int s5c73m3_get_platform_data(struct s5c73m3 *state)
|
||||
return 0;
|
||||
}
|
||||
|
||||
ret = v4l2_of_parse_endpoint(node_ep, &ep);
|
||||
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(node_ep), &ep);
|
||||
of_node_put(node_ep);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
@@ -30,7 +30,7 @@
|
||||
#include <media/v4l2-device.h>
|
||||
#include <media/v4l2-subdev.h>
|
||||
#include <media/v4l2-mediabus.h>
|
||||
#include <media/v4l2-of.h>
|
||||
#include <media/v4l2-fwnode.h>
|
||||
|
||||
static int debug;
|
||||
module_param(debug, int, 0644);
|
||||
@@ -1841,7 +1841,7 @@ static int s5k5baf_parse_device_node(struct s5k5baf *state, struct device *dev)
|
||||
{
|
||||
struct device_node *node = dev->of_node;
|
||||
struct device_node *node_ep;
|
||||
struct v4l2_of_endpoint ep;
|
||||
struct v4l2_fwnode_endpoint ep;
|
||||
int ret;
|
||||
|
||||
if (!node) {
|
||||
@@ -1868,7 +1868,7 @@ static int s5k5baf_parse_device_node(struct s5k5baf *state, struct device *dev)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
ret = v4l2_of_parse_endpoint(node_ep, &ep);
|
||||
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(node_ep), &ep);
|
||||
of_node_put(node_ep);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
@@ -3,5 +3,6 @@ config VIDEO_SMIAPP
|
||||
depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && HAVE_CLK
|
||||
depends on MEDIA_CAMERA_SUPPORT
|
||||
select VIDEO_SMIAPP_PLL
|
||||
select V4L2_FWNODE
|
||||
---help---
|
||||
This is a generic driver for SMIA++/SMIA camera modules.
|
||||
|
@@ -27,12 +27,13 @@
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/property.h>
|
||||
#include <linux/regulator/consumer.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/smiapp.h>
|
||||
#include <linux/v4l2-mediabus.h>
|
||||
#include <media/v4l2-fwnode.h>
|
||||
#include <media/v4l2-device.h>
|
||||
#include <media/v4l2-of.h>
|
||||
|
||||
#include "smiapp.h"
|
||||
|
||||
@@ -2784,19 +2785,20 @@ static int __maybe_unused smiapp_resume(struct device *dev)
|
||||
static struct smiapp_hwconfig *smiapp_get_hwconfig(struct device *dev)
|
||||
{
|
||||
struct smiapp_hwconfig *hwcfg;
|
||||
struct v4l2_of_endpoint *bus_cfg;
|
||||
struct device_node *ep;
|
||||
struct v4l2_fwnode_endpoint *bus_cfg;
|
||||
struct fwnode_handle *ep;
|
||||
struct fwnode_handle *fwnode = dev_fwnode(dev);
|
||||
int i;
|
||||
int rval;
|
||||
|
||||
if (!dev->of_node)
|
||||
if (!fwnode)
|
||||
return dev->platform_data;
|
||||
|
||||
ep = of_graph_get_next_endpoint(dev->of_node, NULL);
|
||||
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
|
||||
if (!ep)
|
||||
return NULL;
|
||||
|
||||
bus_cfg = v4l2_of_alloc_parse_endpoint(ep);
|
||||
bus_cfg = v4l2_fwnode_endpoint_alloc_parse(ep);
|
||||
if (IS_ERR(bus_cfg))
|
||||
goto out_err;
|
||||
|
||||
@@ -2817,11 +2819,10 @@ static struct smiapp_hwconfig *smiapp_get_hwconfig(struct device *dev)
|
||||
dev_dbg(dev, "lanes %u\n", hwcfg->lanes);
|
||||
|
||||
/* NVM size is not mandatory */
|
||||
of_property_read_u32(dev->of_node, "nokia,nvm-size",
|
||||
&hwcfg->nvm_size);
|
||||
fwnode_property_read_u32(fwnode, "nokia,nvm-size", &hwcfg->nvm_size);
|
||||
|
||||
rval = of_property_read_u32(dev->of_node, "clock-frequency",
|
||||
&hwcfg->ext_clk);
|
||||
rval = fwnode_property_read_u32(fwnode, "clock-frequency",
|
||||
&hwcfg->ext_clk);
|
||||
if (rval) {
|
||||
dev_warn(dev, "can't get clock-frequency\n");
|
||||
goto out_err;
|
||||
@@ -2846,13 +2847,13 @@ static struct smiapp_hwconfig *smiapp_get_hwconfig(struct device *dev)
|
||||
dev_dbg(dev, "freq %d: %lld\n", i, hwcfg->op_sys_clock[i]);
|
||||
}
|
||||
|
||||
v4l2_of_free_endpoint(bus_cfg);
|
||||
of_node_put(ep);
|
||||
v4l2_fwnode_endpoint_free(bus_cfg);
|
||||
fwnode_handle_put(ep);
|
||||
return hwcfg;
|
||||
|
||||
out_err:
|
||||
v4l2_of_free_endpoint(bus_cfg);
|
||||
of_node_put(ep);
|
||||
v4l2_fwnode_endpoint_free(bus_cfg);
|
||||
fwnode_handle_put(ep);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@@ -33,6 +33,7 @@
|
||||
#include <linux/delay.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/of_graph.h>
|
||||
#include <linux/videodev2.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/v4l2-dv-timings.h>
|
||||
@@ -41,7 +42,7 @@
|
||||
#include <media/v4l2-device.h>
|
||||
#include <media/v4l2-ctrls.h>
|
||||
#include <media/v4l2-event.h>
|
||||
#include <media/v4l2-of.h>
|
||||
#include <media/v4l2-fwnode.h>
|
||||
#include <media/i2c/tc358743.h>
|
||||
|
||||
#include "tc358743_regs.h"
|
||||
@@ -76,7 +77,7 @@ static const struct v4l2_dv_timings_cap tc358743_timings_cap = {
|
||||
|
||||
struct tc358743_state {
|
||||
struct tc358743_platform_data pdata;
|
||||
struct v4l2_of_bus_mipi_csi2 bus;
|
||||
struct v4l2_fwnode_bus_mipi_csi2 bus;
|
||||
struct v4l2_subdev sd;
|
||||
struct media_pad pad;
|
||||
struct v4l2_ctrl_handler hdl;
|
||||
@@ -1695,7 +1696,7 @@ static void tc358743_gpio_reset(struct tc358743_state *state)
|
||||
static int tc358743_probe_of(struct tc358743_state *state)
|
||||
{
|
||||
struct device *dev = &state->i2c_client->dev;
|
||||
struct v4l2_of_endpoint *endpoint;
|
||||
struct v4l2_fwnode_endpoint *endpoint;
|
||||
struct device_node *ep;
|
||||
struct clk *refclk;
|
||||
u32 bps_pr_lane;
|
||||
@@ -1715,7 +1716,7 @@ static int tc358743_probe_of(struct tc358743_state *state)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
endpoint = v4l2_of_alloc_parse_endpoint(ep);
|
||||
endpoint = v4l2_fwnode_endpoint_alloc_parse(of_fwnode_handle(ep));
|
||||
if (IS_ERR(endpoint)) {
|
||||
dev_err(dev, "failed to parse endpoint\n");
|
||||
return PTR_ERR(endpoint);
|
||||
@@ -1803,7 +1804,7 @@ static int tc358743_probe_of(struct tc358743_state *state)
|
||||
disable_clk:
|
||||
clk_disable_unprepare(refclk);
|
||||
free_endpoint:
|
||||
v4l2_of_free_endpoint(endpoint);
|
||||
v4l2_fwnode_endpoint_free(endpoint);
|
||||
return ret;
|
||||
}
|
||||
#else
|
||||
|
@@ -38,7 +38,7 @@
|
||||
#include <media/v4l2-device.h>
|
||||
#include <media/v4l2-common.h>
|
||||
#include <media/v4l2-mediabus.h>
|
||||
#include <media/v4l2-of.h>
|
||||
#include <media/v4l2-fwnode.h>
|
||||
#include <media/v4l2-ctrls.h>
|
||||
#include <media/i2c/tvp514x.h>
|
||||
#include <media/media-entity.h>
|
||||
@@ -998,7 +998,7 @@ static struct tvp514x_platform_data *
|
||||
tvp514x_get_pdata(struct i2c_client *client)
|
||||
{
|
||||
struct tvp514x_platform_data *pdata = NULL;
|
||||
struct v4l2_of_endpoint bus_cfg;
|
||||
struct v4l2_fwnode_endpoint bus_cfg;
|
||||
struct device_node *endpoint;
|
||||
unsigned int flags;
|
||||
|
||||
@@ -1009,7 +1009,7 @@ tvp514x_get_pdata(struct i2c_client *client)
|
||||
if (!endpoint)
|
||||
return NULL;
|
||||
|
||||
if (v4l2_of_parse_endpoint(endpoint, &bus_cfg))
|
||||
if (v4l2_fwnode_endpoint_parse(of_fwnode_handle(endpoint), &bus_cfg))
|
||||
goto done;
|
||||
|
||||
pdata = devm_kzalloc(&client->dev, sizeof(*pdata), GFP_KERNEL);
|
||||
|
@@ -12,10 +12,11 @@
|
||||
#include <linux/delay.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of_graph.h>
|
||||
#include <media/v4l2-async.h>
|
||||
#include <media/v4l2-device.h>
|
||||
#include <media/v4l2-ctrls.h>
|
||||
#include <media/v4l2-of.h>
|
||||
#include <media/v4l2-fwnode.h>
|
||||
#include <media/v4l2-mc.h>
|
||||
|
||||
#include "tvp5150_reg.h"
|
||||
@@ -1358,7 +1359,7 @@ static int tvp5150_init(struct i2c_client *c)
|
||||
|
||||
static int tvp5150_parse_dt(struct tvp5150 *decoder, struct device_node *np)
|
||||
{
|
||||
struct v4l2_of_endpoint bus_cfg;
|
||||
struct v4l2_fwnode_endpoint bus_cfg;
|
||||
struct device_node *ep;
|
||||
#ifdef CONFIG_MEDIA_CONTROLLER
|
||||
struct device_node *connectors, *child;
|
||||
@@ -1373,7 +1374,7 @@ static int tvp5150_parse_dt(struct tvp5150 *decoder, struct device_node *np)
|
||||
if (!ep)
|
||||
return -EINVAL;
|
||||
|
||||
ret = v4l2_of_parse_endpoint(ep, &bus_cfg);
|
||||
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(ep), &bus_cfg);
|
||||
if (ret)
|
||||
goto err;
|
||||
|
||||
|
@@ -33,7 +33,7 @@
|
||||
#include <media/v4l2-device.h>
|
||||
#include <media/v4l2-common.h>
|
||||
#include <media/v4l2-ctrls.h>
|
||||
#include <media/v4l2-of.h>
|
||||
#include <media/v4l2-fwnode.h>
|
||||
|
||||
#include "tvp7002_reg.h"
|
||||
|
||||
@@ -889,7 +889,7 @@ static const struct v4l2_subdev_ops tvp7002_ops = {
|
||||
static struct tvp7002_config *
|
||||
tvp7002_get_pdata(struct i2c_client *client)
|
||||
{
|
||||
struct v4l2_of_endpoint bus_cfg;
|
||||
struct v4l2_fwnode_endpoint bus_cfg;
|
||||
struct tvp7002_config *pdata = NULL;
|
||||
struct device_node *endpoint;
|
||||
unsigned int flags;
|
||||
@@ -901,7 +901,7 @@ tvp7002_get_pdata(struct i2c_client *client)
|
||||
if (!endpoint)
|
||||
return NULL;
|
||||
|
||||
if (v4l2_of_parse_endpoint(endpoint, &bus_cfg))
|
||||
if (v4l2_fwnode_endpoint_parse(of_fwnode_handle(endpoint), &bus_cfg))
|
||||
goto done;
|
||||
|
||||
pdata = devm_kzalloc(&client->dev, sizeof(*pdata), GFP_KERNEL);
|
||||
|
Fai riferimento in un nuovo problema
Block a user