Commit 054b7477 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
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'
parents 883ab4e4 153dbf4a
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -73,12 +73,12 @@ struct regmap {
	void *bus_context;
	const char *name;

	bool async;
	spinlock_t async_lock;
	wait_queue_head_t async_waitq;
	struct list_head async_list;
	struct list_head async_free;
	int async_ret;
	bool async;

#ifdef CONFIG_DEBUG_FS
	bool debugfs_disable;
@@ -117,8 +117,6 @@ struct regmap {
		    void *val_buf, size_t val_size);
	int (*write)(void *context, const void *data, size_t count);

	bool defer_caching;

	unsigned long read_flag_mask;
	unsigned long write_flag_mask;

@@ -127,6 +125,8 @@ struct regmap {
	int reg_stride;
	int reg_stride_order;

	bool defer_caching;

	/* If set, will always write field to HW. */
	bool force_write_field;

@@ -161,6 +161,9 @@ struct regmap {
	struct reg_sequence *patch;
	int patch_regs;

	/* if set, the regmap core can sleep */
	bool can_sleep;

	/* if set, converts bulk read to single read */
	bool use_single_read;
	/* if set, converts bulk write to single write */
@@ -176,9 +179,6 @@ struct regmap {
	void *selector_work_buf;	/* Scratch buffer used for selector */

	struct hwspinlock *hwlock;

	/* if set, the regmap core can sleep */
	bool can_sleep;
};

struct regcache_ops {
+1 −1
Original line number Diff line number Diff line
@@ -823,7 +823,7 @@ int regmap_add_irq_chip_fwnode(struct fwnode_handle *fwnode,
		/* Ack masked but set interrupts */
		if (d->chip->no_status) {
			/* no status register so default to all active */
			d->status_buf[i] = GENMASK(31, 0);
			d->status_buf[i] = UINT_MAX;
		} else {
			reg = d->get_irq_reg(d, d->chip->status_base, i);
			ret = regmap_read(map, reg, &d->status_buf[i]);