Commit b3de5ad6 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'regmap-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap

Pull regmap updates from Mark Brown:
 "For v4.11 activity on the regmap API has literally doubled, there are
  two patches this release:

   - fixes from Charles Keepax to make the kerneldoc generate correctly

   - a cleanup from Geliang Tang using rb_entry() rather than open
     coding it with container_of()"

* tag 'regmap-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
  regmap: Fixup the kernel-doc comments on functions/structures
  regmap: use rb_entry()
parents 27a67e0f 90e51e6d
...@@ -81,7 +81,7 @@ static struct regcache_rbtree_node *regcache_rbtree_lookup(struct regmap *map, ...@@ -81,7 +81,7 @@ static struct regcache_rbtree_node *regcache_rbtree_lookup(struct regmap *map,
node = rbtree_ctx->root.rb_node; node = rbtree_ctx->root.rb_node;
while (node) { while (node) {
rbnode = container_of(node, struct regcache_rbtree_node, node); rbnode = rb_entry(node, struct regcache_rbtree_node, node);
regcache_rbtree_get_base_top_reg(map, rbnode, &base_reg, regcache_rbtree_get_base_top_reg(map, rbnode, &base_reg,
&top_reg); &top_reg);
if (reg >= base_reg && reg <= top_reg) { if (reg >= base_reg && reg <= top_reg) {
...@@ -108,8 +108,7 @@ static int regcache_rbtree_insert(struct regmap *map, struct rb_root *root, ...@@ -108,8 +108,7 @@ static int regcache_rbtree_insert(struct regmap *map, struct rb_root *root,
parent = NULL; parent = NULL;
new = &root->rb_node; new = &root->rb_node;
while (*new) { while (*new) {
rbnode_tmp = container_of(*new, struct regcache_rbtree_node, rbnode_tmp = rb_entry(*new, struct regcache_rbtree_node, node);
node);
/* base and top registers of the current rbnode */ /* base and top registers of the current rbnode */
regcache_rbtree_get_base_top_reg(map, rbnode_tmp, &base_reg_tmp, regcache_rbtree_get_base_top_reg(map, rbnode_tmp, &base_reg_tmp,
&top_reg_tmp); &top_reg_tmp);
...@@ -152,7 +151,7 @@ static int rbtree_show(struct seq_file *s, void *ignored) ...@@ -152,7 +151,7 @@ static int rbtree_show(struct seq_file *s, void *ignored)
for (node = rb_first(&rbtree_ctx->root); node != NULL; for (node = rb_first(&rbtree_ctx->root); node != NULL;
node = rb_next(node)) { node = rb_next(node)) {
n = container_of(node, struct regcache_rbtree_node, node); n = rb_entry(node, struct regcache_rbtree_node, node);
mem_size += sizeof(*n); mem_size += sizeof(*n);
mem_size += (n->blklen * map->cache_word_size); mem_size += (n->blklen * map->cache_word_size);
mem_size += BITS_TO_LONGS(n->blklen) * sizeof(long); mem_size += BITS_TO_LONGS(n->blklen) * sizeof(long);
......
...@@ -224,7 +224,7 @@ void regcache_exit(struct regmap *map) ...@@ -224,7 +224,7 @@ void regcache_exit(struct regmap *map)
} }
/** /**
* regcache_read: Fetch the value of a given register from the cache. * regcache_read - Fetch the value of a given register from the cache.
* *
* @map: map to configure. * @map: map to configure.
* @reg: The register index. * @reg: The register index.
...@@ -255,7 +255,7 @@ int regcache_read(struct regmap *map, ...@@ -255,7 +255,7 @@ int regcache_read(struct regmap *map,
} }
/** /**
* regcache_write: Set the value of a given register in the cache. * regcache_write - Set the value of a given register in the cache.
* *
* @map: map to configure. * @map: map to configure.
* @reg: The register index. * @reg: The register index.
...@@ -328,7 +328,7 @@ static int regcache_default_sync(struct regmap *map, unsigned int min, ...@@ -328,7 +328,7 @@ static int regcache_default_sync(struct regmap *map, unsigned int min,
} }
/** /**
* regcache_sync: Sync the register cache with the hardware. * regcache_sync - Sync the register cache with the hardware.
* *
* @map: map to configure. * @map: map to configure.
* *
...@@ -396,7 +396,7 @@ int regcache_sync(struct regmap *map) ...@@ -396,7 +396,7 @@ int regcache_sync(struct regmap *map)
EXPORT_SYMBOL_GPL(regcache_sync); EXPORT_SYMBOL_GPL(regcache_sync);
/** /**
* regcache_sync_region: Sync part of the register cache with the hardware. * regcache_sync_region - Sync part of the register cache with the hardware.
* *
* @map: map to sync. * @map: map to sync.
* @min: first register to sync * @min: first register to sync
...@@ -452,7 +452,7 @@ int regcache_sync_region(struct regmap *map, unsigned int min, ...@@ -452,7 +452,7 @@ int regcache_sync_region(struct regmap *map, unsigned int min,
EXPORT_SYMBOL_GPL(regcache_sync_region); EXPORT_SYMBOL_GPL(regcache_sync_region);
/** /**
* regcache_drop_region: Discard part of the register cache * regcache_drop_region - Discard part of the register cache
* *
* @map: map to operate on * @map: map to operate on
* @min: first register to discard * @min: first register to discard
...@@ -483,10 +483,10 @@ int regcache_drop_region(struct regmap *map, unsigned int min, ...@@ -483,10 +483,10 @@ int regcache_drop_region(struct regmap *map, unsigned int min,
EXPORT_SYMBOL_GPL(regcache_drop_region); EXPORT_SYMBOL_GPL(regcache_drop_region);
/** /**
* regcache_cache_only: Put a register map into cache only mode * regcache_cache_only - Put a register map into cache only mode
* *
* @map: map to configure * @map: map to configure
* @cache_only: flag if changes should be written to the hardware * @enable: flag if changes should be written to the hardware
* *
* When a register map is marked as cache only writes to the register * When a register map is marked as cache only writes to the register
* map API will only update the register cache, they will not cause * map API will only update the register cache, they will not cause
...@@ -505,7 +505,7 @@ void regcache_cache_only(struct regmap *map, bool enable) ...@@ -505,7 +505,7 @@ void regcache_cache_only(struct regmap *map, bool enable)
EXPORT_SYMBOL_GPL(regcache_cache_only); EXPORT_SYMBOL_GPL(regcache_cache_only);
/** /**
* regcache_mark_dirty: Indicate that HW registers were reset to default values * regcache_mark_dirty - Indicate that HW registers were reset to default values
* *
* @map: map to mark * @map: map to mark
* *
...@@ -527,10 +527,10 @@ void regcache_mark_dirty(struct regmap *map) ...@@ -527,10 +527,10 @@ void regcache_mark_dirty(struct regmap *map)
EXPORT_SYMBOL_GPL(regcache_mark_dirty); EXPORT_SYMBOL_GPL(regcache_mark_dirty);
/** /**
* regcache_cache_bypass: Put a register map into cache bypass mode * regcache_cache_bypass - Put a register map into cache bypass mode
* *
* @map: map to configure * @map: map to configure
* @cache_bypass: flag if changes should not be written to the cache * @enable: flag if changes should not be written to the cache
* *
* When a register map is marked with the cache bypass option, writes * When a register map is marked with the cache bypass option, writes
* to the register map API will only update the hardware and not the * to the register map API will only update the hardware and not the
......
...@@ -398,13 +398,14 @@ static const struct irq_domain_ops regmap_domain_ops = { ...@@ -398,13 +398,14 @@ static const struct irq_domain_ops regmap_domain_ops = {
}; };
/** /**
* regmap_add_irq_chip(): Use standard regmap IRQ controller handling * regmap_add_irq_chip() - Use standard regmap IRQ controller handling
* *
* map: The regmap for the device. * @map: The regmap for the device.
* irq: The IRQ the device uses to signal interrupts * @irq: The IRQ the device uses to signal interrupts.
* irq_flags: The IRQF_ flags to use for the primary interrupt. * @irq_flags: The IRQF_ flags to use for the primary interrupt.
* chip: Configuration for the interrupt controller. * @irq_base: Allocate at specific IRQ number if irq_base > 0.
* data: Runtime data structure for the controller, allocated on success * @chip: Configuration for the interrupt controller.
* @data: Runtime data structure for the controller, allocated on success.
* *
* Returns 0 on success or an errno on failure. * Returns 0 on success or an errno on failure.
* *
...@@ -659,12 +660,12 @@ int regmap_add_irq_chip(struct regmap *map, int irq, int irq_flags, ...@@ -659,12 +660,12 @@ int regmap_add_irq_chip(struct regmap *map, int irq, int irq_flags,
EXPORT_SYMBOL_GPL(regmap_add_irq_chip); EXPORT_SYMBOL_GPL(regmap_add_irq_chip);
/** /**
* regmap_del_irq_chip(): Stop interrupt handling for a regmap IRQ chip * regmap_del_irq_chip() - Stop interrupt handling for a regmap IRQ chip
* *
* @irq: Primary IRQ for the device * @irq: Primary IRQ for the device
* @d: regmap_irq_chip_data allocated by regmap_add_irq_chip() * @d: &regmap_irq_chip_data allocated by regmap_add_irq_chip()
* *
* This function also dispose all mapped irq on chip. * This function also disposes of all mapped IRQs on the chip.
*/ */
void regmap_del_irq_chip(int irq, struct regmap_irq_chip_data *d) void regmap_del_irq_chip(int irq, struct regmap_irq_chip_data *d)
{ {
...@@ -723,18 +724,19 @@ static int devm_regmap_irq_chip_match(struct device *dev, void *res, void *data) ...@@ -723,18 +724,19 @@ static int devm_regmap_irq_chip_match(struct device *dev, void *res, void *data)
} }
/** /**
* devm_regmap_add_irq_chip(): Resource manager regmap_add_irq_chip() * devm_regmap_add_irq_chip() - Resource manager regmap_add_irq_chip()
* *
* @dev: The device pointer on which irq_chip belongs to. * @dev: The device pointer on which irq_chip belongs to.
* @map: The regmap for the device. * @map: The regmap for the device.
* @irq: The IRQ the device uses to signal interrupts * @irq: The IRQ the device uses to signal interrupts
* @irq_flags: The IRQF_ flags to use for the primary interrupt. * @irq_flags: The IRQF_ flags to use for the primary interrupt.
* @chip: Configuration for the interrupt controller. * @irq_base: Allocate at specific IRQ number if irq_base > 0.
* @data: Runtime data structure for the controller, allocated on success * @chip: Configuration for the interrupt controller.
* @data: Runtime data structure for the controller, allocated on success
* *
* Returns 0 on success or an errno on failure. * Returns 0 on success or an errno on failure.
* *
* The regmap_irq_chip data automatically be released when the device is * The &regmap_irq_chip_data will be automatically released when the device is
* unbound. * unbound.
*/ */
int devm_regmap_add_irq_chip(struct device *dev, struct regmap *map, int irq, int devm_regmap_add_irq_chip(struct device *dev, struct regmap *map, int irq,
...@@ -765,11 +767,13 @@ int devm_regmap_add_irq_chip(struct device *dev, struct regmap *map, int irq, ...@@ -765,11 +767,13 @@ int devm_regmap_add_irq_chip(struct device *dev, struct regmap *map, int irq,
EXPORT_SYMBOL_GPL(devm_regmap_add_irq_chip); EXPORT_SYMBOL_GPL(devm_regmap_add_irq_chip);
/** /**
* devm_regmap_del_irq_chip(): Resource managed regmap_del_irq_chip() * devm_regmap_del_irq_chip() - Resource managed regmap_del_irq_chip()
* *
* @dev: Device for which which resource was allocated. * @dev: Device for which which resource was allocated.
* @irq: Primary IRQ for the device * @irq: Primary IRQ for the device.
* @d: regmap_irq_chip_data allocated by regmap_add_irq_chip() * @data: &regmap_irq_chip_data allocated by regmap_add_irq_chip().
*
* A resource managed version of regmap_del_irq_chip().
*/ */
void devm_regmap_del_irq_chip(struct device *dev, int irq, void devm_regmap_del_irq_chip(struct device *dev, int irq,
struct regmap_irq_chip_data *data) struct regmap_irq_chip_data *data)
...@@ -786,11 +790,11 @@ void devm_regmap_del_irq_chip(struct device *dev, int irq, ...@@ -786,11 +790,11 @@ void devm_regmap_del_irq_chip(struct device *dev, int irq,
EXPORT_SYMBOL_GPL(devm_regmap_del_irq_chip); EXPORT_SYMBOL_GPL(devm_regmap_del_irq_chip);
/** /**
* regmap_irq_chip_get_base(): Retrieve interrupt base for a regmap IRQ chip * regmap_irq_chip_get_base() - Retrieve interrupt base for a regmap IRQ chip
* *
* Useful for drivers to request their own IRQs. * @data: regmap irq controller to operate on.
* *
* @data: regmap_irq controller to operate on. * Useful for drivers to request their own IRQs.
*/ */
int regmap_irq_chip_get_base(struct regmap_irq_chip_data *data) int regmap_irq_chip_get_base(struct regmap_irq_chip_data *data)
{ {
...@@ -800,12 +804,12 @@ int regmap_irq_chip_get_base(struct regmap_irq_chip_data *data) ...@@ -800,12 +804,12 @@ int regmap_irq_chip_get_base(struct regmap_irq_chip_data *data)
EXPORT_SYMBOL_GPL(regmap_irq_chip_get_base); EXPORT_SYMBOL_GPL(regmap_irq_chip_get_base);
/** /**
* regmap_irq_get_virq(): Map an interrupt on a chip to a virtual IRQ * regmap_irq_get_virq() - Map an interrupt on a chip to a virtual IRQ
* *
* Useful for drivers to request their own IRQs. * @data: regmap irq controller to operate on.
* @irq: index of the interrupt requested in the chip IRQs.
* *
* @data: regmap_irq controller to operate on. * Useful for drivers to request their own IRQs.
* @irq: index of the interrupt requested in the chip IRQs
*/ */
int regmap_irq_get_virq(struct regmap_irq_chip_data *data, int irq) int regmap_irq_get_virq(struct regmap_irq_chip_data *data, int irq)
{ {
...@@ -818,14 +822,14 @@ int regmap_irq_get_virq(struct regmap_irq_chip_data *data, int irq) ...@@ -818,14 +822,14 @@ int regmap_irq_get_virq(struct regmap_irq_chip_data *data, int irq)
EXPORT_SYMBOL_GPL(regmap_irq_get_virq); EXPORT_SYMBOL_GPL(regmap_irq_get_virq);
/** /**
* regmap_irq_get_domain(): Retrieve the irq_domain for the chip * regmap_irq_get_domain() - Retrieve the irq_domain for the chip
*
* @data: regmap_irq controller to operate on.
* *
* Useful for drivers to request their own IRQs and for integration * Useful for drivers to request their own IRQs and for integration
* with subsystems. For ease of integration NULL is accepted as a * with subsystems. For ease of integration NULL is accepted as a
* domain, allowing devices to just call this even if no domain is * domain, allowing devices to just call this even if no domain is
* allocated. * allocated.
*
* @data: regmap_irq controller to operate on.
*/ */
struct irq_domain *regmap_irq_get_domain(struct regmap_irq_chip_data *data) struct irq_domain *regmap_irq_get_domain(struct regmap_irq_chip_data *data)
{ {
......
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment