mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:44:45 +01:00
gpio: regmap: Allow to provide init_valid_mask callback
Allows to populate the gpio_regmap_config structure with init_valid_mask() callback to set on the final gpio_chip structure. Reviewed-by: Michael Walle <mwalle@kernel.org> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Link: https://lore.kernel.org/r/20250824-mdb-max7360-support-v14-6-435cfda2b1ea@bootlin.com Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
parent
553b75d4bf
commit
0627b71fa5
2 changed files with 8 additions and 0 deletions
|
|
@ -261,6 +261,7 @@ struct gpio_regmap *gpio_regmap_register(const struct gpio_regmap_config *config
|
|||
chip->names = config->names;
|
||||
chip->label = config->label ?: dev_name(config->parent);
|
||||
chip->can_sleep = regmap_might_sleep(config->regmap);
|
||||
chip->init_valid_mask = config->init_valid_mask;
|
||||
|
||||
chip->request = gpiochip_generic_request;
|
||||
chip->free = gpiochip_generic_free;
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
struct device;
|
||||
struct fwnode_handle;
|
||||
struct gpio_regmap;
|
||||
struct gpio_chip;
|
||||
struct irq_domain;
|
||||
struct regmap;
|
||||
|
||||
|
|
@ -40,6 +41,8 @@ struct regmap;
|
|||
* @drvdata: (Optional) Pointer to driver specific data which is
|
||||
* not used by gpio-remap but is provided "as is" to the
|
||||
* driver callback(s).
|
||||
* @init_valid_mask: (Optional) Routine to initialize @valid_mask, to be used
|
||||
* if not all GPIOs are valid.
|
||||
* @regmap_irq_chip: (Optional) Pointer on an regmap_irq_chip structure. If
|
||||
* set, a regmap-irq device will be created and the IRQ
|
||||
* domain will be set accordingly.
|
||||
|
|
@ -93,6 +96,10 @@ struct gpio_regmap_config {
|
|||
unsigned int offset, unsigned int *reg,
|
||||
unsigned int *mask);
|
||||
|
||||
int (*init_valid_mask)(struct gpio_chip *gc,
|
||||
unsigned long *valid_mask,
|
||||
unsigned int ngpios);
|
||||
|
||||
void *drvdata;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue