Skip to content
  1. Nov 09, 2012
    • Paul Walmsley's avatar
      watchdog: OMAP: use standard GETBOOTSTATUS interface; use platform_data fn ptr · 129f5577
      Paul Walmsley authored
      
      
      Previously the OMAP watchdog driver used a non-standard way to report
      the chip reset source via the GETBOOTSTATUS ioctl.  This patch
      converts the driver to use the standard WDIOF_* flags for this
      purpose.
      
      This patch may break existing userspace code that uses the existing
      non-standard data format returned by the OMAP watchdog driver's
      GETBOOTSTATUS ioctl.  To fetch detailed reset source information,
      userspace code will need to retrieve it directly from the CGRM or PRM
      drivers when those are completed.
      
      Previously, to fetch the reset source, the driver either read a
      register outside the watchdog IP block (OMAP1), or called a function
      exported directly from arch/arm/mach-omap2.  Both approaches are
      broken.  This patch also converts the driver to use a platform_data
      function pointer.  This approach is temporary, and is due to the lack
      of drivers for the OMAP16xx+ Clock Generation and Reset Management IP
      block and the OMAP2+ Power and Reset Management IP block.  Once
      drivers are available for those IP blocks, the watchdog driver can be
      converted to call exported functions from those drivers directly.
      At that point, the platform_data function pointer can be removed.
      
      In the short term, this patch is needed to allow the PRM code to be
      removed from arch/arm/mach-omap2 (it is being moved to a driver).
      
      This version integrates a fix from Jon Hunter <jon-hunter@ti.com>
      that avoids a NULL pointer dereference in a DT-only boot, and integrates
      a patch commit message fix from Felipe Balbi <balbi@ti.com>.
      
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Wim Van Sebroeck <wim@iguana.be>
      Acked-by: default avatarWim Van Sebroeck <wim@iguana.be>
      [paul@pwsan.com: integrated pdata fix from Jon Hunter]
      Cc: Jon Hunter <jon-hunter@ti.com>
      [paul@pwsan.com: integrated changelog fix from Felipe Balbi]
      Cc: Felipe Balbi <balbi@ti.com>
      129f5577
  2. Oct 30, 2012
    • Paul Walmsley's avatar
      ARM: OMAP2+: WDT: move init; add read_reset_sources pdata function pointer · 37c67d03
      Paul Walmsley authored
      
      
      The OMAP watchdog timer driver directly calls a function exported by
      code in arch/arm/mach-omap2.  This is not good; it tightly couples
      this driver to the mach-omap2 integration code.  Instead, add a
      temporary platform_data function pointer to abstract this function
      call.  A subsequent patch will convert the watchdog driver to use this
      function pointer.
      
      This patch also moves the device creation code out of
      arch/arm/mach-omap2/devices.c and into arch/arm/mach-omap2/wd_timer.c.
      This is another step towards the removal of
      arch/arm/mach-omap2/devices.c.
      
      Cc: Wim Van Sebroeck <wim@iguana.be>
      Acked-by: default avatarWim Van Sebroeck <wim@iguana.be>
      [paul@pwsan.com: skip wd_timer device creation when DT blob is present]
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      37c67d03
    • Paul Walmsley's avatar
      ARM: OMAP1: CGRM: fix omap1_get_reset_sources() return type · 508c0d47
      Paul Walmsley authored
      
      
      An older version of the patch "ARM: OMAP1: create read_reset_sources()
      function (for initial use by watchdog)" was sent upstream, which used
      the wrong return type for the omap1_get_reset_sources() function.
      Fix it to return a u32, which is what the WDTIMER platform_data
      function pointer read_reset_sources() expects.
      
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      508c0d47
  3. Oct 27, 2012
  4. Oct 26, 2012
  5. Oct 25, 2012
  6. Oct 24, 2012
    • Daniel Vetter's avatar
      console: use might_sleep in console_lock · 6b898c07
      Daniel Vetter authored
      
      
      Instead of BUG_ON(in_interrupt()), since that doesn't check for all
      the newfangled stuff like preempt.
      
      Note that this is valid since the console_sem is essentially used like
      a real mutex with only two twists:
      - we allow trylock from hardirq context
      - across suspend/resume we lock the logical console_lock, but drop the
        semaphore protecting the locking state.
      
      Now that doesn't guarantee that no one is playing tricks in
      single-thread atomic contexts at suspend/resume/boot time, but
      - I couldn't find anything suspicious with some grepping,
      - might_sleep shouldn't die,
      - and I think the upside of catching more potential issues is worth
        the risk of getting a might_sleep backtrace that would have been
        save (and then dealing with that fallout).
      
      Cc: Dave Airlie <airlied@gmail.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      6b898c07
  7. Oct 23, 2012