Lines Matching defs:data
78 struct ltc4306 *data = gpiochip_get_data(chip);
82 ret = regmap_read(data->regmap, LTC_REG_CONFIG, &val);
92 struct ltc4306 *data = gpiochip_get_data(chip);
94 regmap_update_bits(data->regmap, LTC_REG_CONFIG, BIT(5 - offset),
101 struct ltc4306 *data = gpiochip_get_data(chip);
105 ret = regmap_read(data->regmap, LTC_REG_MODE, &val);
115 struct ltc4306 *data = gpiochip_get_data(chip);
117 return regmap_update_bits(data->regmap, LTC_REG_MODE,
124 struct ltc4306 *data = gpiochip_get_data(chip);
127 return regmap_update_bits(data->regmap, LTC_REG_MODE,
134 struct ltc4306 *data = gpiochip_get_data(chip);
148 return regmap_update_bits(data->regmap, LTC_REG_MODE,
152 static int ltc4306_gpio_init(struct ltc4306 *data)
154 struct device *dev = regmap_get_device(data->regmap);
156 if (!data->chip->num_gpios)
159 data->gpiochip.label = dev_name(dev);
160 data->gpiochip.base = -1;
161 data->gpiochip.ngpio = data->chip->num_gpios;
162 data->gpiochip.parent = dev;
163 data->gpiochip.can_sleep = true;
164 data->gpiochip.get_direction = ltc4306_gpio_get_direction;
165 data->gpiochip.direction_input = ltc4306_gpio_direction_input;
166 data->gpiochip.direction_output = ltc4306_gpio_direction_output;
167 data->gpiochip.get = ltc4306_gpio_get;
168 data->gpiochip.set = ltc4306_gpio_set;
169 data->gpiochip.set_config = ltc4306_gpio_set_config;
170 data->gpiochip.owner = THIS_MODULE;
173 regmap_write(data->regmap, LTC_REG_MODE, LTC_GPIO_ALL_INPUT);
175 return devm_gpiochip_add_data(dev, &data->gpiochip, data);
180 struct ltc4306 *data = i2c_mux_priv(muxc);
182 return regmap_update_bits(data->regmap, LTC_REG_SWITCH,
188 struct ltc4306 *data = i2c_mux_priv(muxc);
190 return regmap_update_bits(data->regmap, LTC_REG_SWITCH,
202 { .compatible = "lltc,ltc4305", .data = &chips[ltc_4305] },
203 { .compatible = "lltc,ltc4306", .data = &chips[ltc_4306] },
213 struct ltc4306 *data;
228 chip->nchans, sizeof(*data),
233 data = i2c_mux_priv(muxc);
234 data->chip = chip;
238 data->regmap = devm_regmap_init_i2c(client, <c4306_regmap_config);
239 if (IS_ERR(data->regmap)) {
240 ret = PTR_ERR(data->regmap);
261 if (regmap_write(data->regmap, LTC_REG_SWITCH, 0) < 0) {
274 if (regmap_write(data->regmap, LTC_REG_CONFIG, val) < 0)
277 ret = ltc4306_gpio_init(data);