diff options
author | Krzysztof Helt <krzysztof.h1@wp.pl> | 2008-07-24 00:31:34 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-24 13:47:39 -0400 |
commit | 84c41ce83e9b2987ccef352f28ba0055b26c8f8e (patch) | |
tree | 49afb7973013333e0f31e1c3377371b45793385f /drivers/video/skeletonfb.c | |
parent | a882ef47c7156e8cc47e72f2aa396f2514569c48 (diff) |
skeletonfb: update to correct platform driver usage
It updates skeletonfb to new platform driver API. The skeletonfb is
templates for creating new drivers.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/skeletonfb.c')
-rw-r--r-- | drivers/video/skeletonfb.c | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/drivers/video/skeletonfb.c b/drivers/video/skeletonfb.c index 62321458f71a..df5336561d13 100644 --- a/drivers/video/skeletonfb.c +++ b/drivers/video/skeletonfb.c | |||
@@ -675,13 +675,13 @@ static struct fb_ops xxxfb_ops = { | |||
675 | * Initialization | 675 | * Initialization |
676 | */ | 676 | */ |
677 | 677 | ||
678 | /* static int __init xxfb_probe (struct device *device) -- for platform devs */ | 678 | /* static int __init xxfb_probe (struct platform_device *pdev) -- for platform devs */ |
679 | static int __devinit xxxfb_probe(struct pci_dev *dev, | 679 | static int __devinit xxxfb_probe(struct pci_dev *dev, |
680 | const struct pci_device_id *ent) | 680 | const struct pci_device_id *ent) |
681 | { | 681 | { |
682 | struct fb_info *info; | 682 | struct fb_info *info; |
683 | struct xxx_par *par; | 683 | struct xxx_par *par; |
684 | struct device* device = &dev->dev; /* for pci drivers */ | 684 | struct device *device = &dev->dev; /* or &pdev->dev */ |
685 | int cmap_len, retval; | 685 | int cmap_len, retval; |
686 | 686 | ||
687 | /* | 687 | /* |
@@ -824,18 +824,18 @@ static int __devinit xxxfb_probe(struct pci_dev *dev, | |||
824 | return -EINVAL; | 824 | return -EINVAL; |
825 | printk(KERN_INFO "fb%d: %s frame buffer device\n", info->node, | 825 | printk(KERN_INFO "fb%d: %s frame buffer device\n", info->node, |
826 | info->fix.id); | 826 | info->fix.id); |
827 | pci_set_drvdata(dev, info); /* or dev_set_drvdata(device, info) */ | 827 | pci_set_drvdata(dev, info); /* or platform_set_drvdata(pdev, info) */ |
828 | return 0; | 828 | return 0; |
829 | } | 829 | } |
830 | 830 | ||
831 | /* | 831 | /* |
832 | * Cleanup | 832 | * Cleanup |
833 | */ | 833 | */ |
834 | /* static void __devexit xxxfb_remove(struct device *device) */ | 834 | /* static void __devexit xxxfb_remove(struct platform_device *pdev) */ |
835 | static void __devexit xxxfb_remove(struct pci_dev *dev) | 835 | static void __devexit xxxfb_remove(struct pci_dev *dev) |
836 | { | 836 | { |
837 | struct fb_info *info = pci_get_drvdata(dev); | 837 | struct fb_info *info = pci_get_drvdata(dev); |
838 | /* or dev_get_drvdata(device); */ | 838 | /* or platform_get_drvdata(pdev); */ |
839 | 839 | ||
840 | if (info) { | 840 | if (info) { |
841 | unregister_framebuffer(info); | 841 | unregister_framebuffer(info); |
@@ -961,18 +961,17 @@ static int xxxfb_resume(struct platform_dev *dev) | |||
961 | #define xxxfb_resume NULL | 961 | #define xxxfb_resume NULL |
962 | #endif /* CONFIG_PM */ | 962 | #endif /* CONFIG_PM */ |
963 | 963 | ||
964 | static struct device_driver xxxfb_driver = { | 964 | static struct platform_device_driver xxxfb_driver = { |
965 | .name = "xxxfb", | ||
966 | .bus = &platform_bus_type, | ||
967 | .probe = xxxfb_probe, | 965 | .probe = xxxfb_probe, |
968 | .remove = xxxfb_remove, | 966 | .remove = xxxfb_remove, |
969 | .suspend = xxxfb_suspend, /* optional but recommended */ | 967 | .suspend = xxxfb_suspend, /* optional but recommended */ |
970 | .resume = xxxfb_resume, /* optional but recommended */ | 968 | .resume = xxxfb_resume, /* optional but recommended */ |
969 | .driver = { | ||
970 | .name = "xxxfb", | ||
971 | }, | ||
971 | }; | 972 | }; |
972 | 973 | ||
973 | static struct platform_device xxxfb_device = { | 974 | static struct platform_device *xxxfb_device; |
974 | .name = "xxxfb", | ||
975 | }; | ||
976 | 975 | ||
977 | #ifndef MODULE | 976 | #ifndef MODULE |
978 | /* | 977 | /* |
@@ -1002,12 +1001,16 @@ static int __init xxxfb_init(void) | |||
1002 | return -ENODEV; | 1001 | return -ENODEV; |
1003 | xxxfb_setup(option); | 1002 | xxxfb_setup(option); |
1004 | #endif | 1003 | #endif |
1005 | ret = driver_register(&xxxfb_driver); | 1004 | ret = platform_driver_register(&xxxfb_driver); |
1006 | 1005 | ||
1007 | if (!ret) { | 1006 | if (!ret) { |
1008 | ret = platform_device_register(&xxxfb_device); | 1007 | xxxfb_device = platform_device_register_simple("xxxfb", 0, |
1009 | if (ret) | 1008 | NULL, 0); |
1010 | driver_unregister(&xxxfb_driver); | 1009 | |
1010 | if (IS_ERR(xxxfb_device)) { | ||
1011 | platform_driver_unregister(&xxxfb_driver); | ||
1012 | ret = PTR_ERR(xxxfb_device); | ||
1013 | } | ||
1011 | } | 1014 | } |
1012 | 1015 | ||
1013 | return ret; | 1016 | return ret; |
@@ -1015,8 +1018,8 @@ static int __init xxxfb_init(void) | |||
1015 | 1018 | ||
1016 | static void __exit xxxfb_exit(void) | 1019 | static void __exit xxxfb_exit(void) |
1017 | { | 1020 | { |
1018 | platform_device_unregister(&xxxfb_device); | 1021 | platform_device_unregister(xxxfb_device); |
1019 | driver_unregister(&xxxfb_driver); | 1022 | platform_driver_unregister(&xxxfb_driver); |
1020 | } | 1023 | } |
1021 | #endif /* CONFIG_PCI */ | 1024 | #endif /* CONFIG_PCI */ |
1022 | 1025 | ||