1. 27 Jan, 2012 1 commit
  2. 26 Jan, 2012 1 commit
  3. 25 Jan, 2012 3 commits
  4. 24 Jan, 2012 1 commit
    • Russell King's avatar
      PCMCIA: fix sa1111 oops on remove · 171cf94c
      Russell King authored
      The sa1111 socket driver oopses when removed:
      
      Unable to handle kernel NULL pointer dereference at virtual address 000003b0
      pgd = c1b40000
      [000003b0] *pgd=00000000
      Internal error: Oops: 41b43005 [#1]
      Modules linked in:
      CPU: 0    Not tainted  (3.3.0-rc1+ #744)
      PC is at pcmcia_remove+0x3c/0x60
      LR is at pcmcia_remove+0x34/0x60
      
      This is because we try to dereference a NULL 's' to obtain the next
      pointer.  Fix this.
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      171cf94c
  5. 23 Jan, 2012 8 commits
  6. 22 Jan, 2012 1 commit
    • Russell King's avatar
      MFD: ucb1x00-ts: fix resume failure · 0af5e4c3
      Russell King authored
      If the ucb1x00 touchscreen is resumed while the touchscreen is being
      touched, the main thread stops responding.  This occurs because two
      things happen:
      
      1. When we suspended, we were woken up, and executed the loop.
         Finding that the touchscreen was not pressed, we prepare to
         schedule for a maximum timeout, before being stopped in
         try_to_freeze().
      
      2. an irq occurs, we disable the irq, and mark it as disabled,
         and wake the thread.  This wake occurs while the thread is
         still within __refrigerator()
      
      3. The thread is unfrozen, and __refrigerator() sets the threads
         state back to INTERRUPTIBLE.
      
      We then drop into schedule_timeout() with an infinite timeout and the
      IRQ disabled.  This prevents any further screen touches activating
      the thread.
      
      Fix this by using kthread_freezable_should_stop() which handles the
      freezing issues for us outside of the hotspot where the task state
      matters.  Include a flag to ignore the touchscreen until it is
      released to avoid sending unintended data to the application.
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      0af5e4c3
  7. 21 Jan, 2012 3 commits
  8. 20 Jan, 2012 3 commits
    • Russell King's avatar
      MFD: mcp-core: fix complaints from the genirq layer · 98250221
      Russell King authored
      The genirq layer complains if an interrupt handler returns with
      interrupts enabled.  The UCB1x00 handler does just this, because
      ucb1x00_enable() calls mcp_enable(), which uses spin_lock_irq()
      rather than spin_lock_irqsave().  Convert this, and the divisor
      setting functions to use spin_lock_irqsave().
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      98250221
    • Russell King's avatar
      Revert "ARM: sa11x0: Implement autoloading of codec and codec pdata for mcp bus." · 65f2e753
      Russell King authored
      This reverts commit 5dd7bf59.
      
      Conflicts:
      
      	scripts/mod/file2alias.c
      
      This change is wrong on many levels.  First and foremost, it causes a
      regression.  On boot on Assabet, which this patch gives a codec id of
      'ucb1x00', it gives:
      
      	ucb1x00 ID not found: 1005
      
      0x1005 is a valid ID for the UCB1300 device.
      
      Secondly, this patch is way over the top in terms of complexity.  The
      only device which has been seen to be connected with this MCP code is
      the UCB1x00 (UCB1200, UCB1300 etc) devices, and they all use the same
      driver.  Adding a match table, requiring the codec string to match the
      hardware ID read out of the ID register, etc is completely over the top
      when we can just read the hardware ID register.
      65f2e753
    • Russell King's avatar
      Revert "ARM: sa1100: Refactor mcp-sa11x0 to use platform resources." · 216f63c4
      Russell King authored
      This reverts commit af9081ae.
      
      This revert is necessary to revert 5dd7bf59.
      216f63c4
  9. 19 Jan, 2012 19 commits