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

List:       linux-omap
Subject:    Patch: Fix N770 brf6150 bluetooth driver
From:       Andrew de Quincey <adq_dvb () lidskialf ! net>
Date:       2009-05-23 17:42:08
Message-ID: 20090523184208.14202m390hgqxv28 () lidskialf ! net
[Download RAW message or body]

This message is in MIME format.


This driver has the same problem as the cbus drivers - mismatch  
between platform_device and non-platform driver APIs.

Switching it to use platform_driver removes the random corruption and  
badness I was seeing on boot.


["fix-brf6150.patch" (text/x-patch)]

commit e6dce93304c6c692e187b95eaea227cfe3cb3317
Author: Andrew de Quincey <adq@lidskialf.net>
Date:   Sat May 23 18:37:25 2009 +0100

    Fix brf6150.c platform_device breakage
    
    This driver has the mismatch between platform_devices and non-platform drivers.
    Switch it to use platform_driver as well.
    
    Signed-off-by: Andrew de Quincey <adq@lidskialf.net>

diff --git a/drivers/bluetooth/brf6150.c b/drivers/bluetooth/brf6150.c
index 211fa5e..f29caf5 100644
--- a/drivers/bluetooth/brf6150.c
+++ b/drivers/bluetooth/brf6150.c
@@ -90,9 +90,10 @@ static struct platform_device brf6150_device = {
 	}
 };
 
-static struct device_driver brf6150_driver = {
-	.name		= BT_DRIVER,
-	.bus		= &platform_bus_type,
+static struct platform_driver brf6150_driver = {
+	.driver = {
+		.name		= BT_DRIVER,
+	}
 };
 
 static inline void brf6150_outb(struct brf6150_info *info, unsigned int offset, u8 val)
@@ -1002,7 +1003,7 @@ static int __init brf6150_init(void)
 		goto cleanup_irq;
 	}
 	/* Register the driver with LDM */
-	if (driver_register(&brf6150_driver)) {
+	if (platform_driver_register(&brf6150_driver)) {
 		printk(KERN_WARNING "failed to register brf6150 driver\n");
 		platform_device_unregister(&brf6150_device);
 		err = -ENODEV;
@@ -1012,7 +1013,7 @@ static int __init brf6150_init(void)
 	if (brf6150_register_hdev(info) < 0) {
 		printk(KERN_WARNING "failed to register brf6150 hci device\n");
 		platform_device_unregister(&brf6150_device);
-		driver_unregister(&brf6150_driver);
+		platform_driver_unregister(&brf6150_driver);
 		goto cleanup_irq;
 	}
 
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

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