From: jacopo mondi <jacopo@jmondi.org>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org,
slongerbeam@gmail.com, niklas.soderlund@ragnatech.se,
linux-media@vger.kernel.org
Subject: Re: [PATCH v3 16/23] v4l: fwnode: Initialise the V4L2 fwnode endpoints to zero
Date: Thu, 13 Sep 2018 11:46:14 +0200 [thread overview]
Message-ID: <20180913094614.GS20333@w540> (raw)
In-Reply-To: <20180912212942.19641-17-sakari.ailus@linux.intel.com>
[-- Attachment #1.1: Type: text/plain, Size: 17830 bytes --]
Hi Sakari,
On Thu, Sep 13, 2018 at 12:29:35AM +0300, Sakari Ailus wrote:
> Initialise the V4L2 fwnode endpoints to zero in all drivers using
> v4l2_fwnode_endpoint_parse(). This prepares for setting default endpoint
> flags as well as the bus type. Setting bus type to zero will continue to
> guess the bus among the guessable set (parallel, Bt.656 and CSI-2 D-PHY).
>
I've played around with this patch, trying to use defaults in the
renesas-ceu driver.
This is the resulting patch, if you want I can send it as follow-up or
send it so that you can include it in your series if it's correct):
https://paste.debian.net/hidden/a7795d3e/
Thanks
j
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> Tested-by: Steve Longerbeam <steve_longerbeam@mentor.com>
> ---
> drivers/media/i2c/adv7604.c | 2 +-
> drivers/media/i2c/mt9v032.c | 2 +-
> drivers/media/i2c/ov5647.c | 2 +-
> drivers/media/i2c/ov7670.c | 2 +-
> drivers/media/i2c/s5c73m3/s5c73m3-core.c | 2 +-
> drivers/media/i2c/s5k5baf.c | 2 +-
> drivers/media/i2c/tda1997x.c | 2 +-
> drivers/media/i2c/tvp514x.c | 2 +-
> drivers/media/i2c/tvp5150.c | 2 +-
> drivers/media/i2c/tvp7002.c | 2 +-
> drivers/media/platform/am437x/am437x-vpfe.c | 2 +-
> drivers/media/platform/atmel/atmel-isc.c | 3 ++-
> drivers/media/platform/atmel/atmel-isi.c | 2 +-
> drivers/media/platform/cadence/cdns-csi2rx.c | 2 +-
> drivers/media/platform/cadence/cdns-csi2tx.c | 2 +-
> drivers/media/platform/davinci/vpif_capture.c | 2 +-
> drivers/media/platform/exynos4-is/media-dev.c | 2 +-
> drivers/media/platform/exynos4-is/mipi-csis.c | 2 +-
> drivers/media/platform/pxa_camera.c | 2 +-
> drivers/media/platform/rcar-vin/rcar-csi2.c | 2 +-
> drivers/media/platform/renesas-ceu.c | 3 ++-
> drivers/media/platform/stm32/stm32-dcmi.c | 2 +-
> drivers/staging/media/imx/imx-media-csi.c | 8 ++++----
> include/media/v4l2-fwnode.h | 2 ++
> 24 files changed, 30 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/media/i2c/adv7604.c b/drivers/media/i2c/adv7604.c
> index 668be2bca57a..413578dc23a3 100644
> --- a/drivers/media/i2c/adv7604.c
> +++ b/drivers/media/i2c/adv7604.c
> @@ -3093,7 +3093,7 @@ MODULE_DEVICE_TABLE(of, adv76xx_of_id);
>
> static int adv76xx_parse_dt(struct adv76xx_state *state)
> {
> - struct v4l2_fwnode_endpoint bus_cfg;
> + struct v4l2_fwnode_endpoint bus_cfg = { .bus_type = 0 };
> struct device_node *endpoint;
> struct device_node *np;
> unsigned int flags;
> diff --git a/drivers/media/i2c/mt9v032.c b/drivers/media/i2c/mt9v032.c
> index f74730d24d8f..67f69ad6ecf4 100644
> --- a/drivers/media/i2c/mt9v032.c
> +++ b/drivers/media/i2c/mt9v032.c
> @@ -989,7 +989,7 @@ static struct mt9v032_platform_data *
> mt9v032_get_pdata(struct i2c_client *client)
> {
> struct mt9v032_platform_data *pdata = NULL;
> - struct v4l2_fwnode_endpoint endpoint;
> + struct v4l2_fwnode_endpoint endpoint = { .bus_type = 0 };
> struct device_node *np;
> struct property *prop;
>
> diff --git a/drivers/media/i2c/ov5647.c b/drivers/media/i2c/ov5647.c
> index da39c49de503..4589631798c9 100644
> --- a/drivers/media/i2c/ov5647.c
> +++ b/drivers/media/i2c/ov5647.c
> @@ -532,7 +532,7 @@ static const struct v4l2_subdev_internal_ops ov5647_subdev_internal_ops = {
>
> static int ov5647_parse_dt(struct device_node *np)
> {
> - struct v4l2_fwnode_endpoint bus_cfg;
> + struct v4l2_fwnode_endpoint bus_cfg = { .bus_type = 0 };
> struct device_node *ep;
>
> int ret;
> diff --git a/drivers/media/i2c/ov7670.c b/drivers/media/i2c/ov7670.c
> index 31bf577b0bd3..92f59ae1b624 100644
> --- a/drivers/media/i2c/ov7670.c
> +++ b/drivers/media/i2c/ov7670.c
> @@ -1728,7 +1728,7 @@ static int ov7670_parse_dt(struct device *dev,
> struct ov7670_info *info)
> {
> struct fwnode_handle *fwnode = dev_fwnode(dev);
> - struct v4l2_fwnode_endpoint bus_cfg;
> + struct v4l2_fwnode_endpoint bus_cfg = { .bus_type = 0 };
> struct fwnode_handle *ep;
> int ret;
>
> diff --git a/drivers/media/i2c/s5c73m3/s5c73m3-core.c b/drivers/media/i2c/s5c73m3/s5c73m3-core.c
> index 479c9753e863..9bb28faad1b3 100644
> --- a/drivers/media/i2c/s5c73m3/s5c73m3-core.c
> +++ b/drivers/media/i2c/s5c73m3/s5c73m3-core.c
> @@ -1603,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_fwnode_endpoint ep;
> + struct v4l2_fwnode_endpoint ep = { .bus_type = 0 };
> int ret;
>
> if (!node) {
> diff --git a/drivers/media/i2c/s5k5baf.c b/drivers/media/i2c/s5k5baf.c
> index 4c41a770b132..727db7c0670a 100644
> --- a/drivers/media/i2c/s5k5baf.c
> +++ b/drivers/media/i2c/s5k5baf.c
> @@ -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_fwnode_endpoint ep;
> + struct v4l2_fwnode_endpoint ep = { .bus_type = 0 };
> int ret;
>
> if (!node) {
> diff --git a/drivers/media/i2c/tda1997x.c b/drivers/media/i2c/tda1997x.c
> index d114ac5243ec..c4c2a6134e1e 100644
> --- a/drivers/media/i2c/tda1997x.c
> +++ b/drivers/media/i2c/tda1997x.c
> @@ -2265,7 +2265,7 @@ MODULE_DEVICE_TABLE(of, tda1997x_of_id);
> static int tda1997x_parse_dt(struct tda1997x_state *state)
> {
> struct tda1997x_platform_data *pdata = &state->pdata;
> - struct v4l2_fwnode_endpoint bus_cfg;
> + struct v4l2_fwnode_endpoint bus_cfg = { .bus_type = 0 };
> struct device_node *ep;
> struct device_node *np;
> unsigned int flags;
> diff --git a/drivers/media/i2c/tvp514x.c b/drivers/media/i2c/tvp514x.c
> index 675b9ae212ab..1cc83cb934e2 100644
> --- a/drivers/media/i2c/tvp514x.c
> +++ b/drivers/media/i2c/tvp514x.c
> @@ -989,7 +989,7 @@ static struct tvp514x_platform_data *
> tvp514x_get_pdata(struct i2c_client *client)
> {
> struct tvp514x_platform_data *pdata = NULL;
> - struct v4l2_fwnode_endpoint bus_cfg;
> + struct v4l2_fwnode_endpoint bus_cfg = { .bus_type = 0 };
> struct device_node *endpoint;
> unsigned int flags;
>
> diff --git a/drivers/media/i2c/tvp5150.c b/drivers/media/i2c/tvp5150.c
> index 76e6bed5a1da..a305c3022c9d 100644
> --- a/drivers/media/i2c/tvp5150.c
> +++ b/drivers/media/i2c/tvp5150.c
> @@ -1362,7 +1362,7 @@ static int tvp5150_init(struct i2c_client *c)
>
> static int tvp5150_parse_dt(struct tvp5150 *decoder, struct device_node *np)
> {
> - struct v4l2_fwnode_endpoint bus_cfg;
> + struct v4l2_fwnode_endpoint bus_cfg = { .bus_type = 0 };
> struct device_node *ep;
> #ifdef CONFIG_MEDIA_CONTROLLER
> struct device_node *connectors, *child;
> diff --git a/drivers/media/i2c/tvp7002.c b/drivers/media/i2c/tvp7002.c
> index 4f5c627579c7..cab2f2bd0aa9 100644
> --- a/drivers/media/i2c/tvp7002.c
> +++ b/drivers/media/i2c/tvp7002.c
> @@ -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_fwnode_endpoint bus_cfg;
> + struct v4l2_fwnode_endpoint bus_cfg = { .bus_type = 0 };
> struct tvp7002_config *pdata = NULL;
> struct device_node *endpoint;
> unsigned int flags;
> diff --git a/drivers/media/platform/am437x/am437x-vpfe.c b/drivers/media/platform/am437x/am437x-vpfe.c
> index 0b1a03b64b19..e13d2b3a7168 100644
> --- a/drivers/media/platform/am437x/am437x-vpfe.c
> +++ b/drivers/media/platform/am437x/am437x-vpfe.c
> @@ -2426,7 +2426,6 @@ static struct vpfe_config *
> vpfe_get_pdata(struct vpfe_device *vpfe)
> {
> struct device_node *endpoint = NULL;
> - struct v4l2_fwnode_endpoint bus_cfg;
> struct device *dev = vpfe->pdev;
> struct vpfe_subdev_info *sdinfo;
> struct vpfe_config *pdata;
> @@ -2446,6 +2445,7 @@ vpfe_get_pdata(struct vpfe_device *vpfe)
> return NULL;
>
> for (i = 0; ; i++) {
> + struct v4l2_fwnode_endpoint bus_cfg = { .bus_type = 0 };
> struct device_node *rem;
>
> endpoint = of_graph_get_next_endpoint(dev->of_node, endpoint);
> diff --git a/drivers/media/platform/atmel/atmel-isc.c b/drivers/media/platform/atmel/atmel-isc.c
> index 334de0f2e36a..50178968b8a6 100644
> --- a/drivers/media/platform/atmel/atmel-isc.c
> +++ b/drivers/media/platform/atmel/atmel-isc.c
> @@ -2028,7 +2028,6 @@ static int isc_parse_dt(struct device *dev, struct isc_device *isc)
> {
> struct device_node *np = dev->of_node;
> struct device_node *epn = NULL, *rem;
> - struct v4l2_fwnode_endpoint v4l2_epn;
> struct isc_subdev_entity *subdev_entity;
> unsigned int flags;
> int ret;
> @@ -2036,6 +2035,8 @@ static int isc_parse_dt(struct device *dev, struct isc_device *isc)
> INIT_LIST_HEAD(&isc->subdev_entities);
>
> while (1) {
> + struct v4l2_fwnode_endpoint v4l2_epn = { .bus_type = 0 };
> +
> epn = of_graph_get_next_endpoint(np, epn);
> if (!epn)
> return 0;
> diff --git a/drivers/media/platform/atmel/atmel-isi.c b/drivers/media/platform/atmel/atmel-isi.c
> index c4d5f05786e8..fdb255e4a956 100644
> --- a/drivers/media/platform/atmel/atmel-isi.c
> +++ b/drivers/media/platform/atmel/atmel-isi.c
> @@ -790,7 +790,7 @@ static int atmel_isi_parse_dt(struct atmel_isi *isi,
> struct platform_device *pdev)
> {
> struct device_node *np = pdev->dev.of_node;
> - struct v4l2_fwnode_endpoint ep;
> + struct v4l2_fwnode_endpoint ep = { .bus_type = 0 };
> int err;
>
> /* Default settings for ISI */
> diff --git a/drivers/media/platform/cadence/cdns-csi2rx.c b/drivers/media/platform/cadence/cdns-csi2rx.c
> index 0776a34f28ee..31ace114eda1 100644
> --- a/drivers/media/platform/cadence/cdns-csi2rx.c
> +++ b/drivers/media/platform/cadence/cdns-csi2rx.c
> @@ -361,7 +361,7 @@ static int csi2rx_get_resources(struct csi2rx_priv *csi2rx,
>
> static int csi2rx_parse_dt(struct csi2rx_priv *csi2rx)
> {
> - struct v4l2_fwnode_endpoint v4l2_ep;
> + struct v4l2_fwnode_endpoint v4l2_ep = { .bus_type = 0 };
> struct fwnode_handle *fwh;
> struct device_node *ep;
> int ret;
> diff --git a/drivers/media/platform/cadence/cdns-csi2tx.c b/drivers/media/platform/cadence/cdns-csi2tx.c
> index 6224daf891d7..5042d053b94e 100644
> --- a/drivers/media/platform/cadence/cdns-csi2tx.c
> +++ b/drivers/media/platform/cadence/cdns-csi2tx.c
> @@ -432,7 +432,7 @@ static int csi2tx_get_resources(struct csi2tx_priv *csi2tx,
>
> static int csi2tx_check_lanes(struct csi2tx_priv *csi2tx)
> {
> - struct v4l2_fwnode_endpoint v4l2_ep;
> + struct v4l2_fwnode_endpoint v4l2_ep = { .bus_type = 0 };
> struct device_node *ep;
> int ret;
>
> diff --git a/drivers/media/platform/davinci/vpif_capture.c b/drivers/media/platform/davinci/vpif_capture.c
> index 23e237a5ea1a..69fec88031fd 100644
> --- a/drivers/media/platform/davinci/vpif_capture.c
> +++ b/drivers/media/platform/davinci/vpif_capture.c
> @@ -1511,7 +1511,6 @@ static struct vpif_capture_config *
> vpif_capture_get_pdata(struct platform_device *pdev)
> {
> struct device_node *endpoint = NULL;
> - struct v4l2_fwnode_endpoint bus_cfg;
> struct vpif_capture_config *pdata;
> struct vpif_subdev_info *sdinfo;
> struct vpif_capture_chan_config *chan;
> @@ -1541,6 +1540,7 @@ vpif_capture_get_pdata(struct platform_device *pdev)
> return NULL;
>
> for (i = 0; i < VPIF_CAPTURE_NUM_CHANNELS; i++) {
> + struct v4l2_fwnode_endpoint bus_cfg = { .bus_type = 0 };
> struct device_node *rem;
> unsigned int flags;
> int err;
> diff --git a/drivers/media/platform/exynos4-is/media-dev.c b/drivers/media/platform/exynos4-is/media-dev.c
> index fbad0635c6b5..870501b0f351 100644
> --- a/drivers/media/platform/exynos4-is/media-dev.c
> +++ b/drivers/media/platform/exynos4-is/media-dev.c
> @@ -390,7 +390,7 @@ static int fimc_md_parse_port_node(struct fimc_md *fmd,
> {
> struct fimc_source_info *pd = &fmd->sensor[index].pdata;
> struct device_node *rem, *ep, *np;
> - struct v4l2_fwnode_endpoint endpoint;
> + struct v4l2_fwnode_endpoint endpoint = { .bus_type = 0 };
> int ret;
>
> /* Assume here a port node can have only one endpoint node. */
> diff --git a/drivers/media/platform/exynos4-is/mipi-csis.c b/drivers/media/platform/exynos4-is/mipi-csis.c
> index b4e28a299e26..35cb0162085b 100644
> --- a/drivers/media/platform/exynos4-is/mipi-csis.c
> +++ b/drivers/media/platform/exynos4-is/mipi-csis.c
> @@ -718,7 +718,7 @@ static int s5pcsis_parse_dt(struct platform_device *pdev,
> struct csis_state *state)
> {
> struct device_node *node = pdev->dev.of_node;
> - struct v4l2_fwnode_endpoint endpoint;
> + struct v4l2_fwnode_endpoint endpoint = { .bus_type = 0 };
> int ret;
>
> if (of_property_read_u32(node, "clock-frequency",
> diff --git a/drivers/media/platform/pxa_camera.c b/drivers/media/platform/pxa_camera.c
> index a47be1242cf4..d16ca667ec44 100644
> --- a/drivers/media/platform/pxa_camera.c
> +++ b/drivers/media/platform/pxa_camera.c
> @@ -2298,7 +2298,7 @@ static int pxa_camera_pdata_from_dt(struct device *dev,
> {
> u32 mclk_rate;
> struct device_node *remote, *np = dev->of_node;
> - struct v4l2_fwnode_endpoint ep;
> + struct v4l2_fwnode_endpoint ep = { .bus_type = 0 };
> int err = of_property_read_u32(np, "clock-frequency",
> &mclk_rate);
> if (!err) {
> diff --git a/drivers/media/platform/rcar-vin/rcar-csi2.c b/drivers/media/platform/rcar-vin/rcar-csi2.c
> index 25edc2edd197..b0044a08e71e 100644
> --- a/drivers/media/platform/rcar-vin/rcar-csi2.c
> +++ b/drivers/media/platform/rcar-vin/rcar-csi2.c
> @@ -743,7 +743,7 @@ static int rcsi2_parse_v4l2(struct rcar_csi2 *priv,
> static int rcsi2_parse_dt(struct rcar_csi2 *priv)
> {
> struct device_node *ep;
> - struct v4l2_fwnode_endpoint v4l2_ep;
> + struct v4l2_fwnode_endpoint v4l2_ep = { .bus_type = 0 };
> int ret;
>
> ep = of_graph_get_endpoint_by_regs(priv->dev->of_node, 0, 0);
> diff --git a/drivers/media/platform/renesas-ceu.c b/drivers/media/platform/renesas-ceu.c
> index eee4ae7234be..035f1d3f10e5 100644
> --- a/drivers/media/platform/renesas-ceu.c
> +++ b/drivers/media/platform/renesas-ceu.c
> @@ -1536,7 +1536,6 @@ static int ceu_parse_platform_data(struct ceu_device *ceudev,
> static int ceu_parse_dt(struct ceu_device *ceudev)
> {
> struct device_node *of = ceudev->dev->of_node;
> - struct v4l2_fwnode_endpoint fw_ep;
> struct device_node *ep, *remote;
> struct ceu_subdev *ceu_sd;
> unsigned int i;
> @@ -1552,6 +1551,8 @@ static int ceu_parse_dt(struct ceu_device *ceudev)
> return ret;
>
> for (i = 0; i < num_ep; i++) {
> + struct v4l2_fwnode_endpoint fw_ep = { .bus_type = 0 };
> +
> ep = of_graph_get_endpoint_by_regs(of, 0, i);
> if (!ep) {
> dev_err(ceudev->dev,
> diff --git a/drivers/media/platform/stm32/stm32-dcmi.c b/drivers/media/platform/stm32/stm32-dcmi.c
> index da296a2afc2e..07d154024183 100644
> --- a/drivers/media/platform/stm32/stm32-dcmi.c
> +++ b/drivers/media/platform/stm32/stm32-dcmi.c
> @@ -1621,7 +1621,7 @@ static int dcmi_probe(struct platform_device *pdev)
> {
> struct device_node *np = pdev->dev.of_node;
> const struct of_device_id *match = NULL;
> - struct v4l2_fwnode_endpoint ep;
> + struct v4l2_fwnode_endpoint ep = { .bus_type = 0 };
> struct stm32_dcmi *dcmi;
> struct vb2_queue *q;
> struct dma_chan *chan;
> diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
> index 539159d9af6b..ac9d718d7ff0 100644
> --- a/drivers/staging/media/imx/imx-media-csi.c
> +++ b/drivers/staging/media/imx/imx-media-csi.c
> @@ -1050,7 +1050,7 @@ static int csi_link_validate(struct v4l2_subdev *sd,
> struct v4l2_subdev_format *sink_fmt)
> {
> struct csi_priv *priv = v4l2_get_subdevdata(sd);
> - struct v4l2_fwnode_endpoint upstream_ep = {};
> + struct v4l2_fwnode_endpoint upstream_ep = { .bus_type = 0 };
> bool is_csi2;
> int ret;
>
> @@ -1164,7 +1164,7 @@ static int csi_enum_mbus_code(struct v4l2_subdev *sd,
> struct v4l2_subdev_mbus_code_enum *code)
> {
> struct csi_priv *priv = v4l2_get_subdevdata(sd);
> - struct v4l2_fwnode_endpoint upstream_ep;
> + struct v4l2_fwnode_endpoint upstream_ep = { .bus_type = 0 };
> const struct imx_media_pixfmt *incc;
> struct v4l2_mbus_framefmt *infmt;
> int ret = 0;
> @@ -1403,7 +1403,7 @@ static int csi_set_fmt(struct v4l2_subdev *sd,
> {
> struct csi_priv *priv = v4l2_get_subdevdata(sd);
> struct imx_media_video_dev *vdev = priv->vdev;
> - struct v4l2_fwnode_endpoint upstream_ep;
> + struct v4l2_fwnode_endpoint upstream_ep = { .bus_type = 0 };
> const struct imx_media_pixfmt *cc;
> struct v4l2_pix_format vdev_fmt;
> struct v4l2_mbus_framefmt *fmt;
> @@ -1542,7 +1542,7 @@ static int csi_set_selection(struct v4l2_subdev *sd,
> struct v4l2_subdev_selection *sel)
> {
> struct csi_priv *priv = v4l2_get_subdevdata(sd);
> - struct v4l2_fwnode_endpoint upstream_ep;
> + struct v4l2_fwnode_endpoint upstream_ep = { .bus_type = 0 };
> struct v4l2_mbus_framefmt *infmt;
> struct v4l2_rect *crop, *compose;
> int pad, ret;
> diff --git a/include/media/v4l2-fwnode.h b/include/media/v4l2-fwnode.h
> index 4a371c3ad86c..1ea1a3ecf6d5 100644
> --- a/include/media/v4l2-fwnode.h
> +++ b/include/media/v4l2-fwnode.h
> @@ -139,6 +139,8 @@ struct v4l2_fwnode_link {
> * set the V4L2_MBUS_CSI2_CONTINUOUS_CLOCK flag. The caller should hold a
> * reference to @fwnode.
> *
> + * The caller must set the bus_type field of @vep to zero.
> + *
> * NOTE: This function does not parse properties the size of which is variable
> * without a low fixed limit. Please use v4l2_fwnode_endpoint_alloc_parse() in
> * new drivers instead.
> --
> 2.11.0
>
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2018-09-13 9:46 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-12 21:29 [PATCH v3 00/23] V4L2 fwnode rework; support for default configuration Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 01/23] v4l: fwnode: Add debug prints for V4L2 endpoint property parsing Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 02/23] v4l: fwnode: Use fwnode_graph_for_each_endpoint Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 03/23] v4l: fwnode: The CSI-2 clock is continuous if it's not non-continuous Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 04/23] dt-bindings: media: Specify bus type for MIPI D-PHY, others, explicitly Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 05/23] v4l: fwnode: Add definitions for CSI-2 D-PHY, parallel and Bt.656 busses Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 06/23] v4l: mediabus: Recognise CSI-2 D-PHY and C-PHY Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 07/23] v4l: fwnode: Let the caller provide V4L2 fwnode endpoint Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 08/23] v4l: fwnode: Detect bus type correctly Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 09/23] v4l: fwnode: Make use of newly specified bus types Sakari Ailus
2018-09-13 9:14 ` jacopo mondi
2018-09-13 9:43 ` [PATCH v3.1 " Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 10/23] v4l: fwnode: Read lane inversion information despite lane numbering Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 11/23] v4l: fwnode: Only assign configuration if there is no error Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 12/23] v4l: fwnode: Support driver-defined lane mapping defaults Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 13/23] v4l: fwnode: Support default CSI-2 lane mapping for drivers Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 14/23] v4l: fwnode: Parse the graph endpoint as last Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 15/23] v4l: fwnode: Use default parallel flags Sakari Ailus
2018-09-13 9:17 ` jacopo mondi
2018-09-12 21:29 ` [PATCH v3 16/23] v4l: fwnode: Initialise the V4L2 fwnode endpoints to zero Sakari Ailus
2018-09-13 9:46 ` jacopo mondi [this message]
2018-09-13 9:55 ` Sakari Ailus
2018-09-13 10:19 ` Sakari Ailus
2018-09-13 13:19 ` jacopo mondi
2018-09-12 21:29 ` [PATCH v3 17/23] v4l: fwnode: Only zero the struct if bus type is set to V4L2_MBUS_UNKNOWN Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 18/23] v4l: fwnode: Use media bus type for bus parser selection Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 19/23] v4l: fwnode: Print bus type Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 20/23] v4l: fwnode: Use V4L2 fwnode endpoint media bus type if set Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 21/23] v4l: fwnode: Support parsing of CSI-2 C-PHY endpoints Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 22/23] v4l: fwnode: Update V4L2 fwnode endpoint parsing documentation Sakari Ailus
2018-09-12 21:29 ` [PATCH v3 23/23] smiapp: Query the V4L2 endpoint for a specific bus type Sakari Ailus
2018-09-13 9:54 ` [PATCH v3 00/23] V4L2 fwnode rework; support for default configuration jacopo mondi
2018-09-13 10:00 ` Sakari Ailus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180913094614.GS20333@w540 \
--to=jacopo@jmondi.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-media@vger.kernel.org \
--cc=niklas.soderlund@ragnatech.se \
--cc=sakari.ailus@linux.intel.com \
--cc=slongerbeam@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).