dcdbas: remove a redundant smi_data_buf_free in dcdbas_exit
[pandora-kernel.git] / drivers / firmware / dcdbas.c
index fb09bb3..69ad529 100644 (file)
@@ -149,7 +149,7 @@ static ssize_t smi_data_buf_size_store(struct device *dev,
        return count;
 }
 
-static ssize_t smi_data_read(struct kobject *kobj,
+static ssize_t smi_data_read(struct file *filp, struct kobject *kobj,
                             struct bin_attribute *bin_attr,
                             char *buf, loff_t pos, size_t count)
 {
@@ -162,7 +162,7 @@ static ssize_t smi_data_read(struct kobject *kobj,
        return ret;
 }
 
-static ssize_t smi_data_write(struct kobject *kobj,
+static ssize_t smi_data_write(struct file *filp, struct kobject *kobj,
                              struct bin_attribute *bin_attr,
                              char *buf, loff_t pos, size_t count)
 {
@@ -634,9 +634,6 @@ static void __exit dcdbas_exit(void)
         * before platform_device_unregister
         */
        unregister_reboot_notifier(&dcdbas_reboot_nb);
-       smi_data_buf_free();
-       platform_device_unregister(dcdbas_pdev);
-       platform_driver_unregister(&dcdbas_driver);
 
        /*
         * We have to free the buffer here instead of dcdbas_remove
@@ -645,6 +642,8 @@ static void __exit dcdbas_exit(void)
         * released.
         */
        smi_data_buf_free();
+       platform_device_unregister(dcdbas_pdev);
+       platform_driver_unregister(&dcdbas_driver);
 }
 
 module_init(dcdbas_init);