Message ID | 20211220125144.3630539-1-sean@geanix.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | iio: accel: fxls8962af: add padding to regmap for SPI | expand |
On Mon, Dec 20, 2021 at 01:51:43PM +0100, Sean Nyekjaer wrote: > Add missing don't care padding between address and > data for SPI transfers > > Fixes: a3e0b51884ee ("iio: accel: add support for FXLS8962AF/FXLS8964AF accelerometers") > Signed-off-by: Sean Nyekjaer <sean@geanix.com> > --- > drivers/iio/accel/fxls8962af-core.c | 12 ++++++++++-- > drivers/iio/accel/fxls8962af-i2c.c | 2 +- > drivers/iio/accel/fxls8962af-spi.c | 2 +- > drivers/iio/accel/fxls8962af.h | 3 ++- > 4 files changed, 14 insertions(+), 5 deletions(-) > > diff --git a/drivers/iio/accel/fxls8962af-core.c b/drivers/iio/accel/fxls8962af-core.c > index 32989d91b982..f7fd9e046588 100644 > --- a/drivers/iio/accel/fxls8962af-core.c > +++ b/drivers/iio/accel/fxls8962af-core.c > @@ -173,12 +173,20 @@ struct fxls8962af_data { > u16 upper_thres; > }; > > -const struct regmap_config fxls8962af_regmap_conf = { > +const struct regmap_config fxls8962af_i2c_regmap_conf = { > .reg_bits = 8, > .val_bits = 8, > .max_register = FXLS8962AF_MAX_REG, > }; > -EXPORT_SYMBOL_GPL(fxls8962af_regmap_conf); > +EXPORT_SYMBOL_GPL(fxls8962af_i2c_regmap_conf); > + > +const struct regmap_config fxls8962af_spi_regmap_conf = { > + .reg_bits = 8, > + .pad_bits = 8, > + .val_bits = 8, > + .max_register = FXLS8962AF_MAX_REG, > +}; > +EXPORT_SYMBOL_GPL(fxls8962af_spi_regmap_conf); > > enum { > fxls8962af_idx_x, > diff --git a/drivers/iio/accel/fxls8962af-i2c.c b/drivers/iio/accel/fxls8962af-i2c.c > index cfb004b20455..6bde9891effb 100644 > --- a/drivers/iio/accel/fxls8962af-i2c.c > +++ b/drivers/iio/accel/fxls8962af-i2c.c > @@ -18,7 +18,7 @@ static int fxls8962af_probe(struct i2c_client *client) > { > struct regmap *regmap; > > - regmap = devm_regmap_init_i2c(client, &fxls8962af_regmap_conf); > + regmap = devm_regmap_init_i2c(client, &fxls8962af_i2c_regmap_conf); > if (IS_ERR(regmap)) { > dev_err(&client->dev, "Failed to initialize i2c regmap\n"); > return PTR_ERR(regmap); > diff --git a/drivers/iio/accel/fxls8962af-spi.c b/drivers/iio/accel/fxls8962af-spi.c > index 57108d3d480b..6f4dff3238d3 100644 > --- a/drivers/iio/accel/fxls8962af-spi.c > +++ b/drivers/iio/accel/fxls8962af-spi.c > @@ -18,7 +18,7 @@ static int fxls8962af_probe(struct spi_device *spi) > { > struct regmap *regmap; > > - regmap = devm_regmap_init_spi(spi, &fxls8962af_regmap_conf); > + regmap = devm_regmap_init_spi(spi, &fxls8962af_spi_regmap_conf); > if (IS_ERR(regmap)) { > dev_err(&spi->dev, "Failed to initialize spi regmap\n"); > return PTR_ERR(regmap); > diff --git a/drivers/iio/accel/fxls8962af.h b/drivers/iio/accel/fxls8962af.h > index b67572c3ef06..9cbe98c3ba9a 100644 > --- a/drivers/iio/accel/fxls8962af.h > +++ b/drivers/iio/accel/fxls8962af.h > @@ -17,6 +17,7 @@ int fxls8962af_core_probe(struct device *dev, struct regmap *regmap, int irq); > int fxls8962af_core_remove(struct device *dev); > > extern const struct dev_pm_ops fxls8962af_pm_ops; > -extern const struct regmap_config fxls8962af_regmap_conf; > +extern const struct regmap_config fxls8962af_i2c_regmap_conf; > +extern const struct regmap_config fxls8962af_spi_regmap_conf; > > #endif /* _FXLS8962AF_H_ */ > -- > 2.34.1 > Hi Jonathan, Did you have time to look at this? /Sean
On Mon, 17 Jan 2022 08:46:00 +0100 Sean Nyekjaer <sean@geanix.com> wrote: > On Mon, Dec 20, 2021 at 01:51:43PM +0100, Sean Nyekjaer wrote: > > Add missing don't care padding between address and > > data for SPI transfers > > > > Fixes: a3e0b51884ee ("iio: accel: add support for FXLS8962AF/FXLS8964AF accelerometers") > > Signed-off-by: Sean Nyekjaer <sean@geanix.com> > > --- > > drivers/iio/accel/fxls8962af-core.c | 12 ++++++++++-- > > drivers/iio/accel/fxls8962af-i2c.c | 2 +- > > drivers/iio/accel/fxls8962af-spi.c | 2 +- > > drivers/iio/accel/fxls8962af.h | 3 ++- > > 4 files changed, 14 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/iio/accel/fxls8962af-core.c b/drivers/iio/accel/fxls8962af-core.c > > index 32989d91b982..f7fd9e046588 100644 > > --- a/drivers/iio/accel/fxls8962af-core.c > > +++ b/drivers/iio/accel/fxls8962af-core.c > > @@ -173,12 +173,20 @@ struct fxls8962af_data { > > u16 upper_thres; > > }; > > > > -const struct regmap_config fxls8962af_regmap_conf = { > > +const struct regmap_config fxls8962af_i2c_regmap_conf = { > > .reg_bits = 8, > > .val_bits = 8, > > .max_register = FXLS8962AF_MAX_REG, > > }; > > -EXPORT_SYMBOL_GPL(fxls8962af_regmap_conf); > > +EXPORT_SYMBOL_GPL(fxls8962af_i2c_regmap_conf); > > + > > +const struct regmap_config fxls8962af_spi_regmap_conf = { > > + .reg_bits = 8, > > + .pad_bits = 8, > > + .val_bits = 8, > > + .max_register = FXLS8962AF_MAX_REG, > > +}; > > +EXPORT_SYMBOL_GPL(fxls8962af_spi_regmap_conf); > > > > enum { > > fxls8962af_idx_x, > > diff --git a/drivers/iio/accel/fxls8962af-i2c.c b/drivers/iio/accel/fxls8962af-i2c.c > > index cfb004b20455..6bde9891effb 100644 > > --- a/drivers/iio/accel/fxls8962af-i2c.c > > +++ b/drivers/iio/accel/fxls8962af-i2c.c > > @@ -18,7 +18,7 @@ static int fxls8962af_probe(struct i2c_client *client) > > { > > struct regmap *regmap; > > > > - regmap = devm_regmap_init_i2c(client, &fxls8962af_regmap_conf); > > + regmap = devm_regmap_init_i2c(client, &fxls8962af_i2c_regmap_conf); > > if (IS_ERR(regmap)) { > > dev_err(&client->dev, "Failed to initialize i2c regmap\n"); > > return PTR_ERR(regmap); > > diff --git a/drivers/iio/accel/fxls8962af-spi.c b/drivers/iio/accel/fxls8962af-spi.c > > index 57108d3d480b..6f4dff3238d3 100644 > > --- a/drivers/iio/accel/fxls8962af-spi.c > > +++ b/drivers/iio/accel/fxls8962af-spi.c > > @@ -18,7 +18,7 @@ static int fxls8962af_probe(struct spi_device *spi) > > { > > struct regmap *regmap; > > > > - regmap = devm_regmap_init_spi(spi, &fxls8962af_regmap_conf); > > + regmap = devm_regmap_init_spi(spi, &fxls8962af_spi_regmap_conf); > > if (IS_ERR(regmap)) { > > dev_err(&spi->dev, "Failed to initialize spi regmap\n"); > > return PTR_ERR(regmap); > > diff --git a/drivers/iio/accel/fxls8962af.h b/drivers/iio/accel/fxls8962af.h > > index b67572c3ef06..9cbe98c3ba9a 100644 > > --- a/drivers/iio/accel/fxls8962af.h > > +++ b/drivers/iio/accel/fxls8962af.h > > @@ -17,6 +17,7 @@ int fxls8962af_core_probe(struct device *dev, struct regmap *regmap, int irq); > > int fxls8962af_core_remove(struct device *dev); > > > > extern const struct dev_pm_ops fxls8962af_pm_ops; > > -extern const struct regmap_config fxls8962af_regmap_conf; > > +extern const struct regmap_config fxls8962af_i2c_regmap_conf; > > +extern const struct regmap_config fxls8962af_spi_regmap_conf; > > > > #endif /* _FXLS8962AF_H_ */ > > -- > > 2.34.1 > > > > Hi Jonathan, > > Did you have time to look at this? Sorry, saw it go by but bad timing wrt to opening of merge window so it was still in my 'to apply' queue. Anyhow, now done so and it is in the fixes-togreg branch of iio.git + marked for stable. Note I'll probably rebase that tree after rc1 though as we have a few other fixes I'd like in the same pull request for stuff that only went in this cycle. Thanks, Jonathan > > /Sean
diff --git a/drivers/iio/accel/fxls8962af-core.c b/drivers/iio/accel/fxls8962af-core.c index 32989d91b982..f7fd9e046588 100644 --- a/drivers/iio/accel/fxls8962af-core.c +++ b/drivers/iio/accel/fxls8962af-core.c @@ -173,12 +173,20 @@ struct fxls8962af_data { u16 upper_thres; }; -const struct regmap_config fxls8962af_regmap_conf = { +const struct regmap_config fxls8962af_i2c_regmap_conf = { .reg_bits = 8, .val_bits = 8, .max_register = FXLS8962AF_MAX_REG, }; -EXPORT_SYMBOL_GPL(fxls8962af_regmap_conf); +EXPORT_SYMBOL_GPL(fxls8962af_i2c_regmap_conf); + +const struct regmap_config fxls8962af_spi_regmap_conf = { + .reg_bits = 8, + .pad_bits = 8, + .val_bits = 8, + .max_register = FXLS8962AF_MAX_REG, +}; +EXPORT_SYMBOL_GPL(fxls8962af_spi_regmap_conf); enum { fxls8962af_idx_x, diff --git a/drivers/iio/accel/fxls8962af-i2c.c b/drivers/iio/accel/fxls8962af-i2c.c index cfb004b20455..6bde9891effb 100644 --- a/drivers/iio/accel/fxls8962af-i2c.c +++ b/drivers/iio/accel/fxls8962af-i2c.c @@ -18,7 +18,7 @@ static int fxls8962af_probe(struct i2c_client *client) { struct regmap *regmap; - regmap = devm_regmap_init_i2c(client, &fxls8962af_regmap_conf); + regmap = devm_regmap_init_i2c(client, &fxls8962af_i2c_regmap_conf); if (IS_ERR(regmap)) { dev_err(&client->dev, "Failed to initialize i2c regmap\n"); return PTR_ERR(regmap); diff --git a/drivers/iio/accel/fxls8962af-spi.c b/drivers/iio/accel/fxls8962af-spi.c index 57108d3d480b..6f4dff3238d3 100644 --- a/drivers/iio/accel/fxls8962af-spi.c +++ b/drivers/iio/accel/fxls8962af-spi.c @@ -18,7 +18,7 @@ static int fxls8962af_probe(struct spi_device *spi) { struct regmap *regmap; - regmap = devm_regmap_init_spi(spi, &fxls8962af_regmap_conf); + regmap = devm_regmap_init_spi(spi, &fxls8962af_spi_regmap_conf); if (IS_ERR(regmap)) { dev_err(&spi->dev, "Failed to initialize spi regmap\n"); return PTR_ERR(regmap); diff --git a/drivers/iio/accel/fxls8962af.h b/drivers/iio/accel/fxls8962af.h index b67572c3ef06..9cbe98c3ba9a 100644 --- a/drivers/iio/accel/fxls8962af.h +++ b/drivers/iio/accel/fxls8962af.h @@ -17,6 +17,7 @@ int fxls8962af_core_probe(struct device *dev, struct regmap *regmap, int irq); int fxls8962af_core_remove(struct device *dev); extern const struct dev_pm_ops fxls8962af_pm_ops; -extern const struct regmap_config fxls8962af_regmap_conf; +extern const struct regmap_config fxls8962af_i2c_regmap_conf; +extern const struct regmap_config fxls8962af_spi_regmap_conf; #endif /* _FXLS8962AF_H_ */
Add missing don't care padding between address and data for SPI transfers Fixes: a3e0b51884ee ("iio: accel: add support for FXLS8962AF/FXLS8964AF accelerometers") Signed-off-by: Sean Nyekjaer <sean@geanix.com> --- drivers/iio/accel/fxls8962af-core.c | 12 ++++++++++-- drivers/iio/accel/fxls8962af-i2c.c | 2 +- drivers/iio/accel/fxls8962af-spi.c | 2 +- drivers/iio/accel/fxls8962af.h | 3 ++- 4 files changed, 14 insertions(+), 5 deletions(-)