Re: [PATCH v4 2/2] i2c: muxes: pca954x: Enable features on MAX7357

From: Andi Shyti
Date: Thu Oct 05 2023 - 19:08:56 EST


Hi Patrick,

On Thu, Oct 05, 2023 at 03:45:40PM +0200, Naresh Solanki wrote:
> From: Patrick Rudolph <patrick.rudolph@xxxxxxxxxxxxx>
>
> 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@xxxxxxxxxxxxx>
> Signed-off-by: Naresh Solanki <naresh.solanki@xxxxxxxxxxxxx>

[...]

> 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