*/
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;
}
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
* 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);