cpufreq: integrator: fix integrator_cpufreq_remove return type
authorArnd Bergmann <arnd@arndb.de>
Fri, 26 Sep 2014 20:19:12 +0000 (22:19 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 29 Sep 2014 13:36:03 +0000 (15:36 +0200)
When building this driver as a module, we get a helpful warning
about the return type:

drivers/cpufreq/integrator-cpufreq.c:232:2: warning: initialization from incompatible pointer type
  .remove = __exit_p(integrator_cpufreq_remove),

If the remove callback returns void, the caller gets an undefined
value as it expects an integer to be returned. This fixes the
problem by passing down the value from cpufreq_unregister_driver.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: All applicable <stable@vger.kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/integrator-cpufreq.c

index c1320528b9d0c0060247b4d025bc35116701996a..6bd69adc3c5e5dda77c1850bd94cf2da630a44f3 100644 (file)
@@ -213,9 +213,9 @@ static int __init integrator_cpufreq_probe(struct platform_device *pdev)
        return cpufreq_register_driver(&integrator_driver);
 }
 
-static void __exit integrator_cpufreq_remove(struct platform_device *pdev)
+static int __exit integrator_cpufreq_remove(struct platform_device *pdev)
 {
-       cpufreq_unregister_driver(&integrator_driver);
+       return cpufreq_unregister_driver(&integrator_driver);
 }
 
 static const struct of_device_id integrator_cpufreq_match[] = {