linux-stable/drivers/dma
Paul Mundt 5c2de44417 dmaengine: shdma: Fix up fallout from runtime PM changes.
The runtime PM changes introduce sh_dmae_rst() wrapping via the
runtime_resume helper, depending on dev_get_drvdata() to fetch the
platform data needed for the DMAOR initialization default at a time
where drvdata hasn't yet been established by the probe path, resulting
in general probe misery:

        Unable to handle kernel NULL pointer dereference at virtual address 000000c4
        pc = 8025adee
        *pde = 00000000
        Oops: 0000 [#1]
        Modules linked in:

        Pid : 1, Comm:           swapper
        CPU : 0                  Not tainted  (3.0.0-rc1-00012-g9436b4a-dirty #1456)

        PC is at sh_dmae_rst+0x28/0x86
        PR is at sh_dmae_rst+0x22/0x86
        PC  : 8025adee SP  : 9e803d10 SR  : 400080f1 TEA : 000000c4
        R0  : 000000c4 R1  : 0000fff8 R2  : 00000000 R3  : 00000040
        R4  : 000000f0 R5  : 00000000 R6  : 00000000 R7  : 804f184c
        R8  : 00000000 R9  : 804dd0e8 R10 : 80283204 R11 : ffffffda
        R12 : 000000a0 R13 : 804dd18c R14 : 9e803d10
        MACH: 00000000 MACL: 00008f20 GBR : 00000000 PR  : 8025ade8

        Call trace:
        [<8025ae70>] sh_dmae_runtime_resume+0x24/0x34
        [<80283238>] pm_generic_runtime_resume+0x34/0x3c
        [<80283370>] rpm_callback+0x4a/0x7e
        [<80283efc>] rpm_resume+0x240/0x384
        [<80283f54>] rpm_resume+0x298/0x384
        [<8028428c>] __pm_runtime_resume+0x44/0x7c
        [<8038a358>] __ioremap_caller+0x0/0xec
        [<80284296>] __pm_runtime_resume+0x4e/0x7c
        [<8038a358>] __ioremap_caller+0x0/0xec
        [<80666254>] sh_dmae_probe+0x180/0x6a0
        [<802803ae>] platform_drv_probe+0x26/0x2e

Fix up the ordering accordingly.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-31 15:53:03 +09:00
..
ioat Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-05-28 12:35:15 -07:00
ipu dma: Ipu: Convert interupt code 2011-03-25 22:09:00 +01:00
ppc4xx Merge branch 'old_next' into next 2011-04-06 11:51:12 +05:30
amba-pl08x.c ARM: amba: make probe() functions take const id tables 2011-02-23 16:24:14 +00:00
at_hdmac.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-05-28 12:35:15 -07:00
at_hdmac_regs.h dmaengine: at_hdmac: implement pause and resume in atc_control 2011-05-09 11:42:54 +05:30
coh901318.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-05-28 12:35:15 -07:00
coh901318_lli.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
coh901318_lli.h tree-wide: Assorted spelling fixes 2010-02-09 11:13:56 +01:00
dmaengine.c async_tx: make async_tx channel switching opt-in 2010-10-07 17:08:32 -07:00
dmatest.c Haavard Skinnemoen has left Atmel 2011-05-18 23:24:50 +02:00
dw_dmac.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-05-28 12:35:15 -07:00
dw_dmac_regs.h dmaengine/dw_dmac: Update maintainer-ship 2011-05-25 18:30:37 +05:30
fsldma.c dt/fsldma: fix build warning caused by of_platform_device changes 2011-04-10 23:34:38 -07:00
fsldma.h fsldma: fix controller lockups 2011-03-11 17:52:36 -08:00
imx-dma.c dmaengine i.MX dma: initialize dma capabilities outside channel loop 2011-01-31 12:36:23 +01:00
imx-sdma.c Merge branch 'imx' into dmaengine-fixes 2011-02-14 02:40:46 -08:00
intel_mid_dma.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-05-28 12:35:15 -07:00
intel_mid_dma_regs.h Fix common misspellings 2011-03-31 11:26:23 -03:00
iop-adma.c dma: use BUG_ON correctly in iop-adma.c, v4 2011-03-31 11:07:40 +05:30
iovlock.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
Kconfig pch_dma: Support new device ML7223 IOH 2011-05-09 17:12:23 +05:30
Makefile Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-03-22 17:53:13 -07:00
mpc512x_dma.c Fix common misspellings 2011-03-31 11:26:23 -03:00
mv_xor.c dma: use BUG_ON correctly in mv_xor.c, v4 2011-03-31 11:07:40 +05:30
mv_xor.h mv_xor: implement a private tx_list 2009-09-08 17:53:03 -07:00
mxs-dma.c dmaengine: mxs-dma: add dma support for i.MX23/28 2011-03-02 07:06:27 +05:30
pch_dma.c pch_dma: modify pci device table definition 2011-05-09 17:12:24 +05:30
pl330.c ARM: amba: make probe() functions take const id tables 2011-02-23 16:24:14 +00:00
shdma.c dmaengine: shdma: Fix up fallout from runtime PM changes. 2011-05-31 15:53:03 +09:00
shdma.h dmaengine: shdma: Update SH_DMAC_MAX_CHANNELS to 20 2011-05-25 11:36:17 +09:00
ste_dma40.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-05-28 12:35:15 -07:00
ste_dma40_ll.c dma40: cyclic xfer support 2011-01-30 22:27:21 -08:00
ste_dma40_ll.h dma40: cyclic xfer support 2011-01-30 22:27:21 -08:00
timb_dma.c mfd: Use mfd cell platform_data for timberdale cells platform bits 2011-05-26 19:45:05 +02:00
TODO dmaengine: add TODO items for future work on dma drivers 2011-05-26 14:44:30 -07:00
txx9dmac.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2010-05-21 17:05:46 -07:00
txx9dmac.h txx9dmac: implement a private tx_list 2009-09-08 17:53:03 -07:00