[POWERPC] XilinxFB: cleanup platform_bus binding to use platform bus API.
authorGrant Likely <grant.likely@secretlab.ca>
Thu, 4 Oct 2007 16:48:37 +0000 (10:48 -0600)
committerGrant Likely <grant.likely@secretlab.ca>
Wed, 10 Oct 2007 00:11:50 +0000 (18:11 -0600)
Change the platform bus binding to make use of the established
platform_bus API.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Andrei Konovalov <akonovalov@ru.mvista.com>
drivers/video/xilinxfb.c

index 12d91279996d98755d53793a60cd67bee95a587e..e482bb5196351194a304c0a1fd22402af16894e2 100644 (file)
@@ -339,26 +339,24 @@ static int xilinxfb_release(struct device *dev)
  */
 
 static int
-xilinxfb_drv_probe(struct device *dev)
+xilinxfb_platform_probe(struct platform_device *pdev)
 {
-       struct platform_device *pdev;
        struct xilinxfb_platform_data *pdata;
        struct resource *res;
        int width_mm;
        int height_mm;
        int rotate;
 
-       pdev = to_platform_device(dev);
        pdata = pdev->dev.platform_data;
        if (!pdata) {
-               dev_err(dev, "Missing pdata structure\n");
+               dev_err(&pdev->dev, "Missing pdata structure\n");
                return -ENODEV;
        }
 
        /* Find the registers address */
        res = platform_get_resource(pdev, IORESOURCE_IO, 0);
        if (!res) {
-               dev_err(dev, "Couldn't get registers resource\n");
+               dev_err(&pdev->dev, "Couldn't get registers resource\n");
                return -ENODEV;
        }
 
@@ -366,22 +364,24 @@ xilinxfb_drv_probe(struct device *dev)
        width_mm = pdata->screen_width_mm;
        rotate = pdata->rotate_screen ? 1 : 0;
 
-       return xilinxfb_assign(dev, res->start, width_mm, height_mm, rotate);
+       return xilinxfb_assign(&pdev->dev, res->start, width_mm, height_mm,
+                              rotate);
 }
 
 static int
-xilinxfb_drv_remove(struct device *dev)
+xilinxfb_platform_remove(struct platform_device *pdev)
 {
-       return xilinxfb_release(dev);
+       return xilinxfb_release(&pdev->dev);
 }
 
 
-static struct device_driver xilinxfb_driver = {
-       .name           = DRIVER_NAME,
-       .bus            = &platform_bus_type,
-
-       .probe          = xilinxfb_drv_probe,
-       .remove         = xilinxfb_drv_remove
+static struct platform_driver xilinxfb_platform_driver = {
+       .probe          = xilinxfb_platform_probe,
+       .remove         = xilinxfb_platform_remove,
+       .driver = {
+               .owner = THIS_MODULE,
+               .name = DRIVER_NAME,
+       },
 };
 
 static int __init
@@ -391,13 +391,13 @@ xilinxfb_init(void)
         * No kernel boot options used,
         * so we just need to register the driver
         */
-       return driver_register(&xilinxfb_driver);
+       return platform_driver_register(&xilinxfb_platform_driver);
 }
 
 static void __exit
 xilinxfb_cleanup(void)
 {
-       driver_unregister(&xilinxfb_driver);
+       platform_driver_unregister(&xilinxfb_platform_driver);
 }
 
 module_init(xilinxfb_init);