Lines Matching +full:gpio +full:- +full:config

1 // SPDX-License-Identifier: GPL-2.0
10 #include <linux/gpio/regmap.h>
14 #include "gpio-i8255.h"
60 /* Initialize all GPIO to output 0 */ in i8255_ppi_init()
70 static int i8255_reg_mask_xlate(struct gpio_regmap *gpio, unsigned int base, in i8255_reg_mask_xlate() argument
90 return -EINVAL; in i8255_reg_mask_xlate()
95 * devm_i8255_regmap_register - Register an i8255 GPIO controller
96 * @dev: device that is registering this i8255 GPIO device
97 * @config: configuration for i8255_regmap_config
99 * Registers an Intel 8255 Programmable Peripheral Interface GPIO controller.
103 const struct i8255_regmap_config *const config) in devm_i8255_regmap_register() argument
109 if (!config->parent) in devm_i8255_regmap_register()
110 return -EINVAL; in devm_i8255_regmap_register()
112 if (!config->map) in devm_i8255_regmap_register()
113 return -EINVAL; in devm_i8255_regmap_register()
115 if (!config->num_ppi) in devm_i8255_regmap_register()
116 return -EINVAL; in devm_i8255_regmap_register()
118 for (i = 0; i < config->num_ppi; i++) { in devm_i8255_regmap_register()
119 err = i8255_ppi_init(config->map, i * 4); in devm_i8255_regmap_register()
124 gpio_config.parent = config->parent; in devm_i8255_regmap_register()
125 gpio_config.regmap = config->map; in devm_i8255_regmap_register()
126 gpio_config.ngpio = I8255_NGPIO * config->num_ppi; in devm_i8255_regmap_register()
127 gpio_config.names = config->names; in devm_i8255_regmap_register()
132 gpio_config.irq_domain = config->domain; in devm_i8255_regmap_register()