pmic_eic 70 drivers/gpio/gpio-pmic-eic-sprd.c struct sprd_pmic_eic *pmic_eic = gpiochip_get_data(chip); pmic_eic 73 drivers/gpio/gpio-pmic-eic-sprd.c regmap_update_bits(pmic_eic->map, pmic_eic->offset + reg, pmic_eic 80 drivers/gpio/gpio-pmic-eic-sprd.c struct sprd_pmic_eic *pmic_eic = gpiochip_get_data(chip); pmic_eic 84 drivers/gpio/gpio-pmic-eic-sprd.c ret = regmap_read(pmic_eic->map, pmic_eic->offset + reg, &value); pmic_eic 124 drivers/gpio/gpio-pmic-eic-sprd.c struct sprd_pmic_eic *pmic_eic = gpiochip_get_data(chip); pmic_eic 129 drivers/gpio/gpio-pmic-eic-sprd.c ret = regmap_read(pmic_eic->map, pmic_eic->offset + reg, &value); pmic_eic 135 drivers/gpio/gpio-pmic-eic-sprd.c return regmap_write(pmic_eic->map, pmic_eic->offset + reg, value); pmic_eic 153 drivers/gpio/gpio-pmic-eic-sprd.c struct sprd_pmic_eic *pmic_eic = gpiochip_get_data(chip); pmic_eic 155 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->reg[REG_IE] = 0; pmic_eic 156 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->reg[REG_TRIG] = 0; pmic_eic 162 drivers/gpio/gpio-pmic-eic-sprd.c struct sprd_pmic_eic *pmic_eic = gpiochip_get_data(chip); pmic_eic 164 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->reg[REG_IE] = 1; pmic_eic 165 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->reg[REG_TRIG] = 1; pmic_eic 172 drivers/gpio/gpio-pmic-eic-sprd.c struct sprd_pmic_eic *pmic_eic = gpiochip_get_data(chip); pmic_eic 176 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->reg[REG_IEV] = 1; pmic_eic 179 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->reg[REG_IEV] = 0; pmic_eic 199 drivers/gpio/gpio-pmic-eic-sprd.c struct sprd_pmic_eic *pmic_eic = gpiochip_get_data(chip); pmic_eic 201 drivers/gpio/gpio-pmic-eic-sprd.c mutex_lock(&pmic_eic->buslock); pmic_eic 207 drivers/gpio/gpio-pmic-eic-sprd.c struct sprd_pmic_eic *pmic_eic = gpiochip_get_data(chip); pmic_eic 221 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->reg[REG_IEV]); pmic_eic 226 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->reg[REG_IE]); pmic_eic 229 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->reg[REG_TRIG]); pmic_eic 231 drivers/gpio/gpio-pmic-eic-sprd.c mutex_unlock(&pmic_eic->buslock); pmic_eic 265 drivers/gpio/gpio-pmic-eic-sprd.c struct sprd_pmic_eic *pmic_eic = data; pmic_eic 266 drivers/gpio/gpio-pmic-eic-sprd.c struct gpio_chip *chip = &pmic_eic->chip; pmic_eic 271 drivers/gpio/gpio-pmic-eic-sprd.c ret = regmap_read(pmic_eic->map, pmic_eic->offset + SPRD_PMIC_EIC_MIS, pmic_eic 298 drivers/gpio/gpio-pmic-eic-sprd.c struct sprd_pmic_eic *pmic_eic; pmic_eic 301 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic = devm_kzalloc(&pdev->dev, sizeof(*pmic_eic), GFP_KERNEL); pmic_eic 302 drivers/gpio/gpio-pmic-eic-sprd.c if (!pmic_eic) pmic_eic 305 drivers/gpio/gpio-pmic-eic-sprd.c mutex_init(&pmic_eic->buslock); pmic_eic 307 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->irq = platform_get_irq(pdev, 0); pmic_eic 308 drivers/gpio/gpio-pmic-eic-sprd.c if (pmic_eic->irq < 0) pmic_eic 309 drivers/gpio/gpio-pmic-eic-sprd.c return pmic_eic->irq; pmic_eic 311 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->map = dev_get_regmap(pdev->dev.parent, NULL); pmic_eic 312 drivers/gpio/gpio-pmic-eic-sprd.c if (!pmic_eic->map) pmic_eic 315 drivers/gpio/gpio-pmic-eic-sprd.c ret = of_property_read_u32(pdev->dev.of_node, "reg", &pmic_eic->offset); pmic_eic 321 drivers/gpio/gpio-pmic-eic-sprd.c ret = devm_request_threaded_irq(&pdev->dev, pmic_eic->irq, NULL, pmic_eic 324 drivers/gpio/gpio-pmic-eic-sprd.c dev_name(&pdev->dev), pmic_eic); pmic_eic 330 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->chip.label = dev_name(&pdev->dev); pmic_eic 331 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->chip.ngpio = SPRD_PMIC_EIC_NR; pmic_eic 332 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->chip.base = -1; pmic_eic 333 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->chip.parent = &pdev->dev; pmic_eic 334 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->chip.of_node = pdev->dev.of_node; pmic_eic 335 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->chip.direction_input = sprd_pmic_eic_direction_input; pmic_eic 336 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->chip.request = sprd_pmic_eic_request; pmic_eic 337 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->chip.free = sprd_pmic_eic_free; pmic_eic 338 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->chip.set_config = sprd_pmic_eic_set_config; pmic_eic 339 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->chip.set = sprd_pmic_eic_set; pmic_eic 340 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->chip.get = sprd_pmic_eic_get; pmic_eic 342 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->intc.name = dev_name(&pdev->dev); pmic_eic 343 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->intc.irq_mask = sprd_pmic_eic_irq_mask; pmic_eic 344 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->intc.irq_unmask = sprd_pmic_eic_irq_unmask; pmic_eic 345 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->intc.irq_set_type = sprd_pmic_eic_irq_set_type; pmic_eic 346 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->intc.irq_bus_lock = sprd_pmic_eic_bus_lock; pmic_eic 347 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->intc.irq_bus_sync_unlock = sprd_pmic_eic_bus_sync_unlock; pmic_eic 348 drivers/gpio/gpio-pmic-eic-sprd.c pmic_eic->intc.flags = IRQCHIP_SKIP_SET_WAKE; pmic_eic 350 drivers/gpio/gpio-pmic-eic-sprd.c irq = &pmic_eic->chip.irq; pmic_eic 351 drivers/gpio/gpio-pmic-eic-sprd.c irq->chip = &pmic_eic->intc; pmic_eic 354 drivers/gpio/gpio-pmic-eic-sprd.c ret = devm_gpiochip_add_data(&pdev->dev, &pmic_eic->chip, pmic_eic); pmic_eic 360 drivers/gpio/gpio-pmic-eic-sprd.c platform_set_drvdata(pdev, pmic_eic);