Merge branches 'msm-fixes' and 'msm-video' of git://codeaurora.org/quic/kernel/dwalke...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 30 Oct 2010 01:57:04 +0000 (18:57 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 30 Oct 2010 01:57:04 +0000 (18:57 -0700)
* 'msm-fixes' of git://codeaurora.org/quic/kernel/dwalker/linux-msm:
  msm: Kconfig: drop unused config options
  msm: fix compile failure when no debug uart is selected
  msm: fix debug-macro.S build failure
  msm: timer: Decrease shift on timer clocksource
  arm: mach-msm: fix error handling in msm_iommu_probe()
  msm: fix Kconfig target board selection
  msm: fix compile failure on struct membank node member

* 'msm-video' of git://codeaurora.org/quic/kernel/dwalker/linux-msm:
  drivers/video/msm/mddi.c: Remove multiple KERN_<level> uses
  drivers: msm: video: add dev_set_name call
  drivers: video: msm: fix hang on disable_irq

arch/arm/mach-msm/Kconfig
arch/arm/mach-msm/board-halibut.c
arch/arm/mach-msm/include/mach/debug-macro.S
arch/arm/mach-msm/iommu_dev.c
arch/arm/mach-msm/timer.c
drivers/video/msm/mddi.c
drivers/video/msm/mdp.c

index 3115a29..dbbcfeb 100644 (file)
@@ -6,6 +6,7 @@ choice
 
 config ARCH_MSM7X00A
        bool "MSM7x00A / MSM7x01A"
+       select MACH_TROUT if !MACH_HALIBUT
        select ARCH_MSM_ARM11
        select MSM_SMD
        select MSM_SMD_PKG3
@@ -15,34 +16,34 @@ config ARCH_MSM7X00A
 
 config ARCH_MSM7X30
        bool "MSM7x30"
+       select MACH_MSM7X30_SURF # if !
        select ARCH_MSM_SCORPION
        select MSM_SMD
        select MSM_VIC
        select CPU_V7
-       select MSM_REMOTE_SPINLOCK_DEKKERS
        select MSM_GPIOMUX
        select MSM_PROC_COMM
        select HAS_MSM_DEBUG_UART_PHYS
 
 config ARCH_QSD8X50
        bool "QSD8X50"
+       select MACH_QSD8X50_SURF if !MACH_QSD8X50A_ST1_5
        select ARCH_MSM_SCORPION
        select MSM_SMD
        select MSM_VIC
        select CPU_V7
-       select MSM_REMOTE_SPINLOCK_LDREX
        select MSM_GPIOMUX
        select MSM_PROC_COMM
        select HAS_MSM_DEBUG_UART_PHYS
 
 config ARCH_MSM8X60
        bool "MSM8X60"
+       select MACH_MSM8X60_SURF if (!MACH_MSM8X60_RUMI3 && !MACH_MSM8X60_SIM \
+                                 && !MACH_MSM8X60_FFA)
        select ARM_GIC
        select CPU_V7
        select MSM_V2_TLMM
        select MSM_GPIOMUX
-       select MACH_MSM8X60_SURF if (!MACH_MSM8X60_RUMI3 && !MACH_MSM8X60_SIM \
-                                 && !MACH_MSM8X60_FFA)
 
 endchoice
 
index 59edecb..75dabb1 100644 (file)
@@ -83,7 +83,6 @@ static void __init halibut_fixup(struct machine_desc *desc, struct tag *tags,
 {
        mi->nr_banks=1;
        mi->bank[0].start = PHYS_OFFSET;
-       mi->bank[0].node = PHYS_TO_NID(PHYS_OFFSET);
        mi->bank[0].size = (101*1024*1024);
 }
 
index fbd5d90..646b99e 100644 (file)
@@ -19,7 +19,7 @@
 #include <mach/hardware.h>
 #include <mach/msm_iomap.h>
 
-#ifdef CONFIG_HAS_MSM_DEBUG_UART_PHYS
+#if defined(CONFIG_HAS_MSM_DEBUG_UART_PHYS) && !defined(CONFIG_MSM_DEBUG_UART_NONE)
        .macro  addruart, rp, rv
        ldr     \rp, =MSM_DEBUG_UART_PHYS
        ldr     \rv, =MSM_DEBUG_UART_BASE
        tst     \rd, #0x04
        beq     1001b
        .endm
+#else
+       .macro  addruart, rp, rv
+       mov     \rv, #0xff000000
+       orr     \rv, \rv, #0x00f00000
+       .endm
 
-       .macro  busyuart,rd,rx
+       .macro  senduart,rd,rx
+       .endm
+
+       .macro  waituart,rd,rx
        .endm
 #endif
+
+       .macro  busyuart,rd,rx
+       .endm
index c33ae78..9019cee 100644 (file)
@@ -128,7 +128,7 @@ static void msm_iommu_reset(void __iomem *base)
 
 static int msm_iommu_probe(struct platform_device *pdev)
 {
-       struct resource *r;
+       struct resource *r, *r2;
        struct clk *iommu_clk;
        struct msm_iommu_drvdata *drvdata;
        struct msm_iommu_dev *iommu_dev = pdev->dev.platform_data;
@@ -183,27 +183,27 @@ static int msm_iommu_probe(struct platform_device *pdev)
 
                len = r->end - r->start + 1;
 
-               r = request_mem_region(r->start, len, r->name);
-               if (!r) {
+               r2 = request_mem_region(r->start, len, r->name);
+               if (!r2) {
                        pr_err("Could not request memory region: "
                        "start=%p, len=%d\n", (void *) r->start, len);
                        ret = -EBUSY;
                        goto fail;
                }
 
-               regs_base = ioremap(r->start, len);
+               regs_base = ioremap(r2->start, len);
 
                if (!regs_base) {
                        pr_err("Could not ioremap: start=%p, len=%d\n",
-                                (void *) r->start, len);
+                                (void *) r2->start, len);
                        ret = -EBUSY;
-                       goto fail;
+                       goto fail_mem;
                }
 
                irq = platform_get_irq_byname(pdev, "secure_irq");
                if (irq < 0) {
                        ret = -ENODEV;
-                       goto fail;
+                       goto fail_io;
                }
 
                mb();
@@ -211,14 +211,14 @@ static int msm_iommu_probe(struct platform_device *pdev)
                if (GET_IDR(regs_base) == 0) {
                        pr_err("Invalid IDR value detected\n");
                        ret = -ENODEV;
-                       goto fail;
+                       goto fail_io;
                }
 
                ret = request_irq(irq, msm_iommu_fault_handler, 0,
                                "msm_iommu_secure_irpt_handler", drvdata);
                if (ret) {
                        pr_err("Request IRQ %d failed with ret=%d\n", irq, ret);
-                       goto fail;
+                       goto fail_io;
                }
 
                msm_iommu_reset(regs_base);
@@ -237,6 +237,10 @@ static int msm_iommu_probe(struct platform_device *pdev)
 
        return 0;
 
+fail_io:
+       iounmap(regs_base);
+fail_mem:
+       release_mem_region(r->start, len);
 fail:
        kfree(drvdata);
        return ret;
index 7689848..950100f 100644 (file)
@@ -137,7 +137,7 @@ static struct msm_clock msm_clocks[] = {
                        .rating         = 200,
                        .read           = msm_gpt_read,
                        .mask           = CLOCKSOURCE_MASK(32),
-                       .shift          = 24,
+                       .shift          = 17,
                        .flags          = CLOCK_SOURCE_IS_CONTINUOUS,
                },
                .irq = {
index 7c316c3..b66d86a 100644 (file)
@@ -318,7 +318,7 @@ static long mddi_wait_interrupt_timeout(struct mddi_info *mddi,
 static void mddi_wait_interrupt(struct mddi_info *mddi, uint32_t intmask)
 {
        if (mddi_wait_interrupt_timeout(mddi, intmask, HZ/10) == 0)
-               printk(KERN_INFO KERN_ERR "mddi_wait_interrupt %d, timeout "
+               printk(KERN_INFO "mddi_wait_interrupt %d, timeout "
                       "waiting for %x, INT = %x, STAT = %x gotint = %x\n",
                       current->pid, intmask, mddi_readl(INT), mddi_readl(STAT),
                       mddi->got_int);
@@ -465,8 +465,7 @@ static int __init mddi_get_client_caps(struct mddi_info *mddi)
 
                if (mddi->flags & FLAG_HAVE_CAPS)
                        break;
-               printk(KERN_INFO KERN_ERR "mddi_init, timeout waiting for "
-                               "caps\n");
+               printk(KERN_INFO "mddi_init, timeout waiting for caps\n");
        }
        return mddi->flags & FLAG_HAVE_CAPS;
 }
index 3c28db0..c3636d5 100644 (file)
@@ -90,7 +90,7 @@ static int locked_disable_mdp_irq(struct mdp_info *mdp, uint32_t mask)
        mdp_irq_mask &= ~(mask);
        /* if no one is waiting on the interrupt, disable it */
        if (!mdp_irq_mask) {
-               disable_irq(mdp->irq);
+               disable_irq_nosync(mdp->irq);
                if (clk)
                        clk_disable(clk);
        }
@@ -482,6 +482,7 @@ int mdp_probe(struct platform_device *pdev)
        /* register mdp device */
        mdp->mdp_dev.dev.parent = &pdev->dev;
        mdp->mdp_dev.dev.class = mdp_class;
+       dev_set_name(&mdp->mdp_dev.dev, "mdp%d", pdev->id);
 
        /* if you can remove the platform device you'd have to implement
         * this: