Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

Pull regmap updates from Mark Brown:
"Only a couple of small patches this release, one refactoring struct
regmap to pack it more efficiently and another which makes our way of
setting all bits consistent in the regmap-irq code"

* tag 'regmap-v6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
regmap: irq: Use one way of setting all bits in the register
regmap: Reorder 'struct regmap'

+7 -7
+6 -6
drivers/base/regmap/internal.h
··· 73 73 void *bus_context; 74 74 const char *name; 75 75 76 - bool async; 77 76 spinlock_t async_lock; 78 77 wait_queue_head_t async_waitq; 79 78 struct list_head async_list; 80 79 struct list_head async_free; 81 80 int async_ret; 81 + bool async; 82 82 83 83 #ifdef CONFIG_DEBUG_FS 84 84 bool debugfs_disable; ··· 117 117 void *val_buf, size_t val_size); 118 118 int (*write)(void *context, const void *data, size_t count); 119 119 120 - bool defer_caching; 121 - 122 120 unsigned long read_flag_mask; 123 121 unsigned long write_flag_mask; 124 122 ··· 124 126 int reg_shift; 125 127 int reg_stride; 126 128 int reg_stride_order; 129 + 130 + bool defer_caching; 127 131 128 132 /* If set, will always write field to HW. */ 129 133 bool force_write_field; ··· 161 161 struct reg_sequence *patch; 162 162 int patch_regs; 163 163 164 + /* if set, the regmap core can sleep */ 165 + bool can_sleep; 166 + 164 167 /* if set, converts bulk read to single read */ 165 168 bool use_single_read; 166 169 /* if set, converts bulk write to single write */ ··· 179 176 void *selector_work_buf; /* Scratch buffer used for selector */ 180 177 181 178 struct hwspinlock *hwlock; 182 - 183 - /* if set, the regmap core can sleep */ 184 - bool can_sleep; 185 179 }; 186 180 187 181 struct regcache_ops {
+1 -1
drivers/base/regmap/regmap-irq.c
··· 823 823 /* Ack masked but set interrupts */ 824 824 if (d->chip->no_status) { 825 825 /* no status register so default to all active */ 826 - d->status_buf[i] = GENMASK(31, 0); 826 + d->status_buf[i] = UINT_MAX; 827 827 } else { 828 828 reg = d->get_irq_reg(d, d->chip->status_base, i); 829 829 ret = regmap_read(map, reg, &d->status_buf[i]);