]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
ARM: OMAP: DSPGW: mailbox build fix
authorHiroshi DOYU <Hiroshi.DOYU@nokia.com>
Mon, 25 Sep 2006 18:32:37 +0000 (21:32 +0300)
committerJuha Yrjola <juha.yrjola@solidboot.com>
Mon, 25 Sep 2006 22:57:35 +0000 (01:57 +0300)
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
arch/arm/mach-omap1/board-nokia770.c
arch/arm/mach-omap1/mailbox.c
include/asm-arm/arch-omap/omap16xx.h
include/asm-arm/arch-omap/omap24xx.h

index 6f42827ccdd96215fe3a47b43917343f67da3bc6..6bd33be4af1ba89e7333e6ccd934f1475cc8d671 100644 (file)
@@ -212,7 +212,7 @@ static void nokia770_audio_pwr_down(void)
        schedule_delayed_work(&codec_power_down_work, HZ / 20); /* 50ms */
 }
 
-static void
+static int
 nokia770_audio_pwr_up_request(struct dsp_kfunc_device *kdev, int stage)
 {
        down(&audio_pwr_sem);
@@ -221,9 +221,10 @@ nokia770_audio_pwr_up_request(struct dsp_kfunc_device *kdev, int stage)
        /* force audio_pwr_state = 0, even if it was 1. */
        audio_pwr_state = 0;
        up(&audio_pwr_sem);
+       return 0;
 }
 
-static void
+static int
 nokia770_audio_pwr_down_request(struct dsp_kfunc_device *kdev, int stage)
 {
        down(&audio_pwr_sem);
@@ -240,6 +241,7 @@ nokia770_audio_pwr_down_request(struct dsp_kfunc_device *kdev, int stage)
                break;
        }
        up(&audio_pwr_sem);
+       return 0;
 }
 
 static struct dsp_kfunc_device nokia770_audio_device = {
@@ -263,7 +265,7 @@ static __init int omap_dsp_init(void)
        if (ret) {
                printk(KERN_ERR
                       "KFUNC device registration faild: %s\n",
-                      dsp_audio_device.name);
+                      nokia770_audio_device.name);
                goto out;
        }
        return 0;
index ad077afff3ef36ad9184bcf4a2a53702500db5d9..dfcca2e6cd17585ed5817dde17f1025aadeccc43 100644 (file)
@@ -9,8 +9,10 @@
  * for more details.
  */
 
-#include <linux/config.h>
 #include <linux/kernel.h>
+#include <linux/resource.h>
+#include <linux/interrupt.h>
+#include <linux/platform_device.h>
 #include <asm/arch/mailbox.h>
 #include <asm/arch/irqs.h>
 #include <asm/io.h>
@@ -28,9 +30,9 @@
 unsigned long mbox_base;
 
 struct omap_mbox1_fifo {
-       void *cmd;
-       void *data;
-       void *flag;
+       unsigned long cmd;
+       unsigned long data;
+       unsigned long flag;
 };
 
 struct omap_mbox1_priv {
@@ -51,7 +53,8 @@ static inline void mbox_write_reg(unsigned int val, unsigned int reg)
 /* msg */
 static inline mbox_msg_t omap1_mbox_fifo_read(struct omap_mbox *mbox)
 {
-       struct omap_mbox1_fifo *fifo = &((struct omap_mbox1_priv *)mbox->priv)->rx_fifo;
+       struct omap_mbox1_fifo *fifo =
+               &((struct omap_mbox1_priv *)mbox->priv)->rx_fifo;
        mbox_msg_t msg;
 
        msg = mbox_read_reg(fifo->data);
@@ -60,9 +63,11 @@ static inline mbox_msg_t omap1_mbox_fifo_read(struct omap_mbox *mbox)
        return msg;
 }
 
-static inline void omap1_mbox_fifo_write(struct omap_mbox *mbox, mbox_msg_t msg)
+static inline void
+omap1_mbox_fifo_write(struct omap_mbox *mbox, mbox_msg_t msg)
 {
-       struct omap_mbox1_fifo *fifo = &((struct omap_mbox1_priv *)mbox->priv)->rx_fifo;
+       struct omap_mbox1_fifo *fifo =
+               &((struct omap_mbox1_priv *)mbox->priv)->rx_fifo;
 
        mbox_write_reg(msg & 0xffff, fifo->data);
        mbox_write_reg(msg >> 16, fifo->cmd);
@@ -75,23 +80,29 @@ static inline int omap1_mbox_fifo_empty(struct omap_mbox *mbox)
 
 static inline int omap1_mbox_fifo_full(struct omap_mbox *mbox)
 {
+       struct omap_mbox1_fifo *fifo =
+               &((struct omap_mbox1_priv *)mbox->priv)->rx_fifo;
+
        return (mbox_read_reg(fifo->flag));
 }
 
 /* irq */
-static inline void omap1_mbox_enable_irq(struct omap_mbox *mbox, omap_mbox_type_t irq)
+static inline void
+omap1_mbox_enable_irq(struct omap_mbox *mbox, omap_mbox_type_t irq)
 {
        if (irq == IRQ_RX)
                enable_irq(mbox->irq);
 }
 
-static inline void omap1_mbox_disable_irq(struct omap_mbox *mbox, omap_mbox_type_t irq)
+static inline void
+omap1_mbox_disable_irq(struct omap_mbox *mbox, omap_mbox_type_t irq)
 {
        if (irq == IRQ_RX)
-               disble_irq(mbox->irq);
+               disable_irq(mbox->irq);
 }
 
-static inline int omap1_mbox_is_irq(struct omap_mbox *mbox, omap_mbox_type_t irq)
+static inline int
+omap1_mbox_is_irq(struct omap_mbox *mbox, omap_mbox_type_t irq)
 {
        if (irq == IRQ_TX)
                return 0;
@@ -111,22 +122,22 @@ struct omap_mbox_ops omap1_mbox_ops = {
 /* FIXME: the following struct should be created automatically by the user id  */
 
 /* DSP */
-static struct omap_mbox2_priv omap1_mbox_dsp_priv = {
+static struct omap_mbox1_priv omap1_mbox_dsp_priv = {
        .tx_fifo = {
-               .cmd = (void *)MAILBOX_ARM2DSP1b,
-               .data = (void *)MAILBOX_ARM2DSP1,
-               .flag = (void *)MAILBOX_ARM2DSP1_Flag,
+               .cmd  = MAILBOX_ARM2DSP1b,
+               .data = MAILBOX_ARM2DSP1,
+               .flag = MAILBOX_ARM2DSP1_Flag,
        },
        .rx_fifo = {
-               .cmd = (void *)MAILBOX_DSP2ARM1b,
-               .data = (void *)MAILBOX_DSP2ARM1,
-               .flag = (void *)MAILBOX_DSP2ARM1_Flag,
+               .cmd  = MAILBOX_DSP2ARM1b,
+               .data = MAILBOX_DSP2ARM1,
+               .flag = MAILBOX_DSP2ARM1_Flag,
        },
 };
 
 struct omap_mbox mbox_dsp_info = {
        .name = "DSP",
-       .ops = &omap1_mbox_ops,
+       .ops  = &omap1_mbox_ops,
        .priv = &omap1_mbox_dsp_priv,
 };
 
@@ -170,7 +181,7 @@ static int omap1_mbox_remove(struct platform_device *pdev)
 }
 
 static struct platform_driver omap1_mbox_driver = {
-       .probe = omap1_mbox_probe,
+       .probe  = omap1_mbox_probe,
        .remove = omap1_mbox_remove,
        .driver = {
                .name = "mailbox",
index 04433e65187a35252a0368e711cade65189d4983..f7f5cdfdccce4f40a4a6a2c9e54240f76864ae49 100644 (file)
 #define WSPR_DISABLE_0         (0x0000aaaa)
 #define WSPR_DISABLE_1         (0x00005555)
 
+/* Mailbox */
+#define OMAP16XX_MAILBOX_BASE  (0xfffcf000)
+
 #endif /*  __ASM_ARCH_OMAP16XX_H */
 
index b70063376f0a4ed2bc3d51781e2688c02e549daa..408a42224f82da3f4cdbd3fe35598d0deba30010 100644 (file)
@@ -28,5 +28,8 @@
 #define OMAP24XX_DSP_IPI_BASE  (OMAP24XX_DSP_BASE + 0x1000000)
 #define OMAP24XX_DSP_MMU_BASE  (OMAP24XX_DSP_BASE + 0x2000000)
 
+/* Mailbox */
+#define OMAP24XX_MAILBOX_BASE  (L4_24XX_BASE + 0x94000)
+
 #endif /* __ASM_ARCH_OMAP24XX_H */