[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231005230008.kw3u76gmudpia4cq@zenone.zhora.eu>
Date: Fri, 6 Oct 2023 01:00:08 +0200
From: Andi Shyti <andi.shyti@...nel.org>
To: Naresh Solanki <naresh.solanki@...ements.com>
Cc: Peter Rosin <peda@...ntia.se>,
Patrick Rudolph <patrick.rudolph@...ements.com>,
linux-i2c@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 2/2] i2c: muxes: pca954x: Enable features on MAX7357
Hi Patrick,
On Thu, Oct 05, 2023 at 03:45:40PM +0200, Naresh Solanki wrote:
> From: Patrick Rudolph <patrick.rudolph@...ements.com>
>
> Enable additional features based on DT settings and unconditionally
> release the shared interrupt pin after 1.6 seconds and allow to use
> it as reset.
>
> These features aren't enabled by default & its up to board designer
/&/and/
/its/it's/
> to enable the same as it may have unexpected side effects.
which side effects?
> These should be validated for proper functioning & detection of devices
/&/and/
it ain't WhatsApp :-)
> in secondary bus as sometimes it can cause secondary bus being disabled.
Is this latest sentence a related to this patch or is it a free
information?
> Signed-off-by: Patrick Rudolph <patrick.rudolph@...ements.com>
> Signed-off-by: Naresh Solanki <naresh.solanki@...ements.com>
[...]
> else
> data->last_chan = 0; /* Disconnect multiplexer */
>
> - ret = i2c_smbus_write_byte(client, data->last_chan);
> + if (device_is_compatible(&client->dev, "maxim,max7357")) {
> + if (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WRITE_BYTE_DATA)) {
> + u8 conf = MAX7357_POR_DEFAULT_CONF;
> + /*
> + * The interrupt signal is shared with the reset pin. Release the
> + * interrupt after 1.6 seconds to allow using the pin as reset.
> + * The interrupt isn't serviced yet.
> + */
> + conf |= MAX7357_CONF_RELEASE_INT;
This setting comes as default, what about the dedicated reset
gpio pin? How is the driver going to understand whether from the
irq pin is coming a reset or an interrupt?
> + if (device_property_read_bool(&client->dev, "maxim,isolate-stuck-channel"))
> + conf |= MAX7357_CONF_DISCON_SINGLE_CHAN;
> + if (device_property_read_bool(&client->dev,
> + "maxim,send-flush-out-sequence"))
> + conf |= MAX7357_CONF_FLUSH_OUT;
> + if (device_property_read_bool(&client->dev,
> + "maxim,preconnection-wiggle-test-enable"))
> + conf |= MAX7357_CONF_PRECONNECT_TEST;
How are these properties affecting the economy of the driver? Can
we have a brief description?
Andi
Powered by blists - more mailing lists