]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - arch/arm/mach-omap1/board-nokia770.c
Merge branches 'at91', 'dyntick', 'ep93xx', 'iop', 'ixp', 'misc', 'orion', 'omap...
[mirror_ubuntu-artful-kernel.git] / arch / arm / mach-omap1 / board-nokia770.c
index 182a98a9df4c9e33cd55169bdae113d01daed629..3f39e0e79c9f6eecc3207cc0dbbea9972e0a727a 100644 (file)
@@ -10,6 +10,7 @@
 
 #include <linux/kernel.h>
 #include <linux/init.h>
+#include <linux/mutex.h>
 #include <linux/platform_device.h>
 #include <linux/input.h>
 #include <linux/clk.h>
@@ -32,7 +33,6 @@
 #include <asm/arch/common.h>
 #include <asm/arch/dsp_common.h>
 #include <asm/arch/aic23.h>
-#include <asm/arch/gpio.h>
 #include <asm/arch/omapfb.h>
 #include <asm/arch/lcd_mipid.h>
 
@@ -190,7 +190,7 @@ static struct omap_mmc_config nokia770_mmc_config __initdata = {
        },
 };
 
-static struct omap_board_config_kernel nokia770_config[] = {
+static struct omap_board_config_kernel nokia770_config[] __initdata = {
        { OMAP_TAG_USB,         NULL },
        { OMAP_TAG_MMC,         &nokia770_mmc_config },
 };
@@ -203,7 +203,7 @@ static struct omap_board_config_kernel nokia770_config[] = {
 #define        AMPLIFIER_CTRL_GPIO     58
 
 static struct clk *dspxor_ck;
-static DECLARE_MUTEX(audio_pwr_sem);
+static DEFINE_MUTEX(audio_pwr_lock);
 /*
  * audio_pwr_state
  * +--+-------------------------+---------------------------------------+
@@ -219,7 +219,7 @@ static DECLARE_MUTEX(audio_pwr_sem);
 static int audio_pwr_state = -1;
 
 /*
- * audio_pwr_up / down should be called under audio_pwr_sem
+ * audio_pwr_up / down should be called under audio_pwr_lock
  */
 static void nokia770_audio_pwr_up(void)
 {
@@ -238,11 +238,11 @@ static void nokia770_audio_pwr_up(void)
 
 static void codec_delayed_power_down(struct work_struct *work)
 {
-       down(&audio_pwr_sem);
+       mutex_lock(&audio_pwr_lock);
        if (audio_pwr_state == -1)
                aic23_power_down();
        clk_disable(dspxor_ck);
-       up(&audio_pwr_sem);
+       mutex_unlock(&audio_pwr_lock);
 }
 
 static DECLARE_DELAYED_WORK(codec_power_down_work, codec_delayed_power_down);
@@ -259,19 +259,19 @@ static void nokia770_audio_pwr_down(void)
 static int
 nokia770_audio_pwr_up_request(struct dsp_kfunc_device *kdev, int stage)
 {
-       down(&audio_pwr_sem);
+       mutex_lock(&audio_pwr_lock);
        if (audio_pwr_state == -1)
                nokia770_audio_pwr_up();
        /* force audio_pwr_state = 0, even if it was 1. */
        audio_pwr_state = 0;
-       up(&audio_pwr_sem);
+       mutex_unlock(&audio_pwr_lock);
        return 0;
 }
 
 static int
 nokia770_audio_pwr_down_request(struct dsp_kfunc_device *kdev, int stage)
 {
-       down(&audio_pwr_sem);
+       mutex_lock(&audio_pwr_lock);
        switch (stage) {
        case 1:
                if (audio_pwr_state == 0)
@@ -284,7 +284,7 @@ nokia770_audio_pwr_down_request(struct dsp_kfunc_device *kdev, int stage)
                }
                break;
        }
-       up(&audio_pwr_sem);
+       mutex_unlock(&audio_pwr_lock);
        return 0;
 }
 
@@ -331,6 +331,7 @@ static void __init omap_nokia770_init(void)
        omap_board_config_size = ARRAY_SIZE(nokia770_config);
        omap_gpio_init();
        omap_serial_init();
+       omap_register_i2c_bus(1, 100, NULL, 0);
        omap_dsp_init();
        ads7846_dev_init();
        mipid_dev_init();