]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
[PATCH] ARM: OMAP: OSS AUDIO: Use struct platform driver and compilation fix
authorKomal Shah <komal_shah802003@yahoo.com>
Fri, 2 Dec 2005 00:38:30 +0000 (16:38 -0800)
committerTony Lindgren <tony@atomide.com>
Fri, 2 Dec 2005 00:38:30 +0000 (16:38 -0800)
oss/omap-audio: Use struct platform_driver and compilation fix.
Used __SEMAPHORE_INIT(name,count) instead of DECLARE_MUTEX().

Signed-off-by: Komal Shah <komal_shah802003@yahoo.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sound/oss/omap-audio-aic23.c
sound/oss/omap-audio-tsc2101.c
sound/oss/omap-audio.c

index d58c6f5ecfdd2e2328bcfab26c66c998c837b8a5..1be0d768e465ec6f62ad0b0127298a3afb648d89 100644 (file)
@@ -224,7 +224,7 @@ static audio_state_t aic23_state = {
         .hw_remove      =  __exit_p(omap_aic23_remove),
         .hw_suspend     = omap_aic23_suspend,
         .hw_resume      = omap_aic23_resume,
-        .sem            = __MUTEX_INITIALIZER(aic23_state.sem),
+       .sem        = __SEMAPHORE_INIT(aic23_state.sem, 1),
 };
 
 /* This will be defined in the audio.h */
index 320e37737e693c1ddeba395eb2115807de6d9b74..c5fdc6c94e4e5ba467d4372a956ee1c980087927 100644 (file)
@@ -311,7 +311,7 @@ static audio_state_t tsc2101_state = {
        .hw_remove      = omap_tsc2101_remove,
        .hw_suspend     = omap_tsc2101_suspend,
        .hw_resume      = omap_tsc2101_resume,
-       .sem            = __MUTEX_INITIALIZER(tsc2101_state.sem),
+       .sem            = __SEMAPHORE_INIT(tsc2101_state.sem, 1),
 };
 
 /* This will be defined in the Audio.h */
index afcf98d86000417c9d7eaeb91ae9820c3990cf94..523dffd899207a71beaf5e69668ceea8653b66ab 100644 (file)
@@ -44,7 +44,7 @@
 #include <linux/soundcard.h>
 #include <linux/sysrq.h>
 #include <linux/delay.h>
-#include <linux/device.h>
+#include <linux/platform_device.h>
 #include <linux/completion.h>
 
 #include <asm/uaccess.h>
@@ -106,15 +106,15 @@ static int audio_open(struct inode *inode, struct file *file);
 
 static int audio_release(struct inode *inode, struct file *file);
 
-static int audio_probe(struct device *dev);
+static int audio_probe(struct platform_device *pdev);
 
-static int audio_remove(struct device *dev);
+static int audio_remove(struct platform_device *pdev);
 
-static void audio_shutdown(struct device *dev);
+static void audio_shutdown(struct platform_device *pdev);
 
-static int audio_suspend(struct device *dev, pm_message_t mesg, u32 level);
+static int audio_suspend(struct platform_device *pdev, pm_message_t mesg);
 
-static int audio_resume(struct device *dev, u32 level);
+static int audio_resume(struct platform_device *pdev);
 
 static void audio_free(struct device *dev);
 
@@ -142,14 +142,15 @@ static struct file_operations omap_audio_fops = {
 };
 
 /* Driver information */
-static struct device_driver omap_audio_driver = {
-       .name           = OMAP_AUDIO_NAME,
-       .bus            = &platform_bus_type,
+static struct platform_driver omap_audio_driver = {
        .probe          = audio_probe,
        .remove         = audio_remove,
        .suspend        = audio_suspend,
-       .resume         = audio_resume,
        .shutdown       = audio_shutdown,
+       .resume         = audio_resume,
+       .driver         = {
+               .name   = OMAP_AUDIO_NAME,
+       },
 };
 
 /* Device Information */
@@ -283,7 +284,7 @@ static void audio_free(struct device *dev)
  * WARNING!!!!  : It is expected that the codec would have registered with us by now
  *
  *********************************************************************************/
-static int audio_probe(struct device *dev)
+static int audio_probe(struct platform_device *pdev)
 {
        int ret;
        FN_IN;
@@ -301,7 +302,7 @@ static int audio_probe(struct device *dev)
  * audio_remove() Function to handle removal operations
  *
  *********************************************************************************/
-static int audio_remove(struct device *dev)
+static int audio_remove(struct platform_device *pdev)
 {
        FN_IN;
        if (audio_state.hw_remove) {
@@ -316,7 +317,7 @@ static int audio_remove(struct device *dev)
  * audio_shutdown(): Function to handle shutdown operations
  *
  *********************************************************************************/
-static void audio_shutdown(struct device *dev)
+static void audio_shutdown(struct platform_device *pdev)
 {
        FN_IN;
        if (audio_state.hw_cleanup) {
@@ -331,16 +332,13 @@ static void audio_shutdown(struct device *dev)
  * audio_suspend(): Function to handle suspend operations 
  *
  *********************************************************************************/
-static int audio_suspend(struct device *dev, pm_message_t mesg, u32 level)
+static int audio_suspend(struct platform_device *pdev, pm_message_t mesg)
 {
        int ret = 0;
 
 #ifdef CONFIG_PM
-       void *data = dev->driver_data;
+       void *data = pdev->dev.driver_data;
        FN_IN;
-       if (level != SUSPEND_POWER_DOWN) {
-               return 0;
-       }
        if (audio_state.hw_suspend) {
                ret = audio_ldm_suspend(data);
                if (ret == 0)
@@ -362,16 +360,13 @@ static int audio_suspend(struct device *dev, pm_message_t mesg, u32 level)
  * audio_resume(): Function to handle resume operations
  *
  *********************************************************************************/
-static int audio_resume(struct device *dev, u32 level)
+static int audio_resume(struct platform_device *dev)
 {
        int ret = 0;
 
 #ifdef CONFIG_PM
-       void *data = dev->driver_data;
+       void *data = pdev->dev.driver_data;
        FN_IN;
-       if (level != RESUME_POWER_ON) {
-               return 0;
-       }
        if (audio_state.hw_resume) {
                ret = audio_ldm_resume(data);
                if (ret == 0)
@@ -452,7 +447,7 @@ int audio_register_codec(audio_state_t * codec_state)
                goto register_out;
        }
 
-       ret = driver_register(&omap_audio_driver);
+       ret = platform_driver_register(&omap_audio_driver);
        if (ret != 0) {
                printk(KERN_ERR "Device Register failed =%d\n", ret);
                ret = -ENODEV;
@@ -487,7 +482,7 @@ int audio_unregister_codec(audio_state_t * codec_state)
                return -EPERM;
        }
 
-       driver_unregister(&omap_audio_driver);
+       platform_driver_unregister(&omap_audio_driver);
        platform_device_unregister(&omap_audio_device);
 
        memset(&audio_state, 0, sizeof(audio_state_t));