• Home
  • Raw
  • Download

Lines Matching refs:pg

164 	struct pmic_gpio *pg = irq_data_get_irq_chip_data(data);  in pmic_irq_type()  local
165 u32 gpio = data->irq - pg->irq_base; in pmic_irq_type()
167 if (gpio >= pg->chip.ngpio) in pmic_irq_type()
170 pg->trigger_type = type; in pmic_irq_type()
171 pg->update_type = gpio | GPIO_UPDATE_TYPE; in pmic_irq_type()
177 struct pmic_gpio *pg = container_of(chip, struct pmic_gpio, chip); in pmic_gpio_to_irq() local
179 return pg->irq_base + offset; in pmic_gpio_to_irq()
184 struct pmic_gpio *pg = irq_data_get_irq_chip_data(data); in pmic_bus_lock() local
186 mutex_lock(&pg->buslock); in pmic_bus_lock()
191 struct pmic_gpio *pg = irq_data_get_irq_chip_data(data); in pmic_bus_sync_unlock() local
193 if (pg->update_type) { in pmic_bus_sync_unlock()
194 unsigned int gpio = pg->update_type & ~GPIO_UPDATE_TYPE; in pmic_bus_sync_unlock()
196 pmic_program_irqtype(gpio, pg->trigger_type); in pmic_bus_sync_unlock()
197 pg->update_type = 0; in pmic_bus_sync_unlock()
199 mutex_unlock(&pg->buslock); in pmic_bus_sync_unlock()
218 struct pmic_gpio *pg = data; in pmic_irq_handler() local
219 u8 intsts = *((u8 *)pg->gpiointr + 4); in pmic_irq_handler()
226 generic_handle_irq(pg->irq_base + gpio); in pmic_irq_handler()
239 struct pmic_gpio *pg; in platform_pmic_gpio_probe() local
253 pg = kzalloc(sizeof(*pg), GFP_KERNEL); in platform_pmic_gpio_probe()
254 if (!pg) in platform_pmic_gpio_probe()
257 dev_set_drvdata(dev, pg); in platform_pmic_gpio_probe()
259 pg->irq = irq; in platform_pmic_gpio_probe()
261 pg->gpiointr = ioremap_nocache(pdata->gpiointr, 8); in platform_pmic_gpio_probe()
262 if (!pg->gpiointr) { in platform_pmic_gpio_probe()
267 pg->irq_base = pdata->irq_base; in platform_pmic_gpio_probe()
268 pg->chip.label = "intel_pmic"; in platform_pmic_gpio_probe()
269 pg->chip.direction_input = pmic_gpio_direction_input; in platform_pmic_gpio_probe()
270 pg->chip.direction_output = pmic_gpio_direction_output; in platform_pmic_gpio_probe()
271 pg->chip.get = pmic_gpio_get; in platform_pmic_gpio_probe()
272 pg->chip.set = pmic_gpio_set; in platform_pmic_gpio_probe()
273 pg->chip.to_irq = pmic_gpio_to_irq; in platform_pmic_gpio_probe()
274 pg->chip.base = pdata->gpio_base; in platform_pmic_gpio_probe()
275 pg->chip.ngpio = NUM_GPIO; in platform_pmic_gpio_probe()
276 pg->chip.can_sleep = 1; in platform_pmic_gpio_probe()
277 pg->chip.dev = dev; in platform_pmic_gpio_probe()
279 mutex_init(&pg->buslock); in platform_pmic_gpio_probe()
281 pg->chip.dev = dev; in platform_pmic_gpio_probe()
282 retval = gpiochip_add(&pg->chip); in platform_pmic_gpio_probe()
288 retval = request_irq(pg->irq, pmic_irq_handler, 0, "pmic", pg); in platform_pmic_gpio_probe()
295 irq_set_chip_and_handler_name(i + pg->irq_base, in platform_pmic_gpio_probe()
299 irq_set_chip_data(i + pg->irq_base, pg); in platform_pmic_gpio_probe()
303 iounmap(pg->gpiointr); in platform_pmic_gpio_probe()
305 kfree(pg); in platform_pmic_gpio_probe()