All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Verkuil <hverkuil-cisco@xs4all.nl>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Jacopo Mondi <jacopo+renesas@jmondi.org>
Cc: kieran.bingham+renesas@ideasonboard.com,
	niklas.soderlund+renesas@ragnatech.se, geert@linux-m68k.org,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 12/15] media: i2c: rdacm20: Embed 'serializer' field
Date: Thu, 17 Jun 2021 08:18:42 +0200	[thread overview]
Message-ID: <1e6e5cd0-82b1-db7a-ec70-ebb8831c11c4@xs4all.nl> (raw)
In-Reply-To: <YMqTyFvxer0vjsKT@pendragon.ideasonboard.com>

On 17/06/2021 02:14, Laurent Pinchart wrote:
> Hi Jacopo,
> 
> Thank you for the patch.
> 
> This should be moved before 11/15 to avoid a bisection breakage (or
> 11/15 should be fixed, and this patch updated accordingly).

Good catch!

Jacopo, I dropped the PR I made. It you just want to swap patch 11 and 12,
then I can do that, if you want more extensive changes, then I need a v6.

Let me know what you want.

	Hans

> 
> On Wed, Jun 16, 2021 at 02:46:13PM +0200, Jacopo Mondi wrote:
>> There's no reason to allocate dynamically the 'serializer' field in
>> the driver structure.
>>
>> Embed the field and adjust all its users in the driver.
>>
>> Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
>> Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> ---
>>  drivers/media/i2c/rdacm20.c | 36 +++++++++++++++---------------------
>>  1 file changed, 15 insertions(+), 21 deletions(-)
>>
>> diff --git a/drivers/media/i2c/rdacm20.c b/drivers/media/i2c/rdacm20.c
>> index 5e0314a2b1ca..029af8fd7485 100644
>> --- a/drivers/media/i2c/rdacm20.c
>> +++ b/drivers/media/i2c/rdacm20.c
>> @@ -312,7 +312,7 @@ static const struct ov10635_reg {
>>  
>>  struct rdacm20_device {
>>  	struct device			*dev;
>> -	struct max9271_device		*serializer;
>> +	struct max9271_device		serializer;
>>  	struct i2c_client		*sensor;
>>  	struct v4l2_subdev		sd;
>>  	struct media_pad		pad;
>> @@ -399,7 +399,7 @@ static int rdacm20_s_stream(struct v4l2_subdev *sd, int enable)
>>  {
>>  	struct rdacm20_device *dev = sd_to_rdacm20(sd);
>>  
>> -	return max9271_set_serial_link(dev->serializer, enable);
>> +	return max9271_set_serial_link(&dev->serializer, enable);
>>  }
>>  
>>  static int rdacm20_enum_mbus_code(struct v4l2_subdev *sd,
>> @@ -455,10 +455,10 @@ static int rdacm20_initialize(struct rdacm20_device *dev)
>>  	unsigned int retry = 3;
>>  	int ret;
>>  
>> -	max9271_wake_up(dev->serializer);
>> +	max9271_wake_up(&dev->serializer);
>>  
>>  	/* Serial link disabled during config as it needs a valid pixel clock. */
>> -	ret = max9271_set_serial_link(dev->serializer, false);
>> +	ret = max9271_set_serial_link(&dev->serializer, false);
>>  	if (ret)
>>  		return ret;
>>  
>> @@ -466,35 +466,35 @@ static int rdacm20_initialize(struct rdacm20_device *dev)
>>  	 *  Ensure that we have a good link configuration before attempting to
>>  	 *  identify the device.
>>  	 */
>> -	max9271_configure_i2c(dev->serializer, MAX9271_I2CSLVSH_469NS_234NS |
>> -					       MAX9271_I2CSLVTO_1024US |
>> -					       MAX9271_I2CMSTBT_105KBPS);
>> +	max9271_configure_i2c(&dev->serializer, MAX9271_I2CSLVSH_469NS_234NS |
>> +						MAX9271_I2CSLVTO_1024US |
>> +						MAX9271_I2CMSTBT_105KBPS);
>>  
>> -	max9271_configure_gmsl_link(dev->serializer);
>> +	max9271_configure_gmsl_link(&dev->serializer);
>>  
>> -	ret = max9271_verify_id(dev->serializer);
>> +	ret = max9271_verify_id(&dev->serializer);
>>  	if (ret < 0)
>>  		return ret;
>>  
>> -	ret = max9271_set_address(dev->serializer, dev->addrs[0]);
>> +	ret = max9271_set_address(&dev->serializer, dev->addrs[0]);
>>  	if (ret < 0)
>>  		return ret;
>> -	dev->serializer->client->addr = dev->addrs[0];
>> +	dev->serializer.client->addr = dev->addrs[0];
>>  
>>  	/*
>>  	 * Reset the sensor by cycling the OV10635 reset signal connected to the
>>  	 * MAX9271 GPIO1 and verify communication with the OV10635.
>>  	 */
>> -	ret = max9271_enable_gpios(dev->serializer, MAX9271_GPIO1OUT);
>> +	ret = max9271_enable_gpios(&dev->serializer, MAX9271_GPIO1OUT);
>>  	if (ret)
>>  		return ret;
>>  
>> -	ret = max9271_clear_gpios(dev->serializer, MAX9271_GPIO1OUT);
>> +	ret = max9271_clear_gpios(&dev->serializer, MAX9271_GPIO1OUT);
>>  	if (ret)
>>  		return ret;
>>  	usleep_range(10000, 15000);
>>  
>> -	ret = max9271_set_gpios(dev->serializer, MAX9271_GPIO1OUT);
>> +	ret = max9271_set_gpios(&dev->serializer, MAX9271_GPIO1OUT);
>>  	if (ret)
>>  		return ret;
>>  	usleep_range(10000, 15000);
>> @@ -564,13 +564,7 @@ static int rdacm20_probe(struct i2c_client *client)
>>  	if (!dev)
>>  		return -ENOMEM;
>>  	dev->dev = &client->dev;
>> -
>> -	dev->serializer = devm_kzalloc(&client->dev, sizeof(*dev->serializer),
>> -				       GFP_KERNEL);
>> -	if (!dev->serializer)
>> -		return -ENOMEM;
>> -
>> -	dev->serializer->client = client;
>> +	dev->serializer.client = client;
>>  
>>  	ret = of_property_read_u32_array(client->dev.of_node, "reg",
>>  					 dev->addrs, 2);
> 


  reply	other threads:[~2021-06-17  6:18 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-16 12:46 [PATCH v5 00/15] media: gmsl: Reliability improvements Jacopo Mondi
2021-06-16 12:46 ` [PATCH v5 01/15] media: i2c: max9286: Adjust parameters indent Jacopo Mondi
2021-06-16 12:46 ` [PATCH v5 02/15] media: i2c: max9286: Rename reverse_channel_mv Jacopo Mondi
2021-06-16 12:46 ` [PATCH v5 03/15] media: i2c: max9286: Cache channel amplitude Jacopo Mondi
2021-06-16 12:46 ` [PATCH v5 04/15] media: i2c: max9286: Define high " Jacopo Mondi
2021-06-16 12:46 ` [PATCH v5 05/15] media: i2c: max9286: Rework comments in .bound() Jacopo Mondi
2021-06-16 12:46 ` [PATCH v5 06/15] media: i2c: max9271: Check max9271_write() return Jacopo Mondi
2021-06-16 12:46 ` [PATCH v5 07/15] media: i2c: max9271: Introduce wake_up() function Jacopo Mondi
2021-06-16 12:46 ` [PATCH v5 08/15] media: i2c: rdacm21: Add delay after OV490 reset Jacopo Mondi
2021-06-16 12:46 ` [PATCH v5 09/15] media: i2c: rdacm21: Fix OV10640 powerup Jacopo Mondi
2021-06-16 12:46 ` [PATCH v5 10/15] media: i2c: rdacm21: Power up OV10640 before OV490 Jacopo Mondi
2021-06-16 23:47   ` Kieran Bingham
2021-06-16 12:46 ` [PATCH v5 11/15] media: i2c: rdacm20: Enable noise immunity Jacopo Mondi
2021-06-16 12:46 ` [PATCH v5 12/15] media: i2c: rdacm20: Embed 'serializer' field Jacopo Mondi
2021-06-17  0:14   ` Laurent Pinchart
2021-06-17  6:18     ` Hans Verkuil [this message]
2021-06-17  7:42       ` Jacopo Mondi
2021-06-17  8:12         ` Hans Verkuil
2021-06-17  8:20           ` Jacopo Mondi
2021-06-16 12:46 ` [PATCH v5 13/15] media: i2c: rdacm20: Report camera module name Jacopo Mondi
2021-06-16 12:46 ` [PATCH v5 14/15] media: i2c: rdacm20: Check return values Jacopo Mondi
2021-06-16 12:46 ` [PATCH v5 15/15] media: i2c: rdacm20: Re-work ov10635 reset 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=1e6e5cd0-82b1-db7a-ec70-ebb8831c11c4@xs4all.nl \
    --to=hverkuil-cisco@xs4all.nl \
    --cc=geert@linux-m68k.org \
    --cc=jacopo+renesas@jmondi.org \
    --cc=kieran.bingham+renesas@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=niklas.soderlund+renesas@ragnatech.se \
    /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.