All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vadim Pasternak <vadimp@nvidia.com>
To: peda@axentia.se, wsa@the-dreams.de
Cc: linux-i2c@vger.kernel.org, Vadim Pasternak <vadimp@nvidia.com>
Subject: [PATCH i2c-next v5 5/6] i2c: mux: mlxcpld: Extend supported mux number
Date: Mon,  8 Feb 2021 22:16:05 +0200	[thread overview]
Message-ID: <20210208201606.10620-6-vadimp@nvidia.com> (raw)
In-Reply-To: <20210208201606.10620-1-vadimp@nvidia.com>

Allow to extend mux number supported by driver.
Currently it is limited by eight, which is not enough for new coming
Mellanox modular system with line cards, which require up to 64 mux
support.

Signed-off-by: Vadim Pasternak <vadimp@nvidia.com>
Reviewed-by: Michael Shych <michaelsh@nvidia.com>
---
v4->v5:
 Comments pointed out by Peter:
 - Remove code for unconfigured channels (previously was in patch 3/6).
v3->v4:
 Comments pointed out by Peter:
 - Move changes for i2c_mux_add_adapter(): use 'chan_id' instead of
  'force_nr' to patch #4.
v1->v2:
 Comments pointed out by Peter:
 - Remove introducing of 'base_nr' field.
 - Drop chan increment in mlxcpld_mux_select_chan().
 Added by Vadim:
 - Rename 'adaps_ids' array to 'chan_ids' array.
 - Drop forcing of adapter 'nr'.
---
 drivers/i2c/muxes/i2c-mux-mlxcpld.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/i2c/muxes/i2c-mux-mlxcpld.c b/drivers/i2c/muxes/i2c-mux-mlxcpld.c
index 10767ad4adb4..5e0672f9979b 100644
--- a/drivers/i2c/muxes/i2c-mux-mlxcpld.c
+++ b/drivers/i2c/muxes/i2c-mux-mlxcpld.c
@@ -15,8 +15,6 @@
 #include <linux/platform_device.h>
 #include <linux/slab.h>
 
-#define CPLD_MUX_MAX_NCHANS	8
-
 /* mlxcpld_mux - mux control structure:
  * @last_val - last selected register value or -1 if mux deselected
  * @client - I2C device client
@@ -142,7 +140,7 @@ static int mlxcpld_mux_probe(struct platform_device *pdev)
 	if (!i2c_check_functionality(client->adapter, func))
 		return -ENODEV;
 
-	muxc = i2c_mux_alloc(client->adapter, &pdev->dev, CPLD_MUX_MAX_NCHANS,
+	muxc = i2c_mux_alloc(client->adapter, &pdev->dev, pdata->num_adaps,
 			     sizeof(*data), 0, mlxcpld_mux_select_chan,
 			     mlxcpld_mux_deselect);
 	if (!muxc)
@@ -155,11 +153,7 @@ static int mlxcpld_mux_probe(struct platform_device *pdev)
 	data->last_val = -1; /* force the first selection */
 
 	/* Create an adapter for each channel. */
-	for (num = 0; num < CPLD_MUX_MAX_NCHANS; num++) {
-		if (num >= pdata->num_adaps)
-			/* discard unconfigured channels */
-			break;
-
+	for (num = 0; num < pdata->num_adaps; num++) {
 		err = i2c_mux_add_adapter(muxc, 0, pdata->chan_ids[num], 0);
 		if (err)
 			goto virt_reg_failed;
-- 
2.11.0


  parent reply	other threads:[~2021-02-08 20:17 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-08 20:16 [PATCH i2c-next v5 0/6] mux: mlxcpld: Extend driver functionality Vadim Pasternak
2021-02-08 20:16 ` [PATCH i2c-next v5 1/6] i2c: mux: mlxcpld: Convert driver to platform driver Vadim Pasternak
2021-02-08 21:26   ` Peter Rosin
2021-02-08 20:16 ` [PATCH i2c-next v5 2/6] i2c: mux: mlxcpld: Prepare mux selection infrastructure for two-byte support Vadim Pasternak
2021-02-08 21:26   ` Peter Rosin
2021-02-08 20:16 ` [PATCH i2c-next v5 3/6] i2c: mux: mlxcpld: Get rid of adapter numbers enforcement Vadim Pasternak
2021-02-08 21:26   ` Peter Rosin
2021-02-08 20:16 ` [PATCH i2c-next v5 4/6] i2c: mux: mlxcpld: Extend driver to support word address space devices Vadim Pasternak
2021-02-08 21:27   ` Peter Rosin
2021-02-08 20:16 ` Vadim Pasternak [this message]
2021-02-08 21:27   ` [PATCH i2c-next v5 5/6] i2c: mux: mlxcpld: Extend supported mux number Peter Rosin
2021-02-08 20:16 ` [PATCH i2c-next v5 6/6] i2c: mux: mlxcpld: Add callback to notify mux creation completion Vadim Pasternak
2021-02-08 21:27   ` Peter Rosin
2021-02-08 21:26 ` [PATCH i2c-next v5 0/6] mux: mlxcpld: Extend driver functionality Peter Rosin
2021-02-08 22:01   ` Vadim Pasternak
2021-02-09 10:38   ` Wolfram Sang

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=20210208201606.10620-6-vadimp@nvidia.com \
    --to=vadimp@nvidia.com \
    --cc=linux-i2c@vger.kernel.org \
    --cc=peda@axentia.se \
    --cc=wsa@the-dreams.de \
    /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.