[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-omap
Subject:    [PATCH 5/5] dsp_core.c: Use struct platform_driver
From:       komal_shah802003 () yahoo ! com (Komal Shah)
Date:       2005-11-28 10:56:32
Message-ID: 20051128165624.57987.qmail () web32908 ! mail ! mud ! yahoo ! com
[Download RAW message or body]

Tony/Toshihiro-san,

Attached patch updates driver model and adjustment of #ifdef CONFIG_PM.

---Komal Shah
http://komalshah.blogspot.com/


	
		
__________________________________ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com
-------------- next part --------------
Subject: [PATCH 5/5] dsp_core.c: Use struct platform_driver
Signed-off-by: Komal Shah <komal_shah802003@yahoo.com>

---

 arch/arm/plat-omap/dsp/dsp_core.c |   40 +++++++++++++++++++------------------
 1 files changed, 21 insertions(+), 19 deletions(-)

applies-to: 76a87a72f8766eb762aefcd68303dd8d6b91d6fc
a0aede602b9c14ba4eb3d63d879bd0eb72442176
diff --git a/arch/arm/plat-omap/dsp/dsp_core.c b/arch/arm/plat-omap/dsp/dsp_core.c
index d5d8c22..f7aa2b8 100644
--- a/arch/arm/plat-omap/dsp/dsp_core.c
+++ b/arch/arm/plat-omap/dsp/dsp_core.c
@@ -588,7 +588,7 @@ static void dsp_dev_release(struct devic
 #	define INT_D2A_MB2 INT_DSP_MAILBOX1
 #endif
 
-static int __init dsp_drv_probe(struct device *dev)
+static int __init dsp_drv_probe(struct platform_device *pdev)
 {
 	int ret;
 
@@ -611,7 +611,7 @@ static int __init dsp_drv_probe(struct d
 	 * mailbox interrupt handlers registration
 	 */
 	ret = request_irq(INT_D2A_MB1, mbx1_interrupt, SA_INTERRUPT, "dsp",
-			  dev);
+			  &pdev->dev);
 	if (ret) {
 		printk(KERN_ERR
 		       "failed to register mailbox1 interrupt: %d\n", ret);
@@ -619,7 +619,7 @@ static int __init dsp_drv_probe(struct d
 	}
 
 	ret = request_irq(INT_D2A_MB2, mbx2_interrupt, SA_INTERRUPT, "dsp",
-			  dev);
+			  &pdev->dev);
 	if (ret) {
 		printk(KERN_ERR
 		       "failed to register mailbox2 interrupt: %d\n", ret);
@@ -627,7 +627,7 @@ static int __init dsp_drv_probe(struct d
 	}
 
 	ret = request_irq(INT_DSP_MMU, dsp_mmu_interrupt, SA_INTERRUPT, "dsp",
-			  dev);
+			  &pdev->dev);
 	if (ret) {
 		printk(KERN_ERR
 		       "failed to register DSP MMU interrupt: %d\n", ret);
@@ -649,9 +649,9 @@ static int __init dsp_drv_probe(struct d
 	return 0;
 
 fail6:
-	free_irq(INT_D2A_MB2, dev);
+	free_irq(INT_D2A_MB2, &pdev->dev);
 fail5:
-	free_irq(INT_D2A_MB1, dev);
+	free_irq(INT_D2A_MB1, &pdev->dev);
 fail4:
 	dsp_taskmod_exit();
 fail3:
@@ -667,16 +667,16 @@ fail1:
 	return ret;
 }
 
-static int dsp_drv_remove(struct device *dev)
+static int dsp_drv_remove(struct platform_device *pdev)
 {
 	dsp_cpustat_request(CPUSTAT_RESET);
 
 #if 0
 	free_irq(INT_MPUIO, dev);
 #endif
-	free_irq(INT_DSP_MMU, dev);
-	free_irq(INT_D2A_MB2, dev);
-	free_irq(INT_D2A_MB1, dev);
+	free_irq(INT_DSP_MMU, &pdev->dev);
+	free_irq(INT_D2A_MB2, &pdev->dev);
+	free_irq(INT_D2A_MB1, &pdev->dev);
 
 	/* recover disable_depth */
 	enable_irq(INT_DSP_MMU);
@@ -696,19 +696,22 @@ static int dsp_drv_remove(struct device 
 }
 
 #ifdef CONFIG_PM
-static int dsp_drv_suspend(struct device *dev, pm_message_t state)
+static int dsp_drv_suspend(struct platform_device *pdev, pm_message_t state)
 {
 	dsp_suspend();
 
 	return 0;
 }
 
-static int dsp_drv_resume(struct device *dev)
+static int dsp_drv_resume(struct platform_device *pdev)
 {
 	dsp_resume();
 
 	return 0;
 }
+#else
+#define dsp_drv_suspend		NULL
+#define dsp_drv_resume		NULL
 #endif /* CONFIG_PM */
 
 static struct resource dsp_resources[] = {
@@ -736,15 +739,14 @@ struct platform_device dsp_device = {
 	.resource	= dsp_resources,
 };
 
-static struct device_driver dsp_driver = {
-	.name		= "dsp",
-	.bus		= &platform_bus_type,
+static struct platform_driver dsp_driver = {
 	.probe		= dsp_drv_probe,
 	.remove		= dsp_drv_remove,
-#ifdef CONFIG_PM
 	.suspend	= dsp_drv_suspend,
 	.resume		= dsp_drv_resume,
-#endif
+	.driver		= {
+		.name	= "dsp",
+	},
 };
 
 static int __init omap_dsp_mod_init(void)
@@ -757,7 +759,7 @@ static int __init omap_dsp_mod_init(void
 		goto fail1;
 	}
 
-	ret = driver_register(&dsp_driver);
+	ret = platform_driver_register(&dsp_driver);
 	if (ret) {
 		printk(KERN_ERR "failed to register the DSP driver: %d\n", ret);
 		goto fail2;
@@ -773,7 +775,7 @@ fail1:
 
 static void __exit omap_dsp_mod_exit(void)
 {
-	driver_unregister(&dsp_driver);
+	platform_driver_unregister(&dsp_driver);
 	platform_device_unregister(&dsp_device);
 }
 
---
0.99.9.GIT

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic