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