rtc: s3c: initialize driver data before using it
[safe/jmp/linux-2.6] / drivers / video / hitfb.c
index 3ae896d..cfb8d64 100644 (file)
@@ -16,7 +16,6 @@
 #include <linux/errno.h>
 #include <linux/string.h>
 #include <linux/mm.h>
-#include <linux/slab.h>
 #include <linux/delay.h>
 #include <linux/init.h>
 #include <linux/platform_device.h>
 
 #define        WIDTH 640
 
-static struct fb_var_screeninfo hitfb_var __initdata = {
+static struct fb_var_screeninfo hitfb_var __devinitdata = {
        .activate       = FB_ACTIVATE_NOW,
        .height         = -1,
        .width          = -1,
        .vmode          = FB_VMODE_NONINTERLACED,
 };
 
-static struct fb_fix_screeninfo hitfb_fix __initdata = {
+static struct fb_fix_screeninfo hitfb_fix __devinitdata = {
        .id             = "Hitachi HD64461",
        .type           = FB_TYPE_PACKED_PIXELS,
        .accel          = FB_ACCEL_NONE,
@@ -325,7 +324,7 @@ static struct fb_ops hitfb_ops = {
        .fb_imageblit   = cfb_imageblit,
 };
 
-static int __init hitfb_probe(struct platform_device *dev)
+static int __devinit hitfb_probe(struct platform_device *dev)
 {
        unsigned short lcdclor, ldr3, ldvndr;
        struct fb_info *info;
@@ -418,7 +417,7 @@ err_fb:
        return ret;
 }
 
-static int __exit hitfb_remove(struct platform_device *dev)
+static int __devexit hitfb_remove(struct platform_device *dev)
 {
        struct fb_info *info = platform_get_drvdata(dev);
 
@@ -429,8 +428,7 @@ static int __exit hitfb_remove(struct platform_device *dev)
        return 0;
 }
 
-#ifdef CONFIG_PM
-static int hitfb_suspend(struct platform_device *dev, pm_message_t state)
+static int hitfb_suspend(struct device *dev)
 {
        u16 v;
 
@@ -442,7 +440,7 @@ static int hitfb_suspend(struct platform_device *dev, pm_message_t state)
        return 0;
 }
 
-static int hitfb_resume(struct platform_device *dev)
+static int hitfb_resume(struct device *dev)
 {
        u16 v;
 
@@ -456,17 +454,19 @@ static int hitfb_resume(struct platform_device *dev)
 
        return 0;
 }
-#endif
 
-static struct platform_driver hitfb_driver = {
-       .probe          = hitfb_probe,
-       .remove         = __exit_p(hitfb_remove),
-#ifdef CONFIG_PM
+static const struct dev_pm_ops hitfb_dev_pm_ops = {
        .suspend        = hitfb_suspend,
        .resume         = hitfb_resume,
-#endif
+};
+
+static struct platform_driver hitfb_driver = {
+       .probe          = hitfb_probe,
+       .remove         = __devexit_p(hitfb_remove),
        .driver         = {
                .name   = "hitfb",
+               .owner  = THIS_MODULE,
+               .pm     = &hitfb_dev_pm_ops,
        },
 };