On Wed, Sep 08, 2021 at 01:09:29PM +0000, Charles Keepax wrote: > On Wed, Sep 08, 2021 at 12:34:43PM +0100, Lucas Tanure wrote: > > regmap-spi will split data and address between two transfers > > in the same message, so max_[read|write] must include space > > for the address and padding > > > > Signed-off-by: Lucas Tanure <tanureal@xxxxxxxxxxxxxxxxxxxxx> > > --- > > drivers/base/regmap/regmap-spi.c | 4 ++++ > > drivers/base/regmap/regmap.c | 15 +++++++++++++++ > > include/linux/regmap.h | 3 +++ > > 3 files changed, 22 insertions(+) > > > > diff --git a/drivers/base/regmap/regmap-spi.c b/drivers/base/regmap/regmap-spi.c > > index 0e6552e57ecf..1434c502e340 100644 > > --- a/drivers/base/regmap/regmap-spi.c > > +++ b/drivers/base/regmap/regmap-spi.c > > @@ -123,6 +123,10 @@ static const struct regmap_bus *regmap_get_spi_bus(struct spi_device *spi, > > bus->free_on_exit = true; > > bus->max_raw_read = max_size; > > bus->max_raw_write = max_size; > > + > > + if (spi_max_message_size(spi) != SIZE_MAX) > > + bus->max_combined_rw = spi_max_message_size(spi); > > I am not sure max_combined_rw is the best name here, it makes > sense in a SPI context where reads are a write followed by a > read. But does it really make sense for all buses? Like an MMIO > this no longer seems a very meaningful name. > > Perhaps max_transaction? But I am often not the best at thinking > of names myself. > Although thinking about this more are we sure this wouldn't just be better as a flag to include the address in the max_raw_read/write? I am not sure what extra use-cases the extra max_combined_rw opens up and it feels like the field is doing two things, 1) saying that the address needs to be included in the max size and 2) specifying a new max size. Thanks, Charles