Lines Matching refs:pmic_eic

68 	struct sprd_pmic_eic *pmic_eic = gpiochip_get_data(chip);
71 regmap_update_bits(pmic_eic->map, pmic_eic->offset + reg,
78 struct sprd_pmic_eic *pmic_eic = gpiochip_get_data(chip);
82 ret = regmap_read(pmic_eic->map, pmic_eic->offset + reg, &value);
122 struct sprd_pmic_eic *pmic_eic = gpiochip_get_data(chip);
127 ret = regmap_read(pmic_eic->map, pmic_eic->offset + reg, &value);
133 return regmap_write(pmic_eic->map, pmic_eic->offset + reg, value);
151 struct sprd_pmic_eic *pmic_eic = gpiochip_get_data(chip);
154 pmic_eic->reg[REG_IE] = 0;
155 pmic_eic->reg[REG_TRIG] = 0;
163 struct sprd_pmic_eic *pmic_eic = gpiochip_get_data(chip);
168 pmic_eic->reg[REG_IE] = 1;
169 pmic_eic->reg[REG_TRIG] = 1;
176 struct sprd_pmic_eic *pmic_eic = gpiochip_get_data(chip);
180 pmic_eic->reg[REG_IEV] = 1;
183 pmic_eic->reg[REG_IEV] = 0;
203 struct sprd_pmic_eic *pmic_eic = gpiochip_get_data(chip);
205 mutex_lock(&pmic_eic->buslock);
211 struct sprd_pmic_eic *pmic_eic = gpiochip_get_data(chip);
225 pmic_eic->reg[REG_IEV]);
230 pmic_eic->reg[REG_IE]);
233 pmic_eic->reg[REG_TRIG]);
235 mutex_unlock(&pmic_eic->buslock);
269 struct sprd_pmic_eic *pmic_eic = data;
270 struct gpio_chip *chip = &pmic_eic->chip;
275 ret = regmap_read(pmic_eic->map, pmic_eic->offset + SPRD_PMIC_EIC_MIS,
313 struct sprd_pmic_eic *pmic_eic;
316 pmic_eic = devm_kzalloc(&pdev->dev, sizeof(*pmic_eic), GFP_KERNEL);
317 if (!pmic_eic)
320 mutex_init(&pmic_eic->buslock);
322 pmic_eic->irq = platform_get_irq(pdev, 0);
323 if (pmic_eic->irq < 0)
324 return pmic_eic->irq;
326 pmic_eic->map = dev_get_regmap(pdev->dev.parent, NULL);
327 if (!pmic_eic->map)
330 ret = of_property_read_u32(pdev->dev.of_node, "reg", &pmic_eic->offset);
336 ret = devm_request_threaded_irq(&pdev->dev, pmic_eic->irq, NULL,
339 dev_name(&pdev->dev), pmic_eic);
345 pmic_eic->chip.label = dev_name(&pdev->dev);
346 pmic_eic->chip.ngpio = SPRD_PMIC_EIC_NR;
347 pmic_eic->chip.base = -1;
348 pmic_eic->chip.parent = &pdev->dev;
349 pmic_eic->chip.direction_input = sprd_pmic_eic_direction_input;
350 pmic_eic->chip.request = sprd_pmic_eic_request;
351 pmic_eic->chip.free = sprd_pmic_eic_free;
352 pmic_eic->chip.set_config = sprd_pmic_eic_set_config;
353 pmic_eic->chip.set = sprd_pmic_eic_set;
354 pmic_eic->chip.get = sprd_pmic_eic_get;
355 pmic_eic->chip.can_sleep = true;
357 irq = &pmic_eic->chip.irq;
361 ret = devm_gpiochip_add_data(&pdev->dev, &pmic_eic->chip, pmic_eic);