1. 16 9月, 2015 1 次提交
    • T
      genirq: Remove irq argument from irq flow handlers · bd0b9ac4
      Thomas Gleixner 提交于
      Most interrupt flow handlers do not use the irq argument. Those few
      which use it can retrieve the irq number from the irq descriptor.
      
      Remove the argument.
      
      Search and replace was done with coccinelle and some extra helper
      scripts around it. Thanks to Julia for her help!
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      bd0b9ac4
  2. 26 8月, 2015 1 次提交
    • M
      pinctrl: baytrail: Use raw_spinlock for locking · 78e1c896
      Mika Westerberg 提交于
      The Intel Baytrail pinctrl driver implements irqchip callbacks which are
      called with desc->lock raw_spinlock held. In mainline this is fine because
      spinlock resolves to raw_spinlock. However, running the same code in -rt we
      get:
      
       BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:917
       in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper/0
       Preemption disabled at:[<ffffffff81092e9f>] cpu_startup_entry+0x17f/0x480
      
       CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.1.5-rt5 #13
        ...
       Call Trace:
        <IRQ>  [<ffffffff816283c6>] dump_stack+0x4a/0x61
        [<ffffffff81077e17>] ___might_sleep+0xe7/0x170
        [<ffffffff8162d6cf>] rt_spin_lock+0x1f/0x50
        [<ffffffff812e3b88>] byt_gpio_clear_triggering+0x38/0x60
        [<ffffffff812e3bc1>] byt_irq_mask+0x11/0x20
        [<ffffffff810a7013>] handle_level_irq+0x83/0x150
        [<ffffffff810a3457>] generic_handle_irq+0x27/0x40
        [<ffffffff812e3a5f>] byt_gpio_irq_handler+0x7f/0xc0
        [<ffffffff810050aa>] handle_irq+0xaa/0x190
        ...
      
      This is because in -rt spinlocks are preemptible so taking the driver
      private spinlock in irqchip callbacks causes might_sleep() to trigger.
      
      In order to keep -rt happy but at the same time make sure that register
      accesses get serialized, convert the driver to use raw_spinlock instead.
      
      Also shorten the critical section a bit in few places.
      Suggested-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      78e1c896
  3. 13 8月, 2015 2 次提交
  4. 18 7月, 2015 1 次提交
  5. 06 3月, 2015 4 次提交
  6. 29 10月, 2014 1 次提交
  7. 28 10月, 2014 2 次提交
  8. 20 10月, 2014 2 次提交
  9. 10 9月, 2014 1 次提交
  10. 28 7月, 2014 1 次提交
  11. 22 7月, 2014 1 次提交
  12. 11 7月, 2014 1 次提交
  13. 23 5月, 2014 3 次提交
  14. 18 3月, 2014 1 次提交
    • L
      gpio: switch drivers to use new callback · 57ef0428
      Linus Walleij 提交于
      This switches all GPIO and pin control drivers with irqchips
      that were using .startup() and .shutdown() callbacks to lock
      GPIO lines for IRQ usage over to using the .request_resources()
      and .release_resources() callbacks just introduced into the
      irqchip vtable.
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jean-Jacques Hiblot <jjhiblot@traphandler.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      57ef0428
  15. 11 3月, 2014 1 次提交
  16. 18 1月, 2014 1 次提交
  17. 08 1月, 2014 1 次提交
  18. 09 12月, 2013 1 次提交
  19. 04 12月, 2013 1 次提交
    • L
      gpio/pinctrl: make gpio_chip members typed boolean · 9fb1f39e
      Linus Walleij 提交于
      This switches the two members of struct gpio_chip that were
      defined as unsigned foo:1 to bool, because that is indeed what
      they are. Switch all users in the gpio and pinctrl subsystems
      to assign these values with true/false instead of 0/1. The
      users outside these subsystems will survive since true/false
      is 1/0, atleast we set some kind of more strict typing example.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      9fb1f39e
  20. 03 12月, 2013 1 次提交
  21. 30 11月, 2013 1 次提交
  22. 23 7月, 2013 5 次提交
  23. 18 6月, 2013 1 次提交