1. 26 3月, 2015 2 次提交
  2. 19 3月, 2015 3 次提交
  3. 18 3月, 2015 4 次提交
  4. 10 3月, 2015 1 次提交
  5. 09 3月, 2015 2 次提交
  6. 08 3月, 2015 1 次提交
    • T
      drivers/gpio: Altera soft IP GPIO driver · c5abbba9
      Tien Hock Loh 提交于
      Adds a new driver for Altera soft GPIO IP. The driver is able to do
      read/write and allows GPIO to be a interrupt controller.
      
      Tested on Altera GHRD on interrupt handling and IO.
      
      v10:
      - Updated conflicting device tree parameters
      - Removed unused headers
      - Used macro instead of magic numbers for ngpio
      - Code readability cleanup using ?: and temporal variables
      - Removed leftover garbage and unnecessary function calls
      - Checked bgpio_init but unusable because Altera GPIO may not
        be a multiple of 8 bits
      
      v9:
      - Removed duplicated initialization on set_type using temporals
        to improve code readability in calling generic_handle_irq
      - Using ?: ternary to reduce code size
      
      v8:
      - Using for_each_set_bit
      - Added const for struct definition
      - Removed naggy pr_err
      - Sort alpha header
      - Remove unused macros
      - Use fixed width data types instead of unsigned long
      - Whitespace issue fixes
      - Removed _relaxed function for better compatibility across different
        CPU
      - Changed irq_create_mapping to platform_get_irq updated implementation
        to use gpiochip_irqchip_add
      - Reserve interrupt-cells number 2 in device tree binding for future
        use
      - Remove confusing sections on devicetree bindings
      - Added tristate Kconfig help text
      
      v7:
      - Used dev_warn instead of pr_warn
      - Clean up unnecesarry if else indentation
      
      v6:
      - Added irq_startup and irq_shutdown
      - Changed bitwise clamping style
      - Cleanup bitwise operation to improve readability change naming of
        mapped irqs from virq to mapped_irq
      
      v5:
      - Dispose irq_domain mapping correctly
      - Update optional binding description in binding docs
      
      v4:
      - Added vendor prefix to devicetree binding for IP specific properties
        using MMIO GPIO helper library instead of manually map PIO to memory
      - altera_gpio_chip inline struct documentation to kerneldoc
      - Using dev_ print to print a better failure message
      
      v2, v3:
      - Do not reference NO_IRQ
      - Updated irq_set_type to only allow the hardware configured irq type
      Signed-off-by: NTien Hock Loh <thloh@altera.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      c5abbba9
  7. 06 3月, 2015 1 次提交
  8. 05 3月, 2015 3 次提交
  9. 04 3月, 2015 4 次提交
  10. 02 3月, 2015 2 次提交
  11. 04 2月, 2015 1 次提交
  12. 03 2月, 2015 3 次提交
  13. 30 1月, 2015 4 次提交
  14. 29 1月, 2015 6 次提交
  15. 26 1月, 2015 2 次提交
    • S
      gpio: mcp23s08: handle default gpio base · b184c388
      Sonic Zhang 提交于
      Create default gpio base if neither device node nor
      platform data is defined.
      
      Cc: Stable <stable@vger.kernel.org>
      Signed-off-by: NSonic Zhang <sonic.zhang@analog.com>
      Reviewed-by: NAlexandre Courbot <acourbot@nvidia.com>
      Tested-by: NAntonio Fiol <antonio@fiol.es>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      b184c388
    • T
      gpio: omap: Fix bad device access with setup_irq() · 3d009c8c
      Tony Lindgren 提交于
      Similar to omap_gpio_irq_type() let's make sure that the GPIO
      is usable as an interrupt if the platform init code did not
      call gpio_request(). Otherwise we can get invalid device access
      after setup_irq():
      
      WARNING: CPU: 0 PID: 1 at drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x214/0x340()
      44000000.ocp:L3 Custom Error: MASTER MPU TARGET L4CFG (Idle): Data Access in Supervisor mode during Functional access
      ...
      [<c05f21e4>] (__irq_svc) from [<c05f1974>] (_raw_spin_unlock_irqrestore+0x34/0x44)
      [<c05f1974>] (_raw_spin_unlock_irqrestore) from [<c00914a8>] (__setup_irq+0x244/0x530)
      [<c00914a8>] (__setup_irq) from [<c00917d4>] (setup_irq+0x40/0x8c)
      [<c00917d4>] (setup_irq) from [<c0039c8c>] (omap_system_dma_probe+0x1d4/0x2b4)
      [<c0039c8c>] (omap_system_dma_probe) from [<c03b2200>] (platform_drv_probe+0x44/0xa4)
      ...
      
      We can fix this the same way omap_gpio_irq_type() is handling it.
      
      Note that the long term solution is to change the gpio-omap driver
      to handle the banks as separate driver instances. This will allow
      us to rely on just runtime PM for tracking the bank specific state.
      Reported-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Cc: Javier Martinez Canillas <javier@dowhile0.org>
      Cc: Kevin Hilman <khilman@kernel.org>
      Cc: Santosh Shilimkar <ssantosh@kernel.org>
      Tested-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      3d009c8c
  16. 22 1月, 2015 1 次提交