RE: [patch v5] i2c: mux: mellanox: add driver

From: Vadim Pasternak
Date: Wed Sep 14 2016 - 06:45:09 EST




> -----Original Message-----
> From: Peter Rosin [mailto:peda@xxxxxxxxxx]
> Sent: Wednesday, September 14, 2016 10:50 AM
> To: Vadim Pasternak <vadimp@xxxxxxxxxxxx>; wsa@xxxxxxxxxxxxx
> Cc: linux-i2c@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; jiri@xxxxxxxxxxx;
> Michael Shych <michaelsh@xxxxxxxxxxxx>
> Subject: Re: [patch v5] i2c: mux: mellanox: add driver
>
> On 2016-09-13 22:37, vadimp@xxxxxxxxxxxx wrote:
> > From: Vadim Pasternak <vadimp@xxxxxxxxxxxx>
> >
> > This driver allows I2C routing controlled through CPLD select
> > registers on a wide range of Mellanox systems (CPLD Lattice device).
> > MUX selection is provided by digital and analog HW. Analog part is not
> > under SW control.
> > Digital part is under CPLD control (channel selection/de-selection).
>
> *snip*
>
> > +/* Platform data for the CPLD I2C multiplexers */
> > +
> > +/* mlxcpld_mux_plat_data - per mux data, used with
> > +i2c_register_board_info
> > + * @adap_ids - adapter array
> > + * @num_adaps - number of adapters
> > + * @sel_reg_addr - mux select register offset in CPLD space */
> > +struct mlxcpld_mux_plat_data {
> > + int *adap_ids;
> > + int num_adaps;
> > + int sel_reg_addr;
> > +};
> > +
> > +#endif /* _LINUX_I2C_MLXCPLD_H */
> >
>
> Hmm, you never confirmed that you need to support different register values in
> the CPLD with sel_reg_addr. I can see that there is a possibility that you actually
> really need it, but I'd like to remove that variable if at all possible.

Yes, it could be different register values.
Actually CPLD can also be programmed in different way.
So, I really need it.

>
> If you can confirm that you need that, this is
>
> Acked-by: Peter Rosin <peda@xxxxxxxxxx>
>
> Otherwise, please just hard code the register address.
>
> Cheers,
> Peter