Searched refs:msm_gpio (Results 1 - 1 of 1) sorted by relevance
/linux-4.1.27/drivers/gpio/ |
H A D | gpio-msm-v2.c | 109 static struct msm_gpio_dev msm_gpio; variable in typeref:struct:msm_gpio_dev 111 #define GPIO_INTR_CFG_SU(gpio) (msm_gpio.msm_tlmm_base + 0x0400 + \ 113 #define GPIO_CONFIG(gpio) (msm_gpio.msm_tlmm_base + 0x1000 + \ 115 #define GPIO_IN_OUT(gpio) (msm_gpio.msm_tlmm_base + 0x1004 + \ 117 #define GPIO_INTR_CFG(gpio) (msm_gpio.msm_tlmm_base + 0x1008 + \ 119 #define GPIO_INTR_STATUS(gpio) (msm_gpio.msm_tlmm_base + 0x100c + \ 241 int gpio = msm_irq_to_gpio(&msm_gpio.gpio_chip, d->irq); msm_gpio_irq_ack() 244 if (test_bit(gpio, msm_gpio.dual_edge_irqs)) msm_gpio_irq_ack() 250 int gpio = msm_irq_to_gpio(&msm_gpio.gpio_chip, d->irq); msm_gpio_irq_mask() 256 __clear_bit(gpio, msm_gpio.enabled_irqs); msm_gpio_irq_mask() 262 int gpio = msm_irq_to_gpio(&msm_gpio.gpio_chip, d->irq); msm_gpio_irq_unmask() 266 __set_bit(gpio, msm_gpio.enabled_irqs); msm_gpio_irq_unmask() 274 int gpio = msm_irq_to_gpio(&msm_gpio.gpio_chip, d->irq); msm_gpio_irq_set_type() 286 __set_bit(gpio, msm_gpio.dual_edge_irqs); msm_gpio_irq_set_type() 288 __clear_bit(gpio, msm_gpio.dual_edge_irqs); msm_gpio_irq_set_type() 292 __clear_bit(gpio, msm_gpio.dual_edge_irqs); msm_gpio_irq_set_type() 323 for_each_set_bit(i, msm_gpio.enabled_irqs, MAX_NR_GPIO) { for_each_set_bit() 325 generic_handle_irq(irq_find_mapping(msm_gpio.domain, for_each_set_bit() 334 int gpio = msm_irq_to_gpio(&msm_gpio.gpio_chip, d->irq); msm_gpio_irq_set_wake() 337 if (bitmap_empty(msm_gpio.wake_irqs, MAX_NR_GPIO)) msm_gpio_irq_set_wake() 338 irq_set_irq_wake(msm_gpio.summary_irq, 1); msm_gpio_irq_set_wake() 339 set_bit(gpio, msm_gpio.wake_irqs); msm_gpio_irq_set_wake() 341 clear_bit(gpio, msm_gpio.wake_irqs); msm_gpio_irq_set_wake() 342 if (bitmap_empty(msm_gpio.wake_irqs, MAX_NR_GPIO)) msm_gpio_irq_set_wake() 343 irq_set_irq_wake(msm_gpio.summary_irq, 0); msm_gpio_irq_set_wake() 389 bitmap_zero(msm_gpio.enabled_irqs, MAX_NR_GPIO); msm_gpio_probe() 390 bitmap_zero(msm_gpio.wake_irqs, MAX_NR_GPIO); msm_gpio_probe() 391 bitmap_zero(msm_gpio.dual_edge_irqs, MAX_NR_GPIO); msm_gpio_probe() 394 msm_gpio.msm_tlmm_base = devm_ioremap_resource(&pdev->dev, res); msm_gpio_probe() 395 if (IS_ERR(msm_gpio.msm_tlmm_base)) msm_gpio_probe() 396 return PTR_ERR(msm_gpio.msm_tlmm_base); msm_gpio_probe() 398 msm_gpio.gpio_chip.ngpio = ngpio; msm_gpio_probe() 399 msm_gpio.gpio_chip.label = pdev->name; msm_gpio_probe() 400 msm_gpio.gpio_chip.dev = &pdev->dev; msm_gpio_probe() 401 msm_gpio.gpio_chip.base = 0; msm_gpio_probe() 402 msm_gpio.gpio_chip.direction_input = msm_gpio_direction_input; msm_gpio_probe() 403 msm_gpio.gpio_chip.direction_output = msm_gpio_direction_output; msm_gpio_probe() 404 msm_gpio.gpio_chip.get = msm_gpio_get; msm_gpio_probe() 405 msm_gpio.gpio_chip.set = msm_gpio_set; msm_gpio_probe() 406 msm_gpio.gpio_chip.to_irq = msm_gpio_to_irq; msm_gpio_probe() 407 msm_gpio.gpio_chip.request = msm_gpio_request; msm_gpio_probe() 408 msm_gpio.gpio_chip.free = msm_gpio_free; msm_gpio_probe() 410 ret = gpiochip_add(&msm_gpio.gpio_chip); msm_gpio_probe() 416 msm_gpio.summary_irq = platform_get_irq(pdev, 0); msm_gpio_probe() 417 if (msm_gpio.summary_irq < 0) { msm_gpio_probe() 419 return msm_gpio.summary_irq; msm_gpio_probe() 422 msm_gpio.domain = irq_domain_add_linear(pdev->dev.of_node, ngpio, msm_gpio_probe() 424 &msm_gpio); msm_gpio_probe() 425 if (!msm_gpio.domain) msm_gpio_probe() 428 irq_set_chained_handler(msm_gpio.summary_irq, msm_summary_irq_handler); msm_gpio_probe() 441 gpiochip_remove(&msm_gpio.gpio_chip); msm_gpio_remove() 443 irq_set_handler(msm_gpio.summary_irq, NULL); msm_gpio_remove()
|
Completed in 38 milliseconds