From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Jacopo Mondi <jacopo+renesas@jmondi.org>
Cc: magnus.damm@gmail.com, geert@glider.be, mchehab@kernel.org,
hverkuil@xs4all.nl, robh+dt@kernel.org, mark.rutland@arm.com,
linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org,
linux-sh@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 9/9] media: i2c: tw9910: Remove soc_camera dependencies
Date: Tue, 02 Jan 2018 17:50:38 +0200 [thread overview]
Message-ID: <3834014.tgMKCuKOQE@avalon> (raw)
In-Reply-To: <1514469681-15602-10-git-send-email-jacopo+renesas@jmondi.org>
Hi Jacopo,
Thank you for the patch.
On Thursday, 28 December 2017 16:01:21 EET Jacopo Mondi wrote:
> Remove soc_camera framework dependencies from tw9910 sensor driver.
> - Handle clock and gpios
> - Register async subdevice
> - Remove soc_camera specific g/s_mbus_config operations
> - Add kernel doc to driver interface header file
> - Adjust build system
>
> This commit does not remove the original soc_camera based driver as long
> as other platforms depends on soc_camera-based CEU driver.
>
> Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
> ---
> drivers/media/i2c/Kconfig | 9 +++
> drivers/media/i2c/Makefile | 1 +
> drivers/media/i2c/tw9910.c | 158 ++++++++++++++++++++++++++---------------
> include/media/i2c/tw9910.h | 9 +++
> 4 files changed, 116 insertions(+), 61 deletions(-)
[snip]
> diff --git a/drivers/media/i2c/tw9910.c b/drivers/media/i2c/tw9910.c
> index bdb5e0a..efbdebe 100644
> --- a/drivers/media/i2c/tw9910.c
> +++ b/drivers/media/i2c/tw9910.c
[snip]
> @@ -799,8 +848,8 @@ static int tw9910_video_probe(struct i2c_client *client)
> /*
> * tw9910 only use 8 or 16 bit bus width
> */
> - if (SOCAM_DATAWIDTH_16 != priv->info->buswidth &&
> - SOCAM_DATAWIDTH_8 != priv->info->buswidth) {
> + if (priv->info->buswidth != 16 &&
> + priv->info->buswidth != 8) {
No need for a line break.
> dev_err(&client->dev, "bus width error\n");
> return -ENODEV;
> }
[snip]
> @@ -959,13 +966,37 @@ static int tw9910_probe(struct i2c_client *client,
>
> v4l2_i2c_subdev_init(&priv->subdev, client, &tw9910_subdev_ops);
>
> - priv->clk = v4l2_clk_get(&client->dev, "mclk");
> - if (IS_ERR(priv->clk))
> + priv->clk = clk_get(&client->dev, "mclk");
The clock signal is called XTI (see page 60 of http://www.tecworth.com/
administrator/upload/200956419240864.pdf). You should add a clock alias as for
the ov7725.
> + if (PTR_ERR(priv->clk) == -ENOENT) {
> + priv->clk = NULL;
> + } else if (IS_ERR(priv->clk)) {
> + dev_err(&client->dev, "Unable to get mclk clock\n");
> return PTR_ERR(priv->clk);
> + }
> +
> + priv->pdn_gpio = gpiod_get_optional(&client->dev, "pdn",
> + GPIOD_OUT_HIGH);
> + if (IS_ERR(priv->pdn_gpio)) {
> + dev_info(&client->dev, "Unable to get GPIO \"pdn\"");
> + ret = PTR_ERR(priv->pdn_gpio);
> + goto error_clk_put;
> + }
>
> ret = tw9910_video_probe(client);
> if (ret < 0)
> - v4l2_clk_put(priv->clk);
> + goto error_gpio_put;
> +
> + ret = v4l2_async_register_subdev(&priv->subdev);
> + if (ret)
> + goto error_gpio_put;
> +
> + return ret;
> +
> +error_gpio_put:
> + if (priv->pdn_gpio)
> + gpiod_put(priv->pdn_gpio);
> +error_clk_put:
> + clk_put(priv->clk);
>
> return ret;
> }
[snip]
With these small issues fixed, and the comments to ov7725 that apply to tw9910
addressed,
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
--
Regards,
Laurent Pinchart
WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Jacopo Mondi <jacopo+renesas@jmondi.org>
Cc: magnus.damm@gmail.com, geert@glider.be, mchehab@kernel.org,
hverkuil@xs4all.nl, robh+dt@kernel.org, mark.rutland@arm.com,
linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org,
linux-sh@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 9/9] media: i2c: tw9910: Remove soc_camera dependencies
Date: Tue, 02 Jan 2018 15:50:38 +0000 [thread overview]
Message-ID: <3834014.tgMKCuKOQE@avalon> (raw)
In-Reply-To: <1514469681-15602-10-git-send-email-jacopo+renesas@jmondi.org>
Hi Jacopo,
Thank you for the patch.
On Thursday, 28 December 2017 16:01:21 EET Jacopo Mondi wrote:
> Remove soc_camera framework dependencies from tw9910 sensor driver.
> - Handle clock and gpios
> - Register async subdevice
> - Remove soc_camera specific g/s_mbus_config operations
> - Add kernel doc to driver interface header file
> - Adjust build system
>
> This commit does not remove the original soc_camera based driver as long
> as other platforms depends on soc_camera-based CEU driver.
>
> Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
> ---
> drivers/media/i2c/Kconfig | 9 +++
> drivers/media/i2c/Makefile | 1 +
> drivers/media/i2c/tw9910.c | 158 ++++++++++++++++++++++++++---------------
> include/media/i2c/tw9910.h | 9 +++
> 4 files changed, 116 insertions(+), 61 deletions(-)
[snip]
> diff --git a/drivers/media/i2c/tw9910.c b/drivers/media/i2c/tw9910.c
> index bdb5e0a..efbdebe 100644
> --- a/drivers/media/i2c/tw9910.c
> +++ b/drivers/media/i2c/tw9910.c
[snip]
> @@ -799,8 +848,8 @@ static int tw9910_video_probe(struct i2c_client *client)
> /*
> * tw9910 only use 8 or 16 bit bus width
> */
> - if (SOCAM_DATAWIDTH_16 != priv->info->buswidth &&
> - SOCAM_DATAWIDTH_8 != priv->info->buswidth) {
> + if (priv->info->buswidth != 16 &&
> + priv->info->buswidth != 8) {
No need for a line break.
> dev_err(&client->dev, "bus width error\n");
> return -ENODEV;
> }
[snip]
> @@ -959,13 +966,37 @@ static int tw9910_probe(struct i2c_client *client,
>
> v4l2_i2c_subdev_init(&priv->subdev, client, &tw9910_subdev_ops);
>
> - priv->clk = v4l2_clk_get(&client->dev, "mclk");
> - if (IS_ERR(priv->clk))
> + priv->clk = clk_get(&client->dev, "mclk");
The clock signal is called XTI (see page 60 of http://www.tecworth.com/
administrator/upload/200956419240864.pdf). You should add a clock alias as for
the ov7725.
> + if (PTR_ERR(priv->clk) = -ENOENT) {
> + priv->clk = NULL;
> + } else if (IS_ERR(priv->clk)) {
> + dev_err(&client->dev, "Unable to get mclk clock\n");
> return PTR_ERR(priv->clk);
> + }
> +
> + priv->pdn_gpio = gpiod_get_optional(&client->dev, "pdn",
> + GPIOD_OUT_HIGH);
> + if (IS_ERR(priv->pdn_gpio)) {
> + dev_info(&client->dev, "Unable to get GPIO \"pdn\"");
> + ret = PTR_ERR(priv->pdn_gpio);
> + goto error_clk_put;
> + }
>
> ret = tw9910_video_probe(client);
> if (ret < 0)
> - v4l2_clk_put(priv->clk);
> + goto error_gpio_put;
> +
> + ret = v4l2_async_register_subdev(&priv->subdev);
> + if (ret)
> + goto error_gpio_put;
> +
> + return ret;
> +
> +error_gpio_put:
> + if (priv->pdn_gpio)
> + gpiod_put(priv->pdn_gpio);
> +error_clk_put:
> + clk_put(priv->clk);
>
> return ret;
> }
[snip]
With these small issues fixed, and the comments to ov7725 that apply to tw9910
addressed,
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2018-01-02 15:50 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-28 14:01 [PATCH v2 0/9] Renesas Capture Engine Unit (CEU) V4L2 driver Jacopo Mondi
2017-12-28 14:01 ` Jacopo Mondi
2017-12-28 14:01 ` [PATCH v2 1/9] dt-bindings: media: Add Renesas CEU bindings Jacopo Mondi
2017-12-28 14:01 ` Jacopo Mondi
2017-12-28 14:01 ` Jacopo Mondi
2018-01-02 9:34 ` Geert Uytterhoeven
2018-01-02 9:34 ` Geert Uytterhoeven
2018-01-02 11:45 ` Laurent Pinchart
2018-01-02 11:45 ` Laurent Pinchart
2018-01-03 8:49 ` jacopo mondi
2018-01-03 8:49 ` jacopo mondi
2018-01-03 11:22 ` Laurent Pinchart
2018-01-03 11:22 ` Laurent Pinchart
2017-12-28 14:01 ` [PATCH v2 2/9] include: media: Add Renesas CEU driver interface Jacopo Mondi
2017-12-28 14:01 ` Jacopo Mondi
2018-01-02 11:50 ` Laurent Pinchart
2018-01-02 11:50 ` Laurent Pinchart
2018-01-03 9:00 ` jacopo mondi
2018-01-03 9:00 ` jacopo mondi
2017-12-28 14:01 ` [PATCH v2 3/9] v4l: platform: Add Renesas CEU driver Jacopo Mondi
2017-12-28 14:01 ` Jacopo Mondi
2018-01-02 13:46 ` Laurent Pinchart
2018-01-02 13:46 ` Laurent Pinchart
2018-01-02 13:46 ` Laurent Pinchart
2018-01-03 10:47 ` jacopo mondi
2018-01-03 10:47 ` jacopo mondi
2018-01-03 11:19 ` Laurent Pinchart
2018-01-03 11:19 ` Laurent Pinchart
2017-12-28 14:01 ` [PATCH v2 4/9] ARM: dts: r7s72100: Add Capture Engine Unit (CEU) Jacopo Mondi
2017-12-28 14:01 ` Jacopo Mondi
2018-01-02 9:35 ` Geert Uytterhoeven
2018-01-02 9:35 ` Geert Uytterhoeven
2018-01-02 9:35 ` Geert Uytterhoeven
2018-01-02 13:54 ` Laurent Pinchart
2018-01-02 13:54 ` Laurent Pinchart
2018-01-02 13:54 ` Laurent Pinchart
2017-12-28 14:01 ` [PATCH v2 5/9] arch: sh: migor: Use new renesas-ceu camera driver Jacopo Mondi
2017-12-28 14:01 ` Jacopo Mondi
2017-12-30 19:04 ` kbuild test robot
2017-12-30 19:04 ` kbuild test robot
2017-12-30 19:04 ` kbuild test robot
2018-01-02 15:27 ` Laurent Pinchart
2018-01-02 15:27 ` Laurent Pinchart
2017-12-28 14:01 ` [PATCH v2 6/9] v4l: i2c: Copy ov772x soc_camera sensor driver Jacopo Mondi
2017-12-28 14:01 ` Jacopo Mondi
2017-12-29 12:47 ` Philippe Ombredanne
2017-12-29 12:47 ` Philippe Ombredanne
2018-01-02 9:00 ` jacopo mondi
2018-01-02 9:00 ` jacopo mondi
2017-12-28 14:01 ` [PATCH v2 7/9] media: i2c: ov772x: Remove soc_camera dependencies Jacopo Mondi
2017-12-28 14:01 ` Jacopo Mondi
2018-01-02 15:44 ` Laurent Pinchart
2018-01-02 15:44 ` Laurent Pinchart
2018-01-03 15:44 ` jacopo mondi
2018-01-03 15:44 ` jacopo mondi
2018-01-03 15:44 ` jacopo mondi
2018-01-03 15:49 ` Laurent Pinchart
2018-01-03 15:49 ` Laurent Pinchart
2018-01-03 16:24 ` jacopo mondi
2018-01-03 16:24 ` jacopo mondi
2017-12-28 14:01 ` [PATCH v2 8/9] v4l: i2c: Copy tw9910 soc_camera sensor driver Jacopo Mondi
2017-12-28 14:01 ` Jacopo Mondi
2017-12-28 14:01 ` [PATCH v2 9/9] media: i2c: tw9910: Remove soc_camera dependencies Jacopo Mondi
2017-12-28 14:01 ` Jacopo Mondi
2018-01-02 15:50 ` Laurent Pinchart [this message]
2018-01-02 15:50 ` Laurent Pinchart
2018-01-03 16:24 ` jacopo mondi
2018-01-03 16:24 ` jacopo mondi
2018-01-03 16:41 ` Fabio Estevam
2018-01-03 16:41 ` Fabio Estevam
2018-01-03 17:13 ` jacopo mondi
2018-01-03 17:13 ` jacopo mondi
2018-01-03 17:13 ` jacopo mondi
2018-01-03 17:27 ` Fabio Estevam
2018-01-03 17:27 ` Fabio Estevam
2018-01-03 17:37 ` jacopo mondi
2018-01-03 17:37 ` jacopo mondi
2018-01-03 18:14 ` Fabio Estevam
2018-01-03 18:14 ` Fabio Estevam
2018-01-03 19:34 ` jacopo mondi
2018-01-03 19:34 ` jacopo mondi
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=3834014.tgMKCuKOQE@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=devicetree@vger.kernel.org \
--cc=geert@glider.be \
--cc=hverkuil@xs4all.nl \
--cc=jacopo+renesas@jmondi.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=mark.rutland@arm.com \
--cc=mchehab@kernel.org \
--cc=robh+dt@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.