From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Daniel Scally <djrscally@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Kate Hsuan <hpa@redhat.com>,
Linux Media Mailing List <linux-media@vger.kernel.org>,
libcamera-devel@lists.libcamera.org
Subject: Re: Fwd: Surface Go VCM type (was: Need to pass acpi_enforce_resources=lax on the Surface Go (version1))
Date: Wed, 10 Nov 2021 10:15:07 +0200 [thread overview]
Message-ID: <YYt/i9PAvGEHRGY7@smile.fi.intel.com> (raw)
In-Reply-To: <6ee7c491-4636-8819-c954-dfc6abcfd1a5@gmail.com>
On Wed, Nov 10, 2021 at 12:01:19AM +0000, Daniel Scally wrote:
> On 09/11/2021 16:35, Daniel Scally wrote:
Some comments to the code below.
...
> +static int dw9719_i2c_rd8(struct i2c_client *client, u8 reg, u8 *val)
> +{
> + struct i2c_msg msg[2];
> + u8 buf[2] = { reg };
See below.
> + int ret;
> +
> + msg[0].addr = client->addr;
> + msg[0].flags = 0;
> + msg[0].len = 1;
> + msg[0].buf = buf;
> +
> + msg[1].addr = client->addr;
> + msg[1].flags = I2C_M_RD;
> + msg[1].len = 1;
> + msg[1].buf = &buf[1];
> + *val = 0;
> +
> + ret = i2c_transfer(client->adapter, msg, 2);
> + if (ret < 0)
> + goto err;
> +
> + *val = buf[1];
> +
> + return 0;
> +err:
> + return ret;
Useless. Return in-place.
> +}
...
> + u8 buf[3] = { reg, (u8)(val >> 8), (u8)(val & 0xff)};
This, and similar cases, has endianess issue.
You are supposed to have __be16 or __le16 buffer with respect to the hardware.
Another way (since I looked at the other places) is to use put_unligned_*().
As per above this requires put_unaligned_be16().
...
> + pm_runtime_set_autosuspend_delay(&client->dev, 1000);
Why this can't be set by user space?
...
> Subject: [PATCH 2/3] device property: Check fwnode->secondary when finding
> properties
>
> fwnode_property_get_reference_args() searches for named properties
> against a fwnode_handle, but these could instead be against the fwnode's
> secondary. If the property isn't found against the primary, check the
> secondary to see if it's there instead.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Signed-off-by: Daniel Scally <djrscally@gmail.com>
> ---
> drivers/base/property.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/base/property.c b/drivers/base/property.c
> index 453918eb7390..054e62a4e710 100644
> --- a/drivers/base/property.c
> +++ b/drivers/base/property.c
> @@ -479,8 +479,16 @@ int fwnode_property_get_reference_args(const struct fwnode_handle *fwnode,
> unsigned int nargs, unsigned int index,
> struct fwnode_reference_args *args)
> {
> - return fwnode_call_int_op(fwnode, get_reference_args, prop, nargs_prop,
> - nargs, index, args);
> + int ret;
> +
> + ret = fwnode_call_int_op(fwnode, get_reference_args, prop, nargs_prop,
> + nargs, index, args);
> +
> + if (ret < 0 && !IS_ERR_OR_NULL(fwnode->secondary))
> + ret = fwnode_call_int_op(fwnode->secondary, get_reference_args,
> + prop, nargs_prop, nargs, index, args);
> +
> + return ret;
> }
> EXPORT_SYMBOL_GPL(fwnode_property_get_reference_args);
>
> --
> 2.25.1
>
> From dd7532ddea71482502394b6b36c9fd3e5f2a0a37 Mon Sep 17 00:00:00 2001
> From: Daniel Scally <djrscally@gmail.com>
> Date: Tue, 9 Nov 2021 23:12:06 +0000
> Subject: [PATCH 1/3] platform/x86: int3472: Add vsio regulator supply to board
> file
>
> The Surface Go2 board file needs to additionally specify a supply name
> mapping the VSIO regulator to the world facing camera's VCM device, as
> it can sit behind an I2C daisy chain which requires this regulator be
> enabled to function.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Signed-off-by: Daniel Scally <djrscally@gmail.com>
> ---
> drivers/platform/x86/intel/int3472/tps68470_board_data.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/platform/x86/intel/int3472/tps68470_board_data.c b/drivers/platform/x86/intel/int3472/tps68470_board_data.c
> index 20615c342875..556a615afaa9 100644
> --- a/drivers/platform/x86/intel/int3472/tps68470_board_data.c
> +++ b/drivers/platform/x86/intel/int3472/tps68470_board_data.c
> @@ -29,6 +29,7 @@ static struct regulator_consumer_supply int347a_vcm_consumer_supplies[] = {
>
> static struct regulator_consumer_supply int347a_vsio_consumer_supplies[] = {
> REGULATOR_SUPPLY("dovdd", "i2c-INT347A:00"),
> + REGULATOR_SUPPLY("vsio", "i2c-INT347A:00-VCM"),
> };
>
> static const struct regulator_init_data surface_go_tps68470_core_reg_init_data = {
> --
> 2.25.1
>
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2021-11-10 8:15 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <e2312277-f967-7d3f-5ce9-fbb197d35fd6@gmail.com>
2021-10-29 11:50 ` Fwd: Surface Go VCM type (was: Need to pass acpi_enforce_resources=lax on the Surface Go (version1)) Daniel Scally
2021-11-01 15:55 ` Andy Shevchenko
2021-11-01 15:59 ` Andy Shevchenko
2021-11-01 23:26 ` Daniel Scally
2021-11-01 16:02 ` Hans de Goede
2021-11-01 19:18 ` Andy Shevchenko
2021-11-01 19:51 ` Hans de Goede
2021-11-01 23:43 ` Daniel Scally
2021-11-04 14:49 ` Hans de Goede
2021-11-04 18:14 ` Andy Shevchenko
2021-11-06 14:12 ` Hans de Goede
2021-11-06 18:39 ` Andy Shevchenko
2021-11-04 23:20 ` Daniel Scally
2021-11-08 13:12 ` Hans de Goede
2021-11-08 14:12 ` Andy Shevchenko
2021-11-16 9:54 ` Hans de Goede
2021-11-16 12:26 ` Andy Shevchenko
2021-11-09 0:43 ` Daniel Scally
2021-11-09 12:09 ` Daniel Scally
2021-11-09 16:02 ` Hans de Goede
2021-11-09 16:35 ` Daniel Scally
2021-11-10 0:01 ` Daniel Scally
2021-11-10 8:15 ` Andy Shevchenko [this message]
2021-11-11 10:35 ` Hans de Goede
2021-11-11 11:18 ` Daniel Scally
2021-11-11 15:23 ` Hans de Goede
2021-11-11 15:51 ` Dave Stevenson
2021-11-11 16:50 ` Hans de Goede
2021-11-11 19:30 ` Dave Stevenson
2021-11-11 22:04 ` Laurent Pinchart
2021-11-12 10:32 ` Dave Stevenson
2021-11-12 10:46 ` Laurent Pinchart
2021-11-12 11:37 ` Andy Shevchenko
2021-11-15 13:33 ` Laurent Pinchart
2021-11-15 15:03 ` Andy Shevchenko
2021-11-12 11:43 ` Dave Stevenson
2021-11-15 13:21 ` Laurent Pinchart
2021-11-12 12:23 ` Sakari Ailus
2021-11-15 12:00 ` Laurent Pinchart
2021-11-12 17:51 ` [libcamera-devel] " Kieran Bingham
2021-11-15 13:08 ` Laurent Pinchart
2021-11-11 15:51 ` Laurent Pinchart
2021-11-23 12:10 ` Daniel Scally
2021-11-23 19:02 ` Hans de Goede
2021-11-11 15:59 ` Hans de Goede
2021-11-15 23:43 ` Daniel Scally
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=YYt/i9PAvGEHRGY7@smile.fi.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=djrscally@gmail.com \
--cc=hdegoede@redhat.com \
--cc=hpa@redhat.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=libcamera-devel@lists.libcamera.org \
--cc=linux-media@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox