iio: accel: fxls8962af: add padding to regmap for SPI
authorSean Nyekjaer <sean@geanix.com>
Mon, 20 Dec 2021 12:51:43 +0000 (13:51 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 2 Mar 2022 10:48:03 +0000 (11:48 +0100)
commit ccbed9d8d2a5351d8238f2d3f0741c9a3176f752 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iio/accel/fxls8962af-core.c
drivers/iio/accel/fxls8962af-i2c.c
drivers/iio/accel/fxls8962af-spi.c
drivers/iio/accel/fxls8962af.h

index f41db9e..a2d29ca 100644 (file)
@@ -154,12 +154,20 @@ struct fxls8962af_data {
        u8 watermark;
 };
 
-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,
index cfb004b..6bde989 100644 (file)
@@ -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);
index 57108d3..6f4dff3 100644 (file)
@@ -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);
index b67572c..9cbe98c 100644 (file)
@@ -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_ */