Guest User

regmap rbtree cache

a guest
Mar 6th, 2015
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.32 KB | None | 0 0
  1. #define XXX_REG_STATUS  0x06
  2. #define XXX_REG_CTRL0   0x07
  3. #define XXX_REG_CTRL1   0x08
  4.  
  5. static bool xxx_is_writeable_reg(struct device *dev, unsigned int reg)
  6. {
  7.     switch (reg) {
  8.     case XXX_REG_CTRL0:
  9.     case XXX_REG_CTRL1:
  10.         return true;
  11.     default:
  12.         return false;
  13.     }
  14. }
  15.  
  16. static bool xxx_is_readable_reg(struct device *dev, unsigned int reg)
  17. {
  18.     switch (reg) {
  19.     case XXX_REG_XOUT_L:
  20.     case XXX_REG_XOUT_H:
  21.     case XXX_REG_YOUT_L:
  22.     case XXX_REG_YOUT_H:
  23.     case XXX_REG_ZOUT_L:
  24.     case XXX_REG_ZOUT_H:
  25.     case XXX_REG_STATUS:
  26.     case XXX_REG_ID:
  27.         return true;
  28.     default:
  29.         return false;
  30.     }
  31. }
  32.  
  33. static bool xxx_is_volatile_reg(struct device *dev, unsigned int reg)
  34. {
  35.     switch (reg) {
  36.     case XXX_REG_CTRL0:
  37.     case XXX_REG_CTRL1:
  38.     case XXX_REG_STATUS:
  39.         return false;
  40.     default:
  41.         return true;
  42.     }
  43. }
  44.  
  45. static struct reg_default xxx_reg_defaults[] = {
  46.     { XXX_REG_CTRL0,  0x00 },
  47.     { XXX_REG_CTRL1,  0x00 },
  48.     { XXX_REG_STATUS, 0x00 },
  49. };
  50.  
  51. static const struct regmap_config xxx_regmap_config = {
  52.     .name = XXX_REGMAP_NAME,
  53.  
  54.     .reg_bits = 8,
  55.     .val_bits = 8,
  56.  
  57.     .max_register = XXX_REG_ID,
  58.     .cache_type = REGCACHE_RBTREE,
  59.  
  60.     .writeable_reg = xxx_is_writeable_reg,
  61.     .readable_reg = xxx_is_readable_reg,
  62.     .volatile_reg = xxx_is_volatile_reg,
  63.  
  64.     .reg_defaults = xxx_reg_defaults,
  65.     .num_reg_defaults = ARRAY_SIZE(xxx_reg_defaults),
  66. };
Advertisement
Add Comment
Please, Sign In to add comment