1. 20 3月, 2012 5 次提交
  2. 13 3月, 2012 2 次提交
    • T
      gpio/omap: Fix section warning for omap_mpuio_alloc_gc() · 8805f410
      Tony Lindgren 提交于
      Make omap_mpuio_alloc_gc() __devinit as omap_gpio_chip_init()
      is __devinit. Otherwise we get:
      
      WARNING: vmlinux.o(.devinit.text+0xa10): Section mismatch in reference
      from the function omap_gpio_chip_init() to the function .init.text:omap_mpuio_alloc_gc()
      The function __devinit omap_gpio_chip_init() references
      a function __init omap_mpuio_alloc_gc().
      If omap_mpuio_alloc_gc is only used by omap_gpio_chip_init then
      annotate omap_mpuio_alloc_gc with a matching annotation.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Acked-by: NKevin Hilman <khilman@ti.com>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      8805f410
    • K
      gpio/omap: fix wakeups on level-triggered GPIOs · 68942edb
      Kevin Hilman 提交于
      While both level- and edge-triggered GPIOs are capable of generating
      interrupts, only edge-triggered GPIOs are capable of generating a
      module-level wakeup to the PRCM (c.f. 34xx NDA TRM section 25.5.3.2.)
      
      In order to ensure that devices using level-triggered GPIOs as
      interrupts can also cause wakeups (e.g. from idle), this patch enables
      edge-triggering for wakeup-enabled, level-triggered GPIOs when a GPIO
      bank is runtime-suspended (which also happens during idle.)
      
      This fixes a problem found in GPMC-connected network cards with GPIO
      interrupts (e.g. smsc911x on Zoom3, Overo, ...) where network booting
      with NFSroot was very slow since the GPIO IRQs used by the NIC were
      not generating PRCM wakeups, and thus not waking the system from idle.
      NOTE: until v3.3, this boot-time problem was somewhat masked because
      the UART init prevented WFI during boot until the full serial driver
      was available.  Preventing WFI allowed regular GPIO interrupts to fire
      and this problem was not seen.  After the UART runtime PM cleanups, we
      no longer avoid WFI during boot, so GPIO IRQs that were not causing
      wakeups resulted in very slow IRQ response times.
      
      Tested on platforms using level-triggered GPIOs for network IRQs using
      the SMSC911x NIC: 3530/Overo and 3630/Zoom3.
      Reported-by: NTony Lindgren <tony@atomide.com>
      Tested-by: NTarun Kanti DebBarma <tarun.kanti@ti.com>
      Tested-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      68942edb
  3. 06 3月, 2012 4 次提交
  4. 06 2月, 2012 24 次提交
  5. 14 10月, 2011 1 次提交
  6. 24 8月, 2011 2 次提交
  7. 08 8月, 2011 1 次提交
  8. 17 6月, 2011 1 次提交
    • K
      gpio/omap: cleanup show revision, remove cpu_is checks, display only once · e5ff4440
      Kevin Hilman 提交于
      Remove cpu_is_* checks from gpio_show_revision() by passing in the
      revision address offset from platform data.  SoCs with no revision
      register (15xx, 7xx, and all MPUIOs) use -1 (actually, USHRT_MAX) to
      signify no register.
      
      While here, all GPIO banks are assumed to be the same revision, so fix
      show_revision() to only show the revision for the first bank it finds.
      This removes duplicate GPIO revision prints during boot.
      
      Thanks to Charulatha V <charu@ti.com> for finding/fixing a few -1s
      that were missed in the original patch.
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      e5ff4440