Commit 847eb188 authored by Dirk Behme's avatar Dirk Behme Committed by Tony Lindgren

[PATCH] ARM: OMAP: Make OMAP1 work again

In mach-omap1/mailbox.c the mailbox name is .name = "DSP"
while in plat-omap/dsp/dsp_core.c function  dsp_mbox_init()
asks for "dsp". This results in a strcmp() mismatch and then
OMAP1 system crashes due to NULL pointer. OMAP2 is correct,
there .name is "dsp". Correct OMAP1 name to "dsp" as well.

Signed-off-by: Dirk Behme <dirk.behme_at_gmail.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 69bffebe
...@@ -136,7 +136,7 @@ static struct omap_mbox1_priv omap1_mbox_dsp_priv = { ...@@ -136,7 +136,7 @@ static struct omap_mbox1_priv omap1_mbox_dsp_priv = {
}; };
struct omap_mbox mbox_dsp_info = { struct omap_mbox mbox_dsp_info = {
.name = "DSP", .name = "dsp",
.ops = &omap1_mbox_ops, .ops = &omap1_mbox_ops,
.priv = &omap1_mbox_dsp_priv, .priv = &omap1_mbox_dsp_priv,
}; };
......
...@@ -96,9 +96,9 @@ static struct pmu_type pmu_parms[] = { ...@@ -96,9 +96,9 @@ static struct pmu_type pmu_parms[] = {
.interrupt = -1, .interrupt = -1,
#endif #endif
.int_mask = { [PMN0] = 0x10, [PMN1] = 0x20, .int_mask = { [PMN0] = 0x10, [PMN1] = 0x20,
[CCNT] = 0x40 }, [CCNT] = 0x40 },
.cnt_ovf = { [CCNT] = 0x400, [PMN0] = 0x100, .cnt_ovf = { [CCNT] = 0x400, [PMN0] = 0x100,
[PMN1] = 0x200}, [PMN1] = 0x200},
}, },
}; };
...@@ -164,7 +164,8 @@ static int arm11_setup_ctrs(void) ...@@ -164,7 +164,8 @@ static int arm11_setup_ctrs(void)
counter_config[i].event = EVT_UNUSED; counter_config[i].event = EVT_UNUSED;
} }
pmnc = (counter_config[PMN1].event << 20) | (counter_config[PMN0].event << 12); pmnc = (counter_config[PMN1].event << 20)
| (counter_config[PMN0].event << 12);
pr_debug("arm11_setup_ctrs: pmnc: %#08x\n", pmnc); pr_debug("arm11_setup_ctrs: pmnc: %#08x\n", pmnc);
write_pmnc(pmnc); write_pmnc(pmnc);
...@@ -242,11 +243,11 @@ static int arm11_pmu_start(void) ...@@ -242,11 +243,11 @@ static int arm11_pmu_start(void)
u32 pmnc = read_pmnc(); u32 pmnc = read_pmnc();
if (pmu->interrupt >= 0) { if (pmu->interrupt >= 0) {
ret = request_irq(pmu->interrupt, arm11_pmu_interrupt, IRQF_DISABLED, ret = request_irq(pmu->interrupt, arm11_pmu_interrupt,
"ARM11 PMU", (void *)results); IRQF_DISABLED, "ARM11 PMU", (void *)results);
if (ret < 0) { if (ret < 0) {
printk(KERN_ERR "oprofile: unable to request IRQ%d for ARM11 PMU\n", printk(KERN_ERR "oprofile: unable to request IRQ%d "
pmu->interrupt); "for ARM11 PMU\n", pmu->interrupt);
return ret; return ret;
} }
...@@ -255,7 +256,8 @@ static int arm11_pmu_start(void) ...@@ -255,7 +256,8 @@ static int arm11_pmu_start(void)
pmnc |= PMU_ENABLE; pmnc |= PMU_ENABLE;
write_pmnc(pmnc); write_pmnc(pmnc);
pr_debug("arm11_pmu_start: pmnc: %#08x mask: %08x\n", pmnc, pmu->int_enable); pr_debug("arm11_pmu_start: pmnc: %#08x mask: %08x\n",
pmnc, pmu->int_enable);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment