Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iio: accel: fxls8962af: add padding to regmap for SPI

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>
Link: https://lore.kernel.org/r/20211220125144.3630539-1-sean@geanix.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

Sean Nyekjaer and committed by
Jonathan Cameron
ccbed9d8 b0e85f95

+14 -5
+10 -2
drivers/iio/accel/fxls8962af-core.c
··· 173 173 u16 upper_thres; 174 174 }; 175 175 176 - const struct regmap_config fxls8962af_regmap_conf = { 176 + const struct regmap_config fxls8962af_i2c_regmap_conf = { 177 177 .reg_bits = 8, 178 178 .val_bits = 8, 179 179 .max_register = FXLS8962AF_MAX_REG, 180 180 }; 181 - EXPORT_SYMBOL_GPL(fxls8962af_regmap_conf); 181 + EXPORT_SYMBOL_GPL(fxls8962af_i2c_regmap_conf); 182 + 183 + const struct regmap_config fxls8962af_spi_regmap_conf = { 184 + .reg_bits = 8, 185 + .pad_bits = 8, 186 + .val_bits = 8, 187 + .max_register = FXLS8962AF_MAX_REG, 188 + }; 189 + EXPORT_SYMBOL_GPL(fxls8962af_spi_regmap_conf); 182 190 183 191 enum { 184 192 fxls8962af_idx_x,
+1 -1
drivers/iio/accel/fxls8962af-i2c.c
··· 18 18 { 19 19 struct regmap *regmap; 20 20 21 - regmap = devm_regmap_init_i2c(client, &fxls8962af_regmap_conf); 21 + regmap = devm_regmap_init_i2c(client, &fxls8962af_i2c_regmap_conf); 22 22 if (IS_ERR(regmap)) { 23 23 dev_err(&client->dev, "Failed to initialize i2c regmap\n"); 24 24 return PTR_ERR(regmap);
+1 -1
drivers/iio/accel/fxls8962af-spi.c
··· 18 18 { 19 19 struct regmap *regmap; 20 20 21 - regmap = devm_regmap_init_spi(spi, &fxls8962af_regmap_conf); 21 + regmap = devm_regmap_init_spi(spi, &fxls8962af_spi_regmap_conf); 22 22 if (IS_ERR(regmap)) { 23 23 dev_err(&spi->dev, "Failed to initialize spi regmap\n"); 24 24 return PTR_ERR(regmap);
+2 -1
drivers/iio/accel/fxls8962af.h
··· 17 17 int fxls8962af_core_remove(struct device *dev); 18 18 19 19 extern const struct dev_pm_ops fxls8962af_pm_ops; 20 - extern const struct regmap_config fxls8962af_regmap_conf; 20 + extern const struct regmap_config fxls8962af_i2c_regmap_conf; 21 + extern const struct regmap_config fxls8962af_spi_regmap_conf; 21 22 22 23 #endif /* _FXLS8962AF_H_ */