[PATCH] ARM: OMAP: Fix workqueue and set_pte in DSP code

Dirk Behme
2006-12-22T10:03:02Z

[-- Attachment #1: Type: text/plain, Size: 129 bytes --]

ARM: OMAP: Fix workqueue and set_pte in DSP code to make it
compile again.

Signed-off-by: Dirk Behme <dirk.behme_at_gmail.com>

[-- Attachment #2: dsp_fixes.txt --]
[-- Type: text/plain, Size: 2242 bytes --]

Index: linux-osk/arch/arm/plat-omap/dsp/ipbuf.c
===================================================================
--- linux-osk.orig/arch/arm/plat-omap/dsp/ipbuf.c
+++ linux-osk/arch/arm/plat-omap/dsp/ipbuf.c
@@ -245,7 +245,7 @@ static int try_yld(struct ipbuf_head *ip
/*
* balancing ipbuf lines with DSP
*/
-static void do_balance_ipbuf(void)
+static void do_balance_ipbuf(struct work_struct *unused)
{
while (ipbcfg.bsycnt <= ipbcfg.ln / 4) {
struct ipbuf_head *ipb_h;
@@ -257,8 +257,7 @@ static void do_balance_ipbuf(void)
}
}

-static DECLARE_WORK(balance_ipbuf_work, (void (*)(void *))do_balance_ipbuf,
- NULL);
+static DECLARE_WORK(balance_ipbuf_work, do_balance_ipbuf);

void balance_ipbuf(void)
{
Index: linux-osk/arch/arm/plat-omap/dsp/dsp_mem.c
===================================================================
--- linux-osk.orig/arch/arm/plat-omap/dsp/dsp_mem.c
+++ linux-osk/arch/arm/plat-omap/dsp/dsp_mem.c
@@ -507,7 +507,7 @@ exmap_alloc_pte(unsigned long virt, unsi
}

pte = pte_offset_kernel(pmd, virt);
- set_pte(pte, pfn_pte(phys >> PAGE_SHIFT, prot));
+ set_pte_ext(pte, pfn_pte(phys >> PAGE_SHIFT, prot), 0);
}

#if 0
@@ -2009,7 +2009,7 @@ static int dsp_mem_open(struct inode *in
* fbupd_cb() is called when fb update is done, in interrupt context.
* mbox_fbupd() is called when KFUNC:FBCTL:UPD is received from DSP.
*/
-static void fbupd_response(void *arg)
+static void fbupd_response(struct work_struct *unused)
{
int status;

@@ -2022,8 +2022,7 @@ static void fbupd_response(void *arg)
}
}

-static DECLARE_WORK(fbupd_response_work, (void (*)(void *))fbupd_response,
- NULL);
+static DECLARE_WORK(fbupd_response_work, fbupd_response);

static void fbupd_cb(void *arg)
{
@@ -2283,7 +2282,7 @@ static ssize_t mempool_show(struct devic
DSP_MMU_FAULT_ST_TRANS)
#endif /* CONFIG_ARCH_OMAP1 */

-static void do_mmu_int(void)
+static void do_mmu_int(struct work_struct *unused)
{
#if defined(CONFIG_ARCH_OMAP1)

@@ -2417,7 +2416,7 @@ static void do_mmu_int(void)
enable_irq(omap_dsp->mmu_irq);
}

-static DECLARE_WORK(mmu_int_work, (void (*)(void *))do_mmu_int, NULL);
+static DECLARE_WORK(mmu_int_work, do_mmu_int);

/*
* DSP MMU interrupt handler

[-- Attachment #3: Type: text/plain, Size: 0 bytes --]