Lines Matching +full:irqs +full:- +full:map +full:- +full:range
5 * Register map access API
47 * struct reg_default - Default value for a register.
61 * struct reg_sequence - An individual write from a sequence of writes.
76 #define regmap_update_bits(map, reg, mask, val) \ argument
77 regmap_update_bits_base(map, reg, mask, val, NULL, false, false)
78 #define regmap_update_bits_async(map, reg, mask, val)\ argument
79 regmap_update_bits_base(map, reg, mask, val, NULL, true, false)
80 #define regmap_update_bits_check(map, reg, mask, val, change)\ argument
81 regmap_update_bits_base(map, reg, mask, val, change, false, false)
82 #define regmap_update_bits_check_async(map, reg, mask, val, change)\ argument
83 regmap_update_bits_base(map, reg, mask, val, change, true, false)
85 #define regmap_write_bits(map, reg, mask, val) \ argument
86 regmap_update_bits_base(map, reg, mask, val, NULL, false, true)
107 * regmap_read_poll_timeout - Poll until a condition is met or a timeout occurs
109 * @map: Regmap to read from
114 * tight-loops). Should be less than ~20ms since usleep_range
115 * is used (see Documentation/timers/timers-howto.txt).
118 * Returns 0 on success and -ETIMEDOUT upon a timeout or the regmap_read
125 #define regmap_read_poll_timeout(map, addr, val, cond, sleep_us, timeout_us) \ argument
133 __ret = regmap_read((map), (addr), &(val)); \
140 __ret = regmap_read((map), (addr), &(val)); \
146 __ret ?: ((cond) ? 0 : -ETIMEDOUT); \
150 * regmap_field_read_poll_timeout - Poll until a condition is met or timeout
156 * tight-loops). Should be less than ~20ms since usleep_range
157 * is used (see Documentation/timers/timers-howto.txt).
160 * Returns 0 on success and -ETIMEDOUT upon a timeout or the regmap_field_read
187 pollret ?: ((cond) ? 0 : -ETIMEDOUT); \
193 /* Unspecified -> 0 -> Backwards compatible default */
201 * struct regmap_range - A register range, used for access related checks
215 * struct regmap_access_table - A table of register ranges for access checks
224 * will return false. If a register belongs to a yes range, the corresponding
238 * struct regmap_config - Configuration for the register map of a device.
298 * Use it only for "no-bus" cases.
337 * @num_ranges: Number of range configuration entries.
398 * struct regmap_range_cfg - Configuration for indirectly accessed or paged
403 * @range_min: Address of the lowest register address in virtual range.
404 * @range_max: Address of the highest register in virtual range.
413 * Registers, mapped to this virtual range, are accessed in two steps:
420 /* Registers of virtual address range */
458 * struct regmap_bus - Description of a hardware bus for the register map
466 * @gather_write: Write operation with split register/value, return -ENOTSUPP
469 * must serialise with respect to non-async I/O.
615 * for each call. No-op if CONFIG_LOCKDEP is not set.
628 "(" name ")->lock"); \
636 * regmap_init() - Initialise register map
639 * @bus: Bus-specific callbacks to use with device
640 * @bus_context: Data passed to bus-specific callbacks
641 * @config: Configuration for register map
645 * directly, it should be called by bus-specific init functions.
650 int regmap_attach_dev(struct device *dev, struct regmap *map,
654 * regmap_init_i2c() - Initialise register map
657 * @config: Configuration for register map
667 * regmap_init_sccb() - Initialise register map
670 * @config: Configuration for register map
680 * regmap_init_slimbus() - Initialise register map
683 * @config: Configuration for register map
693 * regmap_init_spi() - Initialise register map
696 * @config: Configuration for register map
706 * regmap_init_spmi_base() - Create regmap for the Base register space
709 * @config: Configuration for register map
719 * regmap_init_spmi_ext() - Create regmap for Ext register space
722 * @config: Configuration for register map
732 * regmap_init_w1() - Initialise register map
735 * @config: Configuration for register map
745 * regmap_init_mmio_clk() - Initialise register map with register clock
749 * @regs: Pointer to memory-mapped IO region
750 * @config: Configuration for register map
760 * regmap_init_mmio() - Initialise register map
763 * @regs: Pointer to memory-mapped IO region
764 * @config: Configuration for register map
773 * regmap_init_ac97() - Initialise AC'97 register map
776 * @config: Configuration for register map
787 * regmap_init_sdw() - Initialise register map
790 * @config: Configuration for register map
801 * devm_regmap_init() - Initialise managed register map
804 * @bus: Bus-specific callbacks to use with device
805 * @bus_context: Data passed to bus-specific callbacks
806 * @config: Configuration for register map
810 * directly, it should be called by bus-specific init functions. The
811 * map will be automatically freed by the device management code.
818 * devm_regmap_init_i2c() - Initialise managed register map
821 * @config: Configuration for register map
832 * devm_regmap_init_sccb() - Initialise managed register map
835 * @config: Configuration for register map
846 * devm_regmap_init_spi() - Initialise register map
849 * @config: Configuration for register map
852 * to a struct regmap. The map will be automatically freed by the
860 * devm_regmap_init_spmi_base() - Create managed regmap for Base register space
863 * @config: Configuration for register map
874 * devm_regmap_init_spmi_ext() - Create managed regmap for Ext register space
877 * @config: Configuration for register map
888 * devm_regmap_init_w1() - Initialise managed register map
891 * @config: Configuration for register map
901 * devm_regmap_init_mmio_clk() - Initialise managed register map with clock
905 * @regs: Pointer to memory-mapped IO region
906 * @config: Configuration for register map
917 * devm_regmap_init_mmio() - Initialise managed register map
920 * @regs: Pointer to memory-mapped IO region
921 * @config: Configuration for register map
931 * devm_regmap_init_ac97() - Initialise AC'97 register map
934 * @config: Configuration for register map
945 * devm_regmap_init_sdw() - Initialise managed register map
948 * @config: Configuration for register map
959 * devm_regmap_init_slimbus() - Initialise managed register map
962 * @config: Configuration for register map
971 int regmap_mmio_attach_clk(struct regmap *map, struct clk *clk);
972 void regmap_mmio_detach_clk(struct regmap *map);
973 void regmap_exit(struct regmap *map);
974 int regmap_reinit_cache(struct regmap *map,
977 struct device *regmap_get_device(struct regmap *map);
978 int regmap_write(struct regmap *map, unsigned int reg, unsigned int val);
979 int regmap_write_async(struct regmap *map, unsigned int reg, unsigned int val);
980 int regmap_raw_write(struct regmap *map, unsigned int reg,
982 int regmap_bulk_write(struct regmap *map, unsigned int reg, const void *val,
984 int regmap_multi_reg_write(struct regmap *map, const struct reg_sequence *regs,
986 int regmap_multi_reg_write_bypassed(struct regmap *map,
989 int regmap_raw_write_async(struct regmap *map, unsigned int reg,
991 int regmap_read(struct regmap *map, unsigned int reg, unsigned int *val);
992 int regmap_raw_read(struct regmap *map, unsigned int reg,
994 int regmap_noinc_read(struct regmap *map, unsigned int reg,
996 int regmap_bulk_read(struct regmap *map, unsigned int reg, void *val,
998 int regmap_update_bits_base(struct regmap *map, unsigned int reg,
1001 int regmap_get_val_bytes(struct regmap *map);
1002 int regmap_get_max_register(struct regmap *map);
1003 int regmap_get_reg_stride(struct regmap *map);
1004 int regmap_async_complete(struct regmap *map);
1005 bool regmap_can_raw_write(struct regmap *map);
1006 size_t regmap_get_raw_read_max(struct regmap *map);
1007 size_t regmap_get_raw_write_max(struct regmap *map);
1009 int regcache_sync(struct regmap *map);
1010 int regcache_sync_region(struct regmap *map, unsigned int min,
1012 int regcache_drop_region(struct regmap *map, unsigned int min,
1014 void regcache_cache_only(struct regmap *map, bool enable);
1015 void regcache_cache_bypass(struct regmap *map, bool enable);
1016 void regcache_mark_dirty(struct regmap *map);
1018 bool regmap_check_range_table(struct regmap *map, unsigned int reg,
1021 int regmap_register_patch(struct regmap *map, const struct reg_sequence *regs,
1023 int regmap_parse_val(struct regmap *map, const void *buf,
1027 const struct regmap_range *range) in regmap_reg_in_range() argument
1029 return reg >= range->range_min && reg <= range->range_max; in regmap_reg_in_range()
1037 * struct reg_field - Description of an register field
1078 * struct regmap_irq - Description of an IRQ for the generic regmap irq_chip.
1098 * struct regmap_irq_chip - Description of a generic regmap irq_chip.
1121 * @irqs: Descriptors for individual IRQs. Interrupt numbers are
1159 const struct regmap_irq *irqs; member
1172 int regmap_add_irq_chip(struct regmap *map, int irq, int irq_flags,
1177 int devm_regmap_add_irq_chip(struct device *dev, struct regmap *map, int irq,
1197 static inline int regmap_write(struct regmap *map, unsigned int reg, in regmap_write() argument
1201 return -EINVAL; in regmap_write()
1204 static inline int regmap_write_async(struct regmap *map, unsigned int reg, in regmap_write_async() argument
1208 return -EINVAL; in regmap_write_async()
1211 static inline int regmap_raw_write(struct regmap *map, unsigned int reg, in regmap_raw_write() argument
1215 return -EINVAL; in regmap_raw_write()
1218 static inline int regmap_raw_write_async(struct regmap *map, unsigned int reg, in regmap_raw_write_async() argument
1222 return -EINVAL; in regmap_raw_write_async()
1225 static inline int regmap_bulk_write(struct regmap *map, unsigned int reg, in regmap_bulk_write() argument
1229 return -EINVAL; in regmap_bulk_write()
1232 static inline int regmap_read(struct regmap *map, unsigned int reg, in regmap_read() argument
1236 return -EINVAL; in regmap_read()
1239 static inline int regmap_raw_read(struct regmap *map, unsigned int reg, in regmap_raw_read() argument
1243 return -EINVAL; in regmap_raw_read()
1246 static inline int regmap_noinc_read(struct regmap *map, unsigned int reg, in regmap_noinc_read() argument
1250 return -EINVAL; in regmap_noinc_read()
1253 static inline int regmap_bulk_read(struct regmap *map, unsigned int reg, in regmap_bulk_read() argument
1257 return -EINVAL; in regmap_bulk_read()
1260 static inline int regmap_update_bits_base(struct regmap *map, unsigned int reg, in regmap_update_bits_base() argument
1265 return -EINVAL; in regmap_update_bits_base()
1273 return -EINVAL; in regmap_field_update_bits_base()
1282 return -EINVAL; in regmap_fields_update_bits_base()
1285 static inline int regmap_get_val_bytes(struct regmap *map) in regmap_get_val_bytes() argument
1288 return -EINVAL; in regmap_get_val_bytes()
1291 static inline int regmap_get_max_register(struct regmap *map) in regmap_get_max_register() argument
1294 return -EINVAL; in regmap_get_max_register()
1297 static inline int regmap_get_reg_stride(struct regmap *map) in regmap_get_reg_stride() argument
1300 return -EINVAL; in regmap_get_reg_stride()
1303 static inline int regcache_sync(struct regmap *map) in regcache_sync() argument
1306 return -EINVAL; in regcache_sync()
1309 static inline int regcache_sync_region(struct regmap *map, unsigned int min, in regcache_sync_region() argument
1313 return -EINVAL; in regcache_sync_region()
1316 static inline int regcache_drop_region(struct regmap *map, unsigned int min, in regcache_drop_region() argument
1320 return -EINVAL; in regcache_drop_region()
1323 static inline void regcache_cache_only(struct regmap *map, bool enable) in regcache_cache_only() argument
1328 static inline void regcache_cache_bypass(struct regmap *map, bool enable) in regcache_cache_bypass() argument
1333 static inline void regcache_mark_dirty(struct regmap *map) in regcache_mark_dirty() argument
1338 static inline void regmap_async_complete(struct regmap *map) in regmap_async_complete() argument
1343 static inline int regmap_register_patch(struct regmap *map, in regmap_register_patch() argument
1348 return -EINVAL; in regmap_register_patch()
1351 static inline int regmap_parse_val(struct regmap *map, const void *buf, in regmap_parse_val() argument
1355 return -EINVAL; in regmap_parse_val()
1364 static inline struct device *regmap_get_device(struct regmap *map) in regmap_get_device() argument