[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdWaPfc050dZiRr+gAFzsdjSo9Vo70ztWgrMGPJxLUqupw@mail.gmail.com>
Date: Fri, 21 Feb 2020 10:45:57 +0100
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: Wolfram Sang <wsa+renesas@...g-engineering.com>
Cc: Linux I2C <linux-i2c@...r.kernel.org>,
Linux-Renesas <linux-renesas-soc@...r.kernel.org>,
linux-i3c@...ts.infradead.org,
Kieran Bingham <kieran@...uared.org.uk>,
Niklas Söderlund <niklas.soderlund@...natech.se>,
Luca Ceresoli <luca@...aceresoli.net>,
Jacopo Mondi <jacopo@...ndi.org>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Vladimir Zapolskiy <vz@...ia.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>
Subject: Re: [RFC PATCH 3/7] i2c: allow DT nodes without 'compatible'
Hi Wolfram,
On Thu, Feb 20, 2020 at 6:26 PM Wolfram Sang
<wsa+renesas@...g-engineering.com> wrote:
> Sometimes, we have unknown devices in a system and still want to block
> their address. For that, we allow DT nodes with only a 'reg' property.
> These devices will be bound to the "dummy" driver but with the name
> "reserved". That way, we can distinguish them and even hand them over to
> the "dummy" driver later when they are really requested using
> i2c_new_ancillary_device().
>
> Signed-off-by: Wolfram Sang <wsa+renesas@...g-engineering.com>
Thanks for your patch!
Reviewed-by: Geert Uytterhoeven <geert+renesas@...der.be>
but one question below.
> --- a/Documentation/devicetree/bindings/i2c/i2c-ocores.txt
> +++ b/Documentation/devicetree/bindings/i2c/i2c-ocores.txt
> @@ -50,7 +50,6 @@ Examples:
> reg-io-width = <1>; /* 8 bit read/write */
>
> dummy@60 {
> - compatible = "dummy";
> reg = <0x60>;
> };
> };
There's a second instance to remove 18 lines below.
> --- a/drivers/i2c/i2c-core-of.c
> +++ b/drivers/i2c/i2c-core-of.c
> @@ -27,17 +27,15 @@ int of_i2c_get_board_info(struct device *dev, struct device_node *node,
>
> memset(info, 0, sizeof(*info));
>
> - if (of_modalias_node(node, info->type, sizeof(info->type)) < 0) {
> - dev_err(dev, "of_i2c: modalias failure on %pOF\n", node);
> - return -EINVAL;
> - }
> -
> ret = of_property_read_u32(node, "reg", &addr);
> if (ret) {
> dev_err(dev, "of_i2c: invalid reg on %pOF\n", node);
> return ret;
> }
>
> + if (of_modalias_node(node, info->type, sizeof(info->type)) < 0)
> + strlcpy(info->type, I2C_RESERVED_DRV_NAME, sizeof(I2C_RESERVED_DRV_NAME));
Could this cause a regression, e.g. if people already have such dummy
nodes in their DTS, and use sysfs new_device from userspace to
instantiate the device later?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Powered by blists - more mailing lists