root/drivers/iio/pressure/bmp280-regmap.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. bmp180_is_writeable_reg
  2. bmp180_is_volatile_reg
  3. bmp280_is_writeable_reg
  4. bmp280_is_volatile_reg

   1 // SPDX-License-Identifier: GPL-2.0
   2 #include <linux/device.h>
   3 #include <linux/module.h>
   4 #include <linux/regmap.h>
   5 
   6 #include "bmp280.h"
   7 
   8 static bool bmp180_is_writeable_reg(struct device *dev, unsigned int reg)
   9 {
  10         switch (reg) {
  11         case BMP280_REG_CTRL_MEAS:
  12         case BMP280_REG_RESET:
  13                 return true;
  14         default:
  15                 return false;
  16         };
  17 }
  18 
  19 static bool bmp180_is_volatile_reg(struct device *dev, unsigned int reg)
  20 {
  21         switch (reg) {
  22         case BMP180_REG_OUT_XLSB:
  23         case BMP180_REG_OUT_LSB:
  24         case BMP180_REG_OUT_MSB:
  25         case BMP280_REG_CTRL_MEAS:
  26                 return true;
  27         default:
  28                 return false;
  29         }
  30 }
  31 
  32 const struct regmap_config bmp180_regmap_config = {
  33         .reg_bits = 8,
  34         .val_bits = 8,
  35 
  36         .max_register = BMP180_REG_OUT_XLSB,
  37         .cache_type = REGCACHE_RBTREE,
  38 
  39         .writeable_reg = bmp180_is_writeable_reg,
  40         .volatile_reg = bmp180_is_volatile_reg,
  41 };
  42 EXPORT_SYMBOL(bmp180_regmap_config);
  43 
  44 static bool bmp280_is_writeable_reg(struct device *dev, unsigned int reg)
  45 {
  46         switch (reg) {
  47         case BMP280_REG_CONFIG:
  48         case BMP280_REG_CTRL_HUMIDITY:
  49         case BMP280_REG_CTRL_MEAS:
  50         case BMP280_REG_RESET:
  51                 return true;
  52         default:
  53                 return false;
  54         };
  55 }
  56 
  57 static bool bmp280_is_volatile_reg(struct device *dev, unsigned int reg)
  58 {
  59         switch (reg) {
  60         case BMP280_REG_HUMIDITY_LSB:
  61         case BMP280_REG_HUMIDITY_MSB:
  62         case BMP280_REG_TEMP_XLSB:
  63         case BMP280_REG_TEMP_LSB:
  64         case BMP280_REG_TEMP_MSB:
  65         case BMP280_REG_PRESS_XLSB:
  66         case BMP280_REG_PRESS_LSB:
  67         case BMP280_REG_PRESS_MSB:
  68         case BMP280_REG_STATUS:
  69                 return true;
  70         default:
  71                 return false;
  72         }
  73 }
  74 
  75 const struct regmap_config bmp280_regmap_config = {
  76         .reg_bits = 8,
  77         .val_bits = 8,
  78 
  79         .max_register = BMP280_REG_HUMIDITY_LSB,
  80         .cache_type = REGCACHE_RBTREE,
  81 
  82         .writeable_reg = bmp280_is_writeable_reg,
  83         .volatile_reg = bmp280_is_volatile_reg,
  84 };
  85 EXPORT_SYMBOL(bmp280_regmap_config);

/* [<][>][^][v][top][bottom][index][help] */