From: Wolfram Sang <wsa+renesas@sang-engineering.com>
To: Farouk Bouabid <farouk.bouabid@cherry.de>
Cc: Andi Shyti <andi.shyti@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Quentin Schulz <quentin.schulz@cherry.de>,
Peter Rosin <peda@axentia.se>, Jean Delvare <jdelvare@suse.com>,
Guenter Roeck <linux@roeck-us.net>,
Heiko Stuebner <heiko@sntech.de>,
linux-i2c@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org
Subject: Re: [PATCH v6 2/8] i2c: muxes: add support for tsd,mule-i2c multiplexer
Date: Sat, 31 Aug 2024 22:57:53 +0200 [thread overview]
Message-ID: <ZtOD0e3ZBnabdK34@shikoro> (raw)
In-Reply-To: <20240725-dev-mule-i2c-mux-v6-2-f9f6d7b60fb2@cherry.de>
[-- Attachment #1: Type: text/plain, Size: 2253 bytes --]
Hi,
On Thu, Jul 25, 2024 at 03:27:48PM +0200, Farouk Bouabid wrote:
> Theobroma Systems Mule is an MCU that emulates a set of I2C devices,
> among which an amc6821 and devices that are reachable through an I2C-mux.
> The devices on the mux can be selected by writing the appropriate device
> number to an I2C config register (amc6821 reg 0xff).
>
> This driver is expected to be probed as a platform device with amc6821
> as its parent i2c device.
>
> Add support for the mule-i2c-mux platform driver. The amc6821 driver
> support for the mux will be added in a later commit.
Seems like DT maintainers are happy with the approach. From the I2C
perspective, this seems suitable as well. Just a few minor comments. Can
be fixed incrementally, from my POV. But basically:
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> +static inline int __mux_select(struct regmap *regmap, u32 dev)
> +{
> + return regmap_write(regmap, MUX_CONFIG_REG, dev);
> +}
Does this really need to be a seperate function? I'd vote for merging it
into 'mux_select'. Also the __-prefix often means unlocked versions of
some call, so it is also a bit misleading.
> +static int mule_i2c_mux_probe(struct platform_device *pdev)
> +{
> + struct device *mux_dev = &pdev->dev;
> + struct mule_i2c_reg_mux *priv;
> + struct i2c_client *client;
> + struct i2c_mux_core *muxc;
> + struct device_node *dev;
> + unsigned int readback;
> + int ndev, ret;
> + bool old_fw;
> +
> + /* Count devices on the mux */
> + ndev = of_get_child_count(mux_dev->of_node);
> + dev_dbg(mux_dev, "%d devices on the mux\n", ndev);
> +
> + client = to_i2c_client(mux_dev->parent);
> +
> + muxc = i2c_mux_alloc(client->adapter, mux_dev, ndev, sizeof(*priv),
> + I2C_MUX_LOCKED, mux_select, mux_deselect);
> + if (!muxc)
> + return dev_err_probe(mux_dev, -ENOMEM,
> + "Failed to allocate mux struct\n");
alloc_functions usually print something when failing.
> + ret = i2c_mux_add_adapter(muxc, 0, reg);
> + if (ret)
> + return dev_err_probe(mux_dev, ret,
> + "Failed to add i2c mux adapter %d\n", reg);
The 'add_adapter' functions for sure print something when failing.
Thanks!
Wolfram
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Wolfram Sang <wsa+renesas@sang-engineering.com>
To: Farouk Bouabid <farouk.bouabid@cherry.de>
Cc: Andi Shyti <andi.shyti@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Quentin Schulz <quentin.schulz@cherry.de>,
Peter Rosin <peda@axentia.se>, Jean Delvare <jdelvare@suse.com>,
Guenter Roeck <linux@roeck-us.net>,
Heiko Stuebner <heiko@sntech.de>,
linux-i2c@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org
Subject: Re: [PATCH v6 2/8] i2c: muxes: add support for tsd,mule-i2c multiplexer
Date: Sat, 31 Aug 2024 22:57:53 +0200 [thread overview]
Message-ID: <ZtOD0e3ZBnabdK34@shikoro> (raw)
In-Reply-To: <20240725-dev-mule-i2c-mux-v6-2-f9f6d7b60fb2@cherry.de>
[-- Attachment #1.1: Type: text/plain, Size: 2253 bytes --]
Hi,
On Thu, Jul 25, 2024 at 03:27:48PM +0200, Farouk Bouabid wrote:
> Theobroma Systems Mule is an MCU that emulates a set of I2C devices,
> among which an amc6821 and devices that are reachable through an I2C-mux.
> The devices on the mux can be selected by writing the appropriate device
> number to an I2C config register (amc6821 reg 0xff).
>
> This driver is expected to be probed as a platform device with amc6821
> as its parent i2c device.
>
> Add support for the mule-i2c-mux platform driver. The amc6821 driver
> support for the mux will be added in a later commit.
Seems like DT maintainers are happy with the approach. From the I2C
perspective, this seems suitable as well. Just a few minor comments. Can
be fixed incrementally, from my POV. But basically:
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> +static inline int __mux_select(struct regmap *regmap, u32 dev)
> +{
> + return regmap_write(regmap, MUX_CONFIG_REG, dev);
> +}
Does this really need to be a seperate function? I'd vote for merging it
into 'mux_select'. Also the __-prefix often means unlocked versions of
some call, so it is also a bit misleading.
> +static int mule_i2c_mux_probe(struct platform_device *pdev)
> +{
> + struct device *mux_dev = &pdev->dev;
> + struct mule_i2c_reg_mux *priv;
> + struct i2c_client *client;
> + struct i2c_mux_core *muxc;
> + struct device_node *dev;
> + unsigned int readback;
> + int ndev, ret;
> + bool old_fw;
> +
> + /* Count devices on the mux */
> + ndev = of_get_child_count(mux_dev->of_node);
> + dev_dbg(mux_dev, "%d devices on the mux\n", ndev);
> +
> + client = to_i2c_client(mux_dev->parent);
> +
> + muxc = i2c_mux_alloc(client->adapter, mux_dev, ndev, sizeof(*priv),
> + I2C_MUX_LOCKED, mux_select, mux_deselect);
> + if (!muxc)
> + return dev_err_probe(mux_dev, -ENOMEM,
> + "Failed to allocate mux struct\n");
alloc_functions usually print something when failing.
> + ret = i2c_mux_add_adapter(muxc, 0, reg);
> + if (ret)
> + return dev_err_probe(mux_dev, ret,
> + "Failed to add i2c mux adapter %d\n", reg);
The 'add_adapter' functions for sure print something when failing.
Thanks!
Wolfram
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 170 bytes --]
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2024-08-31 20:57 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-25 13:27 [PATCH v6 0/8] Add tsd,mule-i2c-mux support Farouk Bouabid
2024-07-25 13:27 ` Farouk Bouabid
2024-07-25 13:27 ` [PATCH v6 1/8] dt-bindings: i2c: add support for tsd,mule-i2c-mux Farouk Bouabid
2024-07-25 13:27 ` Farouk Bouabid
2024-08-31 21:05 ` Wolfram Sang
2024-08-31 21:05 ` Wolfram Sang
2024-07-25 13:27 ` [PATCH v6 2/8] i2c: muxes: add support for tsd,mule-i2c multiplexer Farouk Bouabid
2024-07-25 13:27 ` Farouk Bouabid
2024-08-12 9:24 ` Quentin Schulz
2024-08-12 9:24 ` Quentin Schulz
2024-08-12 9:29 ` Krzysztof Kozlowski
2024-08-12 9:29 ` Krzysztof Kozlowski
2024-08-12 10:06 ` Wolfram Sang
2024-08-12 10:06 ` Wolfram Sang
2024-08-12 11:37 ` Krzysztof Kozlowski
2024-08-12 11:37 ` Krzysztof Kozlowski
2024-08-12 12:21 ` Wolfram Sang
2024-08-12 12:21 ` Wolfram Sang
2024-08-12 13:13 ` Krzysztof Kozlowski
2024-08-12 13:13 ` Krzysztof Kozlowski
2024-08-12 13:28 ` Guenter Roeck
2024-08-12 13:28 ` Guenter Roeck
2024-08-12 17:37 ` Wolfram Sang
2024-08-12 17:37 ` Wolfram Sang
2024-08-31 20:57 ` Wolfram Sang [this message]
2024-08-31 20:57 ` Wolfram Sang
2024-07-25 13:27 ` [PATCH v6 3/8] dt-bindings: hwmon: add support for ti,amc6821 Farouk Bouabid
2024-07-25 13:27 ` Farouk Bouabid
2024-07-30 16:10 ` Rob Herring (Arm)
2024-07-30 16:10 ` Rob Herring (Arm)
2024-07-31 15:11 ` Guenter Roeck
2024-07-31 15:11 ` Guenter Roeck
2024-07-25 13:27 ` [PATCH v6 4/8] hwmon: (amc6821) add support for tsd,mule Farouk Bouabid
2024-07-25 13:27 ` Farouk Bouabid
2024-07-25 14:02 ` Guenter Roeck
2024-07-25 14:02 ` Guenter Roeck
2024-07-31 15:12 ` Guenter Roeck
2024-07-31 15:12 ` Guenter Roeck
2024-08-12 11:38 ` Krzysztof Kozlowski
2024-08-12 11:38 ` Krzysztof Kozlowski
2024-08-12 11:58 ` Quentin Schulz
2024-08-12 11:58 ` Quentin Schulz
2024-08-12 13:10 ` Krzysztof Kozlowski
2024-08-12 13:10 ` Krzysztof Kozlowski
2024-08-12 13:21 ` Guenter Roeck
2024-08-12 13:21 ` Guenter Roeck
2024-08-12 13:24 ` Krzysztof Kozlowski
2024-08-12 13:24 ` Krzysztof Kozlowski
2024-07-25 13:27 ` [PATCH v6 5/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on rk3588-jaguar Farouk Bouabid
2024-07-25 13:27 ` Farouk Bouabid
2024-07-25 13:27 ` [PATCH v6 6/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on rk3399-puma Farouk Bouabid
2024-07-25 13:27 ` Farouk Bouabid
2024-07-25 13:27 ` [PATCH v6 7/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on rk3588-tiger Farouk Bouabid
2024-07-25 13:27 ` Farouk Bouabid
2024-07-25 13:27 ` [PATCH v6 8/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on px30-ringneck Farouk Bouabid
2024-07-25 13:27 ` Farouk Bouabid
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=ZtOD0e3ZBnabdK34@shikoro \
--to=wsa+renesas@sang-engineering.com \
--cc=andi.shyti@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=farouk.bouabid@cherry.de \
--cc=heiko@sntech.de \
--cc=jdelvare@suse.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux@roeck-us.net \
--cc=peda@axentia.se \
--cc=quentin.schulz@cherry.de \
--cc=robh@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.