Lines Matching defs:idio24gpio
162 struct idio_24_gpio *const idio24gpio = irq_drv_data;
166 raw_spin_lock(&idio24gpio->lock);
169 type = (mask_buf == mask_buf_def) ? ~type_mask : idio24gpio->irq_type;
171 ret = regmap_update_bits(idio24gpio->map, IDIO_24_COS_ENABLE, type_mask, type);
173 raw_spin_unlock(&idio24gpio->lock);
186 struct idio_24_gpio *const idio24gpio = irq_drv_data;
205 raw_spin_lock(&idio24gpio->lock);
208 idio24gpio->irq_type = (idio24gpio->irq_type & ~mask) | (new & mask);
210 ret = regmap_read(idio24gpio->map, IDIO_24_COS_ENABLE, &cos_enable);
216 ret = regmap_update_bits(idio24gpio->map, IDIO_24_COS_ENABLE, mask,
217 idio24gpio->irq_type);
223 raw_spin_unlock(&idio24gpio->lock);
295 struct idio_24_gpio *idio24gpio;
327 idio24gpio = devm_kzalloc(dev, sizeof(*idio24gpio), GFP_KERNEL);
328 if (!idio24gpio)
331 idio24gpio->map = devm_regmap_init_mmio(dev, idio_24_regs, &idio_24_regmap_config);
332 if (IS_ERR(idio24gpio->map))
333 return dev_err_probe(dev, PTR_ERR(idio24gpio->map),
336 raw_spin_lock_init(&idio24gpio->lock);
339 idio24gpio->irq_type = GENMASK(7, 0);
354 chip->irq_drv_data = idio24gpio;
357 err = regmap_write(idio24gpio->map, IDIO_24_SOFT_RESET, 0);
368 err = devm_regmap_add_irq_chip(dev, idio24gpio->map, pdev->irq, 0, 0, chip, &chip_data);
373 gpio_config.regmap = idio24gpio->map;
382 gpio_config.drvdata = idio24gpio->map;