Lines Matching refs:irq

19 #include <linux/irq.h>
208 static unsigned int irq_to_rising(unsigned int irq)
210 struct ab8500_gpio *ab8500_gpio = get_irq_chip_data(irq);
211 int offset = irq - ab8500_gpio->irq_base;
217 static unsigned int irq_to_falling(unsigned int irq)
219 struct ab8500_gpio *ab8500_gpio = get_irq_chip_data(irq);
220 int offset = irq - ab8500_gpio->irq_base;
227 static unsigned int rising_to_irq(unsigned int irq, void *dev)
230 int offset = irq - AB8500_INT_GPIO6R
236 static unsigned int falling_to_irq(unsigned int irq, void *dev)
239 int offset = irq - AB8500_INT_GPIO6F
250 static irqreturn_t handle_rising(int irq, void *dev)
253 handle_nested_irq(rising_to_irq(irq , dev));
257 static irqreturn_t handle_falling(int irq, void *dev)
260 handle_nested_irq(falling_to_irq(irq, dev));
264 static void ab8500_gpio_irq_lock(unsigned int irq)
266 struct ab8500_gpio *ab8500_gpio = get_irq_chip_data(irq);
270 static void ab8500_gpio_irq_sync_unlock(unsigned int irq)
272 struct ab8500_gpio *ab8500_gpio = get_irq_chip_data(irq);
273 int offset = irq - ab8500_gpio->irq_base;
281 ret = request_threaded_irq(irq_to_rising(irq),
286 ret = request_threaded_irq(irq_to_falling(irq),
293 free_irq(irq_to_rising(irq), ab8500_gpio);
295 free_irq(irq_to_falling(irq), ab8500_gpio);
299 disable_irq(irq_to_rising(irq));
301 disable_irq(irq_to_falling(irq));
305 enable_irq(irq_to_rising(irq));
307 enable_irq(irq_to_falling(irq));
319 static void ab8500_gpio_irq_mask(unsigned int irq)
321 struct ab8500_gpio *ab8500_gpio = get_irq_chip_data(irq);
325 static void ab8500_gpio_irq_unmask(unsigned int irq)
327 struct ab8500_gpio *ab8500_gpio = get_irq_chip_data(irq);
331 static int ab8500_gpio_irq_set_type(unsigned int irq, unsigned int type)
333 struct ab8500_gpio *ab8500_gpio = get_irq_chip_data(irq);
334 int offset = irq - ab8500_gpio->irq_base;
347 unsigned int ab8500_gpio_irq_startup(unsigned int irq)
349 struct ab8500_gpio *ab8500_gpio = get_irq_chip_data(irq);
354 void ab8500_gpio_irq_shutdown(unsigned int irq)
356 struct ab8500_gpio *ab8500_gpio = get_irq_chip_data(irq);
374 int irq;
376 for (irq = base; irq < base + AB8500_NUM_VIR_GPIO_IRQ ; irq++) {
377 set_irq_chip_data(irq, ab8500_gpio);
378 set_irq_chip_and_handler(irq, &ab8500_gpio_irq_chip,
380 set_irq_nested_thread(irq, 1);
382 set_irq_flags(irq, IRQF_VALID);
384 set_irq_noprobe(irq);
394 int irq;
396 for (irq = base; irq < base + AB8500_NUM_VIR_GPIO_IRQ; irq++) {
398 set_irq_flags(irq, 0);
400 set_irq_chip_and_handler(irq, NULL, NULL);
401 set_irq_chip_data(irq, NULL);