1. 04 Sep, 2012 16 commits
    • Ludovic Desroches's avatar
    • Philip Rakity's avatar
      mmc: sdhci: vmmc regulator should be explicitly enabled/disabled · 77dcb3f4
      Philip Rakity authored
      The vmmc regulator should not rely on the platform code to enable it.
      Expliciitly enable and disable the regulator inside the driver.
      Signed-off-by: default avatarPhilip Rakity <prakity@marvell.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      77dcb3f4
    • Philip Rakity's avatar
      mmc: sdhci: Add regulator support for vccq (voltage regualor) · 6231f3de
      Philip Rakity authored
      On some systems the host controller does not support vccq
      signaling.  This is supplied by a dedicated regulator (vqmmc).
      Add support for this regulator.
      Signed-off-by: default avatarPhilip Rakity <prakity@marvell.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      6231f3de
    • Jerry Huang's avatar
      mmc: eSDHC: Add ADMA mode support · 137ccd46
      Jerry Huang authored
      The register of eSDHC Host Controller Capabilities is not compatible with
      standard SDHC register, and eSDHC cannot support End Attribute in NOP ADMA
      descriptor. With this patch eSDHC can works in ADMA mode and performance
      can be improved.
      Signed-off-by: default avatarJerry Huang <Chang-Ming.Huang@freescale.com>
      Signed-off-by: default avatarPan Jiafei <Jiafei.Pan@freescale.com>
      Signed-off-by: default avatarJason Jin <Jason.jin@freescale.com>
      Acked-by: default avatarAnton Vorontsov <cbouatmailru@gmail.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      137ccd46
    • Daniel Mack's avatar
      mmc: pxa-mci: add DT bindings · e6027b46
      Daniel Mack authored
      Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      e6027b46
    • Paul Walmsley's avatar
      mmc: omap: fix broken PIO mode · 75b53aee
      Paul Walmsley authored
      After commit 26b88520 ("mmc:
      omap_hsmmc: remove private DMA API implementation"), the Nokia N800
      here stopped booting:
      
      [    2.086181] Waiting for root device /dev/mmcblk0p1...
      [    2.324066] Unhandled fault: imprecise external abort (0x406) at 0x00000000
      [    2.331451] Internal error: : 406 [#1] ARM
      [    2.335784] Modules linked in:
      [    2.339050] CPU: 0    Not tainted  (3.6.0-rc3 #60)
      [    2.344146] PC is at default_idle+0x28/0x30
      [    2.348602] LR is at trace_hardirqs_on_caller+0x15c/0x1b0
      
      ...
      
      This turned out to be due to memory corruption caused by long-broken
      PIO code in drivers/mmc/host/omap.c.  (Previously, this driver had
      been using DMA; but the above commit caused the MMC driver to fall
      back to PIO mode with an unmodified Kconfig.)
      
      The PIO code, added with the rest of the driver in commit
      730c9b7e ("[MMC] Add OMAP MMC host
      driver"), confused bytes with 16-bit words.  This bug caused memory
      located after the PIO transfer buffer to be corrupted with transfers
      larger than 32 bytes.  The driver also did not increment the buffer
      pointer after the transfer occurred.  This bug resulted in data
      corruption during any transfer larger than 64 bytes.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Reviewed-by: default avatarFelipe Balbi <balbi@ti.com>
      Tested-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      75b53aee
    • Ian Chen's avatar
      mmc: card: Skip secure erase on MoviNAND; causes unrecoverable corruption. · 3550ccdb
      Ian Chen authored
      For several MoviNAND eMMC parts, there are known issues with secure
      erase and secure trim.  For these specific MoviNAND devices, we skip
      these operations.
      
      Specifically, there is a bug in the eMMC firmware that causes
      unrecoverable corruption when the MMC is erased with MMC_CAP_ERASE
      enabled.
      
      References:
      
      http://forum.xda-developers.com/showthread.php?t=1644364
      https://plus.google.com/111398485184813224730/posts/21pTYfTsCkB#111398485184813224730/posts/21pTYfTsCkBSigned-off-by: default avatarIan Chen <ian.cy.chen@samsung.com>
      Reviewed-by: default avatarNamjae Jeon <linkinjeon@gmail.com>
      Acked-by: default avatarJaehoon Chung <jh80.chung@samsung.com>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Cc: stable <stable@vger.kernel.org> [3.0+]
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      3550ccdb
    • Doug Anderson's avatar
      mmc: dw_mmc: Disable low power mode if SDIO interrupts are used · 9623b5b9
      Doug Anderson authored
      The documentation for the dw_mmc part says that the low power
      mode should normally only be set for MMC and SD memory and should
      be turned off for SDIO cards that need interrupts detected.
      
      The best place I could find to do this is when the SDIO interrupt
      was first enabled.  I rely on the fact that dw_mci_setup_bus()
      will be called when it's time to reenable.
      Signed-off-by: default avatarDoug Anderson <dianders@chromium.org>
      Acked-by: default avatarSeungwon Jeon <tgih.jun@samsung.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      9623b5b9
    • Seungwon Jeon's avatar
      mmc: dw_mmc: fix error handling in PIO mode · e74f3a9c
      Seungwon Jeon authored
      Data transfer will be continued until all the bytes are transmitted,
      even if data crc error occurs during a multiple-block data transfer.
      This means RXDR/TXDR interrupts will occurs until data transfer is
      terminated. Early setting of host->sg to NULL prevents going into
      xxx_data_pio functions, hence permanent unhandled RXDR/TXDR interrupts
      occurs. And checking error interrupt status in the xxx_data_pio functions
      is no need because dw_mci_interrupt does do the same. This patch also
      removes it.
      Signed-off-by: default avatarSeungwon Jeon <tgih.jun@samsung.com>
      Acked-by: default avatarJaehoon Chung <jh80.chung@samsung.com>
      Acked-by: default avatarWill Newton <will.newton@imgtec.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      e74f3a9c
    • Seungwon Jeon's avatar
      mmc: dw_mmc: correct mishandling error interrupt · 9b2026a1
      Seungwon Jeon authored
      Datasheet of SYNOPSYS mentions that DTO(Data Transfer Over) interrupt
      will be raised even if some error interrupts, however it is actually
      found that DTO does not occur. SYNOPSYS has confirmed this issue.
      Current implementation defers the call of tasklet_schedule until DTO
      when the error interrupts is happened. This patch fixes error handling.
      Signed-off-by: default avatarSeungwon Jeon <tgih.jun@samsung.com>
      Acked-by: default avatarJaehoon Chung <jh80.chung@samsung.com>
      Acked-by: default avatarWill Newton <will.newton@imgtec.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      9b2026a1
    • Seungwon Jeon's avatar
      mmc: dw_mmc: amend using error interrupt status · 182c9081
      Seungwon Jeon authored
      RINTSTS status includes masked interrupts as well as unmasked.
      data_status and cmd_status are set by value of RINTSTS in interrupt handler
      and tasklet finally uses it to decide whether error is happened or not.
      In addition, MINTSTS status is used for setting data_status in PIO.
      Masked error interrupt will not be handled and that status can be considered
      non-error case.
      Signed-off-by: default avatarSeungwon Jeon <tgih.jun@samsung.com>
      Reviewed By: Girish K S <girish.shivananjappa@linaro.org>
      Acked-by: default avatarJaehoon Chung <jh80.chung@samsung.com>
      Acked-by: default avatarWill Newton <will.newton@imgtec.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      182c9081
    • Ludovic Desroches's avatar
      mmc: atmel-mci: not busy flag has also to be used for read operations · 077d4073
      Ludovic Desroches authored
      Even if the datasheet says that the not busy flag has to be used only
      for write operations, it's false except for version lesser than v2xx.
      
      Not waiting on the not busy flag for read operations can cause the
      controller to hang-up during the initialization of some SD cards
      with DMA after the first CMD6 -- the next command is sent too early.
      Signed-off-by: default avatarLudovic Desroches <ludovic.desroches@atmel.com>
      Cc: stable <stable@vger.kernel.org> [3.5, 3.6]
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      077d4073
    • Shawn Guo's avatar
      mmc: sdhci-esdhc: break out early if clock is 0 · 74f330bc
      Shawn Guo authored
      Since commit 30832ab5 ("mmc: sdhci: Always pass clock request value
      zero to set_clock host op") was merged, esdhc_set_clock starts hitting
      "if (clock == 0)" where ESDHC_SYSTEM_CONTROL has been operated.  This
      causes SDHCI card-detection function being broken.  Fix the regression
      by moving "if (clock == 0)" above ESDHC_SYSTEM_CONTROL operation.
      Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      74f330bc
    • Lauri Hintsala's avatar
      mmc: mxs-mmc: fix deadlock caused by recursion loop · fc108d24
      Lauri Hintsala authored
      Release the lock before mmc_signal_sdio_irq is called by
      mxs_mmc_enable_sdio_irq.
      
      Backtrace:
      [   65.470000] =============================================
      [   65.470000] [ INFO: possible recursive locking detected ]
      [   65.470000] 3.5.0-rc5 #2 Not tainted
      [   65.470000] ---------------------------------------------
      [   65.470000] ksdioirqd/mmc0/73 is trying to acquire lock:
      [   65.470000]  (&(&host->lock)->rlock#2){-.-...}, at: [<bf054120>] mxs_mmc_enable_sdio_irq+0x18/0xdc [mxs_mmc]
      [   65.470000]
      [   65.470000] but task is already holding lock:
      [   65.470000]  (&(&host->lock)->rlock#2){-.-...}, at: [<bf054120>] mxs_mmc_enable_sdio_irq+0x18/0xdc [mxs_mmc]
      [   65.470000]
      [   65.470000] other info that might help us debug this:
      [   65.470000]  Possible unsafe locking scenario:
      [   65.470000]
      [   65.470000]        CPU0
      [   65.470000]        ----
      [   65.470000]   lock(&(&host->lock)->rlock#2);
      [   65.470000]   lock(&(&host->lock)->rlock#2);
      [   65.470000]
      [   65.470000]  *** DEADLOCK ***
      [   65.470000]
      [   65.470000]  May be due to missing lock nesting notation
      [   65.470000]
      [   65.470000] 1 lock held by ksdioirqd/mmc0/73:
      [   65.470000]  #0:  (&(&host->lock)->rlock#2){-.-...}, at: [<bf054120>] mxs_mmc_enable_sdio_irq+0x18/0xdc [mxs_mmc]
      [   65.470000]
      [   65.470000] stack backtrace:
      [   65.470000] [<c0014990>] (unwind_backtrace+0x0/0xf4) from [<c005ccb8>] (__lock_acquire+0x14f8/0x1b98)
      [   65.470000] [<c005ccb8>] (__lock_acquire+0x14f8/0x1b98) from [<c005d3f8>] (lock_acquire+0xa0/0x108)
      [   65.470000] [<c005d3f8>] (lock_acquire+0xa0/0x108) from [<c02f671c>] (_raw_spin_lock_irqsave+0x48/0x5c)
      [   65.470000] [<c02f671c>] (_raw_spin_lock_irqsave+0x48/0x5c) from [<bf054120>] (mxs_mmc_enable_sdio_irq+0x18/0xdc [mxs_mmc])
      [   65.470000] [<bf054120>] (mxs_mmc_enable_sdio_irq+0x18/0xdc [mxs_mmc]) from [<bf0541d0>] (mxs_mmc_enable_sdio_irq+0xc8/0xdc [mxs_mmc])
      [   65.470000] [<bf0541d0>] (mxs_mmc_enable_sdio_irq+0xc8/0xdc [mxs_mmc]) from [<c0219b38>] (sdio_irq_thread+0x1bc/0x274)
      [   65.470000] [<c0219b38>] (sdio_irq_thread+0x1bc/0x274) from [<c003c324>] (kthread+0x8c/0x98)
      [   65.470000] [<c003c324>] (kthread+0x8c/0x98) from [<c00101ac>] (kernel_thread_exit+0x0/0x8)
      [   65.470000] BUG: spinlock lockup suspected on CPU#0, ksdioirqd/mmc0/73
      [   65.470000]  lock: 0xc3358724, .magic: dead4ead, .owner: ksdioirqd/mmc0/73, .owner_cpu: 0
      [   65.470000] [<c0014990>] (unwind_backtrace+0x0/0xf4) from [<c01b46b0>] (do_raw_spin_lock+0x100/0x144)
      [   65.470000] [<c01b46b0>] (do_raw_spin_lock+0x100/0x144) from [<c02f6724>] (_raw_spin_lock_irqsave+0x50/0x5c)
      [   65.470000] [<c02f6724>] (_raw_spin_lock_irqsave+0x50/0x5c) from [<bf054120>] (mxs_mmc_enable_sdio_irq+0x18/0xdc [mxs_mmc])
      [   65.470000] [<bf054120>] (mxs_mmc_enable_sdio_irq+0x18/0xdc [mxs_mmc]) from [<bf0541d0>] (mxs_mmc_enable_sdio_irq+0xc8/0xdc [mxs_mmc])
      [   65.470000] [<bf0541d0>] (mxs_mmc_enable_sdio_irq+0xc8/0xdc [mxs_mmc]) from [<c0219b38>] (sdio_irq_thread+0x1bc/0x274)
      [   65.470000] [<c0219b38>] (sdio_irq_thread+0x1bc/0x274) from [<c003c324>] (kthread+0x8c/0x98)
      [   65.470000] [<c003c324>] (kthread+0x8c/0x98) from [<c00101ac>] (kernel_thread_exit+0x0/0x8)
      Reported-by: default avatarAttila Kinali <attila@kinali.ch>
      Signed-off-by: default avatarLauri Hintsala <lauri.hintsala@bluegiga.com>
      Acked-by: default avatarShawn Guo <shawn.guo@linaro.org>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      fc108d24
    • Lauri Hintsala's avatar
      mmc: mxs-mmc: fix deadlock in SDIO IRQ case · 1af36b2a
      Lauri Hintsala authored
      Release the lock before mmc_signal_sdio_irq is called by mxs_mmc_irq_handler.
      
      Backtrace:
      [   79.660000] =============================================
      [   79.660000] [ INFO: possible recursive locking detected ]
      [   79.660000] 3.4.0-00009-g3e96082-dirty #11 Not tainted
      [   79.660000] ---------------------------------------------
      [   79.660000] swapper/0 is trying to acquire lock:
      [   79.660000]  (&(&host->lock)->rlock#2){-.....}, at: [<c026ea3c>] mxs_mmc_enable_sdio_irq+0x18/0xd4
      [   79.660000]
      [   79.660000] but task is already holding lock:
      [   79.660000]  (&(&host->lock)->rlock#2){-.....}, at: [<c026f744>] mxs_mmc_irq_handler+0x1c/0xe8
      [   79.660000]
      [   79.660000] other info that might help us debug this:
      [   79.660000]  Possible unsafe locking scenario:
      [   79.660000]
      [   79.660000]        CPU0
      [   79.660000]        ----
      [   79.660000]   lock(&(&host->lock)->rlock#2);
      [   79.660000]   lock(&(&host->lock)->rlock#2);
      [   79.660000]
      [   79.660000]  *** DEADLOCK ***
      [   79.660000]
      [   79.660000]  May be due to missing lock nesting notation
      [   79.660000]
      [   79.660000] 1 lock held by swapper/0:
      [   79.660000]  #0:  (&(&host->lock)->rlock#2){-.....}, at: [<c026f744>] mxs_mmc_irq_handler+0x1c/0xe8
      [   79.660000]
      [   79.660000] stack backtrace:
      [   79.660000] [<c0014bd0>] (unwind_backtrace+0x0/0xf4) from [<c005f9c0>] (__lock_acquire+0x1948/0x1d48)
      [   79.660000] [<c005f9c0>] (__lock_acquire+0x1948/0x1d48) from [<c005fea0>] (lock_acquire+0xe0/0xf8)
      [   79.660000] [<c005fea0>] (lock_acquire+0xe0/0xf8) from [<c03a8460>] (_raw_spin_lock_irqsave+0x44/0x58)
      [   79.660000] [<c03a8460>] (_raw_spin_lock_irqsave+0x44/0x58) from [<c026ea3c>] (mxs_mmc_enable_sdio_irq+0x18/0xd4)
      [   79.660000] [<c026ea3c>] (mxs_mmc_enable_sdio_irq+0x18/0xd4) from [<c026f7fc>] (mxs_mmc_irq_handler+0xd4/0xe8)
      [   79.660000] [<c026f7fc>] (mxs_mmc_irq_handler+0xd4/0xe8) from [<c006bdd8>] (handle_irq_event_percpu+0x70/0x254)
      [   79.660000] [<c006bdd8>] (handle_irq_event_percpu+0x70/0x254) from [<c006bff8>] (handle_irq_event+0x3c/0x5c)
      [   79.660000] [<c006bff8>] (handle_irq_event+0x3c/0x5c) from [<c006e6d0>] (handle_level_irq+0x90/0x110)
      [   79.660000] [<c006e6d0>] (handle_level_irq+0x90/0x110) from [<c006b930>] (generic_handle_irq+0x38/0x50)
      [   79.660000] [<c006b930>] (generic_handle_irq+0x38/0x50) from [<c00102fc>] (handle_IRQ+0x30/0x84)
      [   79.660000] [<c00102fc>] (handle_IRQ+0x30/0x84) from [<c000f058>] (__irq_svc+0x38/0x60)
      [   79.660000] [<c000f058>] (__irq_svc+0x38/0x60) from [<c0010520>] (default_idle+0x2c/0x40)
      [   79.660000] [<c0010520>] (default_idle+0x2c/0x40) from [<c0010a90>] (cpu_idle+0x64/0xcc)
      [   79.660000] [<c0010a90>] (cpu_idle+0x64/0xcc) from [<c04ff858>] (start_kernel+0x244/0x2c8)
      [   79.660000] BUG: spinlock lockup on CPU#0, swapper/0
      [   79.660000]  lock: c398cb2c, .magic: dead4ead, .owner: swapper/0, .owner_cpu: 0
      [   79.660000] [<c0014bd0>] (unwind_backtrace+0x0/0xf4) from [<c01ddb1c>] (do_raw_spin_lock+0xf0/0x144)
      [   79.660000] [<c01ddb1c>] (do_raw_spin_lock+0xf0/0x144) from [<c03a8468>] (_raw_spin_lock_irqsave+0x4c/0x58)
      [   79.660000] [<c03a8468>] (_raw_spin_lock_irqsave+0x4c/0x58) from [<c026ea3c>] (mxs_mmc_enable_sdio_irq+0x18/0xd4)
      [   79.660000] [<c026ea3c>] (mxs_mmc_enable_sdio_irq+0x18/0xd4) from [<c026f7fc>] (mxs_mmc_irq_handler+0xd4/0xe8)
      [   79.660000] [<c026f7fc>] (mxs_mmc_irq_handler+0xd4/0xe8) from [<c006bdd8>] (handle_irq_event_percpu+0x70/0x254)
      [   79.660000] [<c006bdd8>] (handle_irq_event_percpu+0x70/0x254) from [<c006bff8>] (handle_irq_event+0x3c/0x5c)
      [   79.660000] [<c006bff8>] (handle_irq_event+0x3c/0x5c) from [<c006e6d0>] (handle_level_irq+0x90/0x110)
      [   79.660000] [<c006e6d0>] (handle_level_irq+0x90/0x110) from [<c006b930>] (generic_handle_irq+0x38/0x50)
      [   79.660000] [<c006b930>] (generic_handle_irq+0x38/0x50) from [<c00102fc>] (handle_IRQ+0x30/0x84)
      [   79.660000] [<c00102fc>] (handle_IRQ+0x30/0x84) from [<c000f058>] (__irq_svc+0x38/0x60)
      [   79.660000] [<c000f058>] (__irq_svc+0x38/0x60) from [<c0010520>] (default_idle+0x2c/0x40)
      [   79.660000] [<c0010520>] (default_idle+0x2c/0x40) from [<c0010a90>] (cpu_idle+0x64/0xcc)
      [   79.660000] [<c0010a90>] (cpu_idle+0x64/0xcc) from [<c04ff858>] (start_kernel+0x244/0x2c8)
      Signed-off-by: default avatarLauri Hintsala <lauri.hintsala@bluegiga.com>
      Acked-by: default avatarShawn Guo <shawn.guo@linaro.org>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      1af36b2a
    • Sonic Zhang's avatar
      mmc: bfin_sdh: fix dma_desc_array build error · 660d9a9c
      Sonic Zhang authored
      Descriptor array structure has been moved into blackfin dma.h head file.
      This patch fix below error:
      
      drivers/mmc/host/bfin_sdh.c:52:8: error: redefinition of 'struct
      dma_desc_array'
      make[4]: *** [drivers/mmc/host/bfin_sdh.o] Error 1
      Signed-off-by: default avatarSonic Zhang <sonic.zhang@analog.com>
      Signed-off-by: default avatarBob Liu <lliubbo@gmail.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      660d9a9c
  2. 02 Aug, 2012 17 commits
    • Linus Torvalds's avatar
      Linux 3.6-rc1 · 0d7614f0
      Linus Torvalds authored
      0d7614f0
    • Linus Torvalds's avatar
      Merge branch 'for-linus-3.6' of git://dev.laptop.org/users/dilinger/linux-olpc · fc6bdb59
      Linus Torvalds authored
      Pull OLPC platform updates from Andres Salomon:
       "These move the OLPC Embedded Controller driver out of
        arch/x86/platform and into drivers/platform/olpc.
      
        OLPC machines are now ARM-based (which means lots of x86 and ARM
        changes), but are typically pretty self-contained..  so it makes more
        sense to go through a separate OLPC tree after getting the appropriate
        review/ACKs."
      
      * 'for-linus-3.6' of git://dev.laptop.org/users/dilinger/linux-olpc:
        x86: OLPC: move s/r-related EC cmds to EC driver
        Platform: OLPC: move global variables into priv struct
        Platform: OLPC: move debugfs support from x86 EC driver
        x86: OLPC: switch over to using new EC driver on x86
        Platform: OLPC: add a suspended flag to the EC driver
        Platform: OLPC: turn EC driver into a platform_driver
        Platform: OLPC: allow EC cmd to be overridden, and create a workqueue to call it
        drivers: OLPC: update various drivers to include olpc-ec.h
        Platform: OLPC: add a stub to drivers/platform/ for the OLPC EC driver
      fc6bdb59
    • Linus Torvalds's avatar
      Merge tag 'dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 44d82e29
      Linus Torvalds authored
      Pull arm-soc Marvell Orion device-tree updates from Olof Johansson:
       "This contains a set of device-tree conversions for Marvell Orion
        platforms that were staged early but took a few tries to get the
        branch into a format where it was suitable for us to pick up.
      
        Given that most people working on these platforms are hobbyists with
        limited time, we were a bit more flexible with merging it even though
        it came in late."
      
      * tag 'dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (21 commits)
        ARM: Kirkwood: Replace mrvl with marvell
        ARM: Kirkwood: Describe GoFlex Net LEDs and SATA in DT.
        ARM: Kirkwood: Describe Dreamplug LEDs in DT.
        ARM: Kirkwood: Describe iConnects LEDs in DT.
        ARM: Kirkwood: Describe iConnects temperature sensor in DT.
        ARM: Kirkwood: Describe IB62x0 LEDs in DT.
        ARM: Kirkwood: Describe IB62x0 gpio-keys in DT.
        ARM: Kirkwood: Describe DNS32? gpio-keys in DT.
        ARM: Kirkwood: Move common portions into a kirkwood-dnskw.dtsi
        ARM: Kirkwood: Replace DNS-320/DNS-325 leds with dt bindings
        ARM: Kirkwood: Describe DNS325 temperature sensor in DT.
        ARM: Kirkwood: Use DT to configure SATA device.
        ARM: kirkwood: use devicetree for SPI on dreamplug
        ARM: kirkwood: Add LS-XHL and LS-CHLv2 support
        ARM: Kirkwood: Initial DTS support for Kirkwood GoFlex Net
        ARM: Kirkwood: Add basic device tree support for QNAP TS219.
        ATA: sata_mv: Add device tree support
        ARM: Orion: DTify the watchdog timer.
        ARM: Orion: Add arch support needed for I2C via DT.
        ARM: kirkwood: use devicetree for orion-spi
        ...
      
      Conflicts:
      	drivers/watchdog/orion_wdt.c
      44d82e29
    • Linus Torvalds's avatar
      Merge tag 'pm2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · bfdf85df
      Linus Torvalds authored
      Pull arm-soc cpuidle enablement for OMAP from Olof Johansson:
       "Coupled cpuidle was meant to merge for 3.5 through Len Brown's tree,
        but didn't go in because the pull request ended up rejected.  So it
        just got merged, and we got this staged branch that enables the
        coupled cpuidle code on OMAP.
      
        With a stable git workflow from the other maintainer we could have
        staged this earlier, but that wasn't the case so we have had to merge
        it late.
      
        The alternative is to hold it off until 3.7 but given that the code is
        well-isolated to OMAP and they are eager to see it go in, I didn't
        push back hard in that direction."
      
      * tag 'pm2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: OMAP4: CPUidle: Open broadcast clock-event device.
        ARM: OMAP4: CPUidle: add synchronization for coupled idle states
        ARM: OMAP4: CPUidle: Use coupled cpuidle states to implement SMP cpuidle.
        ARM: OMAP: timer: allow gp timer clock-event to be used on both cpus
      bfdf85df
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · d1494ba8
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "A few fixes for merge window fallout, and a bugfix for timer resume on
        PRIMA2."
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: mmp: add missing irqs.h
        arm: mvebu: fix typo in .dtsi comment for Armada XP SoCs
        ARM: PRIMA2: delete redundant codes to restore LATCHED when timer resumes
        ARM: mxc: Include missing irqs.h header
      d1494ba8
    • Linus Torvalds's avatar
      Merge tag 'sh-for-linus' of git://github.com/pmundt/linux-sh · 0a276d16
      Linus Torvalds authored
      Pull SuperH fixes from Paul Mundt.
      
      * tag 'sh-for-linus' of git://github.com/pmundt/linux-sh: (24 commits)
        sh: explicitly include sh_dma.h in setup-sh7722.c
        sh: ecovec: care CN5 VBUS if USB host mode
        sh: sh7724: fixup renesas_usbhs clock settings
        sh: intc: initial irqdomain support.
        sh: pfc: Fix up init ordering mess.
        serial: sh-sci: fix compilation breakage, when DMA is enabled
        dmaengine: shdma: restore partial transfer calculation
        sh: modify the sh_dmae_slave_config for RSPI in setup-sh7757
        sh: Fix up recursive fault in oops with unset TTB.
        sh: pfc: Build fix for pinctrl_remove_gpio_range() changes.
        sh: select the fixed regulator driver on several boards
        sh: ecovec: switch MMC power control to regulators
        sh: add fixed voltage regulators to se7724
        sh: add fixed voltage regulators to sdk7786
        sh: add fixed voltage regulators to rsk
        sh: add fixed voltage regulators to migor
        sh: add fixed voltage regulators to kfr2r09
        sh: add fixed voltage regulators to ap325rxa
        sh: add fixed voltage regulators to sh7757lcr
        sh: add fixed voltage regulators to sh2007
        ...
      0a276d16
    • Linus Torvalds's avatar
      Merge tag 'md-3.6' of git://neil.brown.name/md · 25aa6a7a
      Linus Torvalds authored
      Pull additional md update from NeilBrown:
       "This contains a few patches that depend on plugging changes in the
        block layer so needed to wait for those.
      
        It also contains a Kconfig fix for the new RAID10 support in dm-raid."
      
      * tag 'md-3.6' of git://neil.brown.name/md:
        md/dm-raid: DM_RAID should select MD_RAID10
        md/raid1: submit IO from originating thread instead of md thread.
        raid5: raid5d handle stripe in batch way
        raid5: make_request use batch stripe release
      25aa6a7a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · c8924234
      Linus Torvalds authored
      Pull two ceph fixes from Sage Weil:
       "The first patch fixes up the old crufty open intent code to use the
        atomic_open stuff properly, and the second fixes a possible null deref
        and memory leak with the crypto keys."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
        libceph: fix crypto key null deref, memory leak
        ceph: simplify+fix atomic_open
      c8924234
    • Linus Torvalds's avatar
      Merge tag 'ecryptfs-3.6-rc1-fixes' of... · 410fc4ce
      Linus Torvalds authored
      Merge tag 'ecryptfs-3.6-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs
      
      Pull ecryptfs fixes from Tyler Hicks:
       - Fixes a bug when the lower filesystem mount options include 'acl',
         but the eCryptfs mount options do not
       - Cleanups in the messaging code
       - Better handling of empty files in the lower filesystem to improve
         usability.  Failed file creations are now cleaned up and empty lower
         files are converted into eCryptfs during open().
       - The write-through cache changes are being reverted due to bugs that
         are not easy to fix.  Stability outweighs the performance
         enhancements here.
       - Improvement to the mount code to catch unsupported ciphers specified
         in the mount options
      
      * tag 'ecryptfs-3.6-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:
        eCryptfs: check for eCryptfs cipher support at mount
        eCryptfs: Revert to a writethrough cache model
        eCryptfs: Initialize empty lower files when opening them
        eCryptfs: Unlink lower inode when ecryptfs_create() fails
        eCryptfs: Make all miscdev functions use daemon ptr in file private_data
        eCryptfs: Remove unused messaging declarations and function
        eCryptfs: Copy up POSIX ACL and read-only flags from lower mount
      410fc4ce
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 630103ea
      Linus Torvalds authored
      Pull CIFS update from Steve French:
       "Adds SMB2 rmdir/mkdir capability to the SMB2/SMB2.1 support in cifs.
      
        I am holding up a few more days on merging the remainder of the
        SMB2/SMB2.1 enablement although it is nearing review completion, in
        order to address some review comments from Jeff Layton on a few of the
        subsequent SMB2 patches, and also to debug an unrelated cifs problem
        that Pavel discovered."
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        CIFS: Add SMB2 support for rmdir
        CIFS: Move rmdir code to ops struct
        CIFS: Add SMB2 support for mkdir operation
        CIFS: Separate protocol specific part from mkdir
        CIFS: Simplify cifs_mkdir call
      630103ea
    • Linus Torvalds's avatar
      mm: remove node_start_pfn checking in new WARN_ON for now · 8783b6e2
      Linus Torvalds authored
      Borislav Petkov reports that the new warning added in commit
      88fdf75d ("mm: warn if pg_data_t isn't initialized with zero")
      triggers for him, and it is the node_start_pfn field that has already
      been initialized once.
      
      The call trace looks like this:
      
        x86_64_start_kernel ->
          x86_64_start_reservations ->
          start_kernel ->
          setup_arch ->
          paging_init ->
          zone_sizes_init ->
          free_area_init_nodes ->
          free_area_init_node
      
      and (with the warning replaced by debug output), Borislav sees
      
        On node 0 totalpages: 4193848
          DMA zone: 64 pages used for memmap
          DMA zone: 6 pages reserved
          DMA zone: 3890 pages, LIFO batch:0
          DMA32 zone: 16320 pages used for memmap
          DMA32 zone: 798464 pages, LIFO batch:31
          Normal zone: 52736 pages used for memmap
          Normal zone: 3322368 pages, LIFO batch:31
        free_area_init_node: pgdat->node_start_pfn: 4423680      <----
        On node 1 totalpages: 4194304
          Normal zone: 65536 pages used for memmap
          Normal zone: 4128768 pages, LIFO batch:31
        free_area_init_node: pgdat->node_start_pfn: 8617984      <----
        On node 2 totalpages: 4194304
          Normal zone: 65536 pages used for memmap
          Normal zone: 4128768 pages, LIFO batch:31
        free_area_init_node: pgdat->node_start_pfn: 12812288     <----
        On node 3 totalpages: 4194304
          Normal zone: 65536 pages used for memmap
          Normal zone: 4128768 pages, LIFO batch:31
      
      so remove the bogus warning for now to avoid annoying people.  Minchan
      Kim is looking at it.
      Reported-by: default avatarBorislav Petkov <bp@amd64.org>
      Cc: Minchan Kim <minchan@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8783b6e2
    • Haojian Zhuang's avatar
      ARM: mmp: add missing irqs.h · bac6f615
      Haojian Zhuang authored
      arch/arm/mach-mmp/gplugd.c:195:13: error: ‘MMP_NR_IRQS’ undeclared here
      (not in a function)
      make[1]: *** [arch/arm/mach-mmp/gplugd.o] Error 1
      
      Include <mach/irqs.h> to fix this issue.
      Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@gmail.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      bac6f615
    • Thomas Petazzoni's avatar
      arm: mvebu: fix typo in .dtsi comment for Armada XP SoCs · 10b683cb
      Thomas Petazzoni authored
      The comment was wrongly referring to Armada 370 while the file is
      related to Armada XP.
      Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      10b683cb
    • Barry Song's avatar
      ARM: PRIMA2: delete redundant codes to restore LATCHED when timer resumes · debeaf6c
      Barry Song authored
      The only way to write LATCHED registers to write LATCH_BIT to LATCH register,
      that will latch COUNTER into LATCHED.e.g.
      writel_relaxed(SIRFSOC_TIMER_LATCH_BIT, sirfsoc_timer_base +
      	SIRFSOC_TIMER_LATCH);
      
      Writing values to LATCHED registers directly is useless at all.
      Signed-off-by: default avatarBarry Song <Baohua.Song@csr.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      debeaf6c
    • Sylvain Munaut's avatar
      libceph: fix crypto key null deref, memory leak · f0666b1a
      Sylvain Munaut authored
      Avoid crashing if the crypto key payload was NULL, as when it was not correctly
      allocated and initialized.  Also, avoid leaking it.
      Signed-off-by: default avatarSylvain Munaut <tnt@246tNt.com>
      Signed-off-by: default avatarSage Weil <sage@inktank.com>
      Reviewed-by: default avatarAlex Elder <elder@inktank.com>
      f0666b1a
    • Sage Weil's avatar
      ceph: simplify+fix atomic_open · 5ef50c3b
      Sage Weil authored
      The initial ->atomic_open op was carried over from the old intent code,
      which was incomplete and didn't really work.  Replace it with a fresh
      method.  In particular:
      
       * always attempt to do an atomic open+lookup, both for the create case
         and for lookups of existing files.
       * fix symlink handling by returning 1 to the VFS so that we can follow
         the link to its destination. This fixes a longstanding ceph bug (#2392).
      Signed-off-by: default avatarSage Weil <sage@inktank.com>
      5ef50c3b
    • Guennadi Liakhovetski's avatar
      sh: explicitly include sh_dma.h in setup-sh7722.c · 08298f06
      Guennadi Liakhovetski authored
      setup-sh7722.c defines several objects, whose types are defined in
      sh_dma.h, so, it has to be included explicitly.
      Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      08298f06
  3. 01 Aug, 2012 7 commits
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 1a9b4993
      Linus Torvalds authored
      Pull MIPS updates from Ralf Baechle:
       "The lion share of this pull request are fixes for clk-related breakage
        caused by other changes during this merge window.  For some platforms
        the fix was as simple as selecting HAVE_CLK, for others like the
        Loongson 2 significant restructuring was required.
      
        The remainder are changes required to get the Lantiq code to work
        again."
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: Loongson 2: Sort out clock managment.
        MIPS: Loongson 1: more clk support and add select HAVE_CLK
        MIPS: txx9: Fix redefinition of clk_* by adding select HAVE_CLK
        MIPS: BCM63xx: Fix redefinition of clk_* by adding select HAVE_CLK
        MIPS: AR7: Fix redefinition of clk_* by adding select HAVE_CLK
        MIPS: Lantiq: Platform specific CLK fixup
        MIPS: Lantiq: Add device_tree_init function
        MIPS: Lantiq: Fix interface clock and PCI control register offset
      1a9b4993
    • Linus Torvalds's avatar
      Merge branch 'for-linus-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · 1871e845
      Linus Torvalds authored
      Pull UML fixes from Richard Weinberger:
       "This patch set contains mostly fixes and cleanups.  The UML tty driver
        uses now tty_port and is no longer broken like hell  :-)"
      
      * 'for-linus-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: Add arch/x86/um to MAINTAINERS
        um: pass siginfo to guest process
        um: fix ubd_file_size for read-only files
        um: pull interrupt_end() into userspace()
        um: split syscall_trace(), pass pt_regs to it
        um: switch UPT_SET_RETURN_VALUE and regs_return_value to pt_regs
        um: set BLK_CGROUP=y in defconfig
        um: remove count_lock
        um: fully use tty_port
        um: Remove dead code
        um: remove line_ioctl()
        TTY: um/line, use tty from tty_port
        TTY: um/line, add tty_port
      1871e845
    • Linus Torvalds's avatar
      Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm · a6dc7725
      Linus Torvalds authored
      Pull ARM DMA engine updates from Russell King:
       "This looks scary at first glance, but what it is is:
         - a rework of the sa11x0 DMA engine driver merged during the previous
           cycle, to extract a common set of helper functions for DMA engine
           implementations.
         - conversion of amba-pl08x.c to use these helper functions.
         - addition of OMAP DMA engine driver (using these helper functions),
           and conversion of some of the OMAP DMA users to use DMA engine.
      
        Nothing in the helper functions is ARM specific, so I hope that other
        implementations can consolidate some of their code by making use of
        these helpers.
      
        This has been sitting in linux-next most of the merge cycle, and has
        been tested by several OMAP folk.  I've tested it on sa11x0 platforms,
        and given it my best shot on my broken platforms which have the
        amba-pl08x controller.
      
        The last point is the addition to feature-removal-schedule.txt, which
        will have a merge conflict.  Between myself and TI, we're planning to
        remove the old TI DMA implementation next year."
      
      Fix up trivial add/add conflicts in Documentation/feature-removal-schedule.txt
      and drivers/dma/{Kconfig,Makefile}
      
      * 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm: (53 commits)
        ARM: 7481/1: OMAP2+: omap2plus_defconfig: enable OMAP DMA engine
        ARM: 7464/1: mmc: omap_hsmmc: ensure probe returns error if DMA channel request fails
        Add feature removal of old OMAP private DMA implementation
        mtd: omap2: remove private DMA API implementation
        mtd: omap2: add DMA engine support
        spi: omap2-mcspi: remove private DMA API implementation
        spi: omap2-mcspi: add DMA engine support
        ARM: omap: remove mmc platform data dma_mask and initialization
        mmc: omap: remove private DMA API implementation
        mmc: omap: add DMA engine support
        mmc: omap_hsmmc: remove private DMA API implementation
        mmc: omap_hsmmc: add DMA engine support
        dmaengine: omap: add support for cyclic DMA
        dmaengine: omap: add support for setting fi
        dmaengine: omap: add support for returning residue in tx_state method
        dmaengine: add OMAP DMA engine driver
        dmaengine: sa11x0-dma: add cyclic DMA support
        dmaengine: sa11x0-dma: fix DMA residue support
        dmaengine: PL08x: ensure all descriptors are freed when channel is released
        dmaengine: PL08x: get rid of write only pool_ctr and free_txd locking
        ...
      a6dc7725
    • Linus Torvalds's avatar
      Merge branch 'audit' of git://git.linaro.org/people/rmk/linux-arm · 02a6ec6a
      Linus Torvalds authored
      Pull ARM audit/signal updates from Russell King:
       "ARM audit/signal handling updates from Al and Will.  This improves on
        the work Viro did last merge window, and sorts out some of the issues
        found with that work."
      
      * 'audit' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: 7475/1: sys_trace: allow all syscall arguments to be updated via ptrace
        ARM: 7474/1: get rid of TIF_SYSCALL_RESTARTSYS
        ARM: 7473/1: deal with handlerless restarts without leaving the kernel
        ARM: 7472/1: pull all work_pending logics into C function
        ARM: 7471/1: Revert "7442/1: Revert "remove unused restart trampoline""
        ARM: 7470/1: Revert "7443/1: Revert "new way of handling ERESTART_RESTARTBLOCK""
      02a6ec6a
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm · 9a2533c3
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "This fixes various issues found during July"
      
      * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: 7479/1: mm: avoid NULL dereference when flushing gate_vma with VIVT caches
        ARM: Fix undefined instruction exception handling
        ARM: 7480/1: only call smp_send_stop() on SMP
        ARM: 7478/1: errata: extend workaround for erratum #720789
        ARM: 7477/1: vfp: Always save VFP state in vfp_pm_suspend on UP
        ARM: 7476/1: vfp: only clear vfp state for current cpu in vfp_pm_suspend
        ARM: 7468/1: ftrace: Trace function entry before updating index
        ARM: 7467/1: mutex: use generic xchg-based implementation for ARMv6+
        ARM: 7466/1: disable interrupt before spinning endlessly
        ARM: 7465/1: Handle >4GB memory sizes in device tree and mem=size@start option
      9a2533c3
    • Richard Weinberger's avatar
      um: Add arch/x86/um to MAINTAINERS · b070989a
      Richard Weinberger authored
      Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
      b070989a
    • Martin Pärtel's avatar
      um: pass siginfo to guest process · d3c1cfcd
      Martin Pärtel authored
      UML guest processes now get correct siginfo_t for SIGTRAP, SIGFPE,
      SIGILL and SIGBUS. Specifically, si_addr and si_code are now correct
      where previously they were si_addr = NULL and si_code = 128.
      Signed-off-by: default avatarMartin Pärtel <martin.partel@gmail.com>
      Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
      d3c1cfcd