diff options
Diffstat (limited to 'drivers/video/s1d13xxxfb.c')
| -rw-r--r-- | drivers/video/s1d13xxxfb.c | 49 |
1 files changed, 24 insertions, 25 deletions
diff --git a/drivers/video/s1d13xxxfb.c b/drivers/video/s1d13xxxfb.c index 3edbd14c5c46..e5d0f92eeae3 100644 --- a/drivers/video/s1d13xxxfb.c +++ b/drivers/video/s1d13xxxfb.c | |||
| @@ -503,10 +503,9 @@ s1d13xxxfb_fetch_hw_state(struct fb_info *info) | |||
| 503 | 503 | ||
| 504 | 504 | ||
| 505 | static int | 505 | static int |
| 506 | s1d13xxxfb_remove(struct device *dev) | 506 | s1d13xxxfb_remove(struct platform_device *pdev) |
| 507 | { | 507 | { |
| 508 | struct fb_info *info = dev_get_drvdata(dev); | 508 | struct fb_info *info = platform_get_drvdata(pdev); |
| 509 | struct platform_device *pdev = to_platform_device(dev); | ||
| 510 | struct s1d13xxxfb_par *par = NULL; | 509 | struct s1d13xxxfb_par *par = NULL; |
| 511 | 510 | ||
| 512 | if (info) { | 511 | if (info) { |
| @@ -534,9 +533,8 @@ s1d13xxxfb_remove(struct device *dev) | |||
| 534 | } | 533 | } |
| 535 | 534 | ||
| 536 | static int __devinit | 535 | static int __devinit |
| 537 | s1d13xxxfb_probe(struct device *dev) | 536 | s1d13xxxfb_probe(struct platform_device *pdev) |
| 538 | { | 537 | { |
| 539 | struct platform_device *pdev = to_platform_device(dev); | ||
| 540 | struct s1d13xxxfb_par *default_par; | 538 | struct s1d13xxxfb_par *default_par; |
| 541 | struct fb_info *info; | 539 | struct fb_info *info; |
| 542 | struct s1d13xxxfb_pdata *pdata = NULL; | 540 | struct s1d13xxxfb_pdata *pdata = NULL; |
| @@ -548,8 +546,8 @@ s1d13xxxfb_probe(struct device *dev) | |||
| 548 | printk(KERN_INFO "Epson S1D13XXX FB Driver\n"); | 546 | printk(KERN_INFO "Epson S1D13XXX FB Driver\n"); |
| 549 | 547 | ||
| 550 | /* enable platform-dependent hardware glue, if any */ | 548 | /* enable platform-dependent hardware glue, if any */ |
| 551 | if (dev->platform_data) | 549 | if (pdev->dev.platform_data) |
| 552 | pdata = dev->platform_data; | 550 | pdata = pdev->dev.platform_data; |
| 553 | 551 | ||
| 554 | if (pdata && pdata->platform_init_video) | 552 | if (pdata && pdata->platform_init_video) |
| 555 | pdata->platform_init_video(); | 553 | pdata->platform_init_video(); |
| @@ -572,14 +570,14 @@ s1d13xxxfb_probe(struct device *dev) | |||
| 572 | 570 | ||
| 573 | if (!request_mem_region(pdev->resource[0].start, | 571 | if (!request_mem_region(pdev->resource[0].start, |
| 574 | pdev->resource[0].end - pdev->resource[0].start +1, "s1d13xxxfb mem")) { | 572 | pdev->resource[0].end - pdev->resource[0].start +1, "s1d13xxxfb mem")) { |
| 575 | dev_dbg(dev, "request_mem_region failed\n"); | 573 | dev_dbg(&pdev->dev, "request_mem_region failed\n"); |
| 576 | ret = -EBUSY; | 574 | ret = -EBUSY; |
| 577 | goto bail; | 575 | goto bail; |
| 578 | } | 576 | } |
| 579 | 577 | ||
| 580 | if (!request_mem_region(pdev->resource[1].start, | 578 | if (!request_mem_region(pdev->resource[1].start, |
| 581 | pdev->resource[1].end - pdev->resource[1].start +1, "s1d13xxxfb regs")) { | 579 | pdev->resource[1].end - pdev->resource[1].start +1, "s1d13xxxfb regs")) { |
| 582 | dev_dbg(dev, "request_mem_region failed\n"); | 580 | dev_dbg(&pdev->dev, "request_mem_region failed\n"); |
| 583 | ret = -EBUSY; | 581 | ret = -EBUSY; |
| 584 | goto bail; | 582 | goto bail; |
| 585 | } | 583 | } |
| @@ -640,7 +638,7 @@ s1d13xxxfb_probe(struct device *dev) | |||
| 640 | goto bail; | 638 | goto bail; |
| 641 | } | 639 | } |
| 642 | 640 | ||
| 643 | dev_set_drvdata(&pdev->dev, info); | 641 | platform_set_drvdata(pdev, info); |
| 644 | 642 | ||
| 645 | printk(KERN_INFO "fb%d: %s frame buffer device\n", | 643 | printk(KERN_INFO "fb%d: %s frame buffer device\n", |
| 646 | info->node, info->fix.id); | 644 | info->node, info->fix.id); |
| @@ -648,15 +646,15 @@ s1d13xxxfb_probe(struct device *dev) | |||
| 648 | return 0; | 646 | return 0; |
| 649 | 647 | ||
| 650 | bail: | 648 | bail: |
| 651 | s1d13xxxfb_remove(dev); | 649 | s1d13xxxfb_remove(pdev); |
| 652 | return ret; | 650 | return ret; |
| 653 | 651 | ||
| 654 | } | 652 | } |
| 655 | 653 | ||
| 656 | #ifdef CONFIG_PM | 654 | #ifdef CONFIG_PM |
| 657 | static int s1d13xxxfb_suspend(struct device *dev, pm_message_t state) | 655 | static int s1d13xxxfb_suspend(struct platform_device *dev, pm_message_t state) |
| 658 | { | 656 | { |
| 659 | struct fb_info *info = dev_get_drvdata(dev); | 657 | struct fb_info *info = platform_get_drvdata(dev); |
| 660 | struct s1d13xxxfb_par *s1dfb = info->par; | 658 | struct s1d13xxxfb_par *s1dfb = info->par; |
| 661 | struct s1d13xxxfb_pdata *pdata = NULL; | 659 | struct s1d13xxxfb_pdata *pdata = NULL; |
| 662 | 660 | ||
| @@ -664,8 +662,8 @@ static int s1d13xxxfb_suspend(struct device *dev, pm_message_t state) | |||
| 664 | lcd_enable(s1dfb, 0); | 662 | lcd_enable(s1dfb, 0); |
| 665 | crt_enable(s1dfb, 0); | 663 | crt_enable(s1dfb, 0); |
| 666 | 664 | ||
| 667 | if (dev->platform_data) | 665 | if (dev->dev.platform_data) |
| 668 | pdata = dev->platform_data; | 666 | pdata = dev->dev.platform_data; |
| 669 | 667 | ||
| 670 | #if 0 | 668 | #if 0 |
| 671 | if (!s1dfb->disp_save) | 669 | if (!s1dfb->disp_save) |
| @@ -701,9 +699,9 @@ static int s1d13xxxfb_suspend(struct device *dev, pm_message_t state) | |||
| 701 | return 0; | 699 | return 0; |
| 702 | } | 700 | } |
| 703 | 701 | ||
| 704 | static int s1d13xxxfb_resume(struct device *dev) | 702 | static int s1d13xxxfb_resume(struct platform_device *dev) |
| 705 | { | 703 | { |
| 706 | struct fb_info *info = dev_get_drvdata(dev); | 704 | struct fb_info *info = platform_get_drvdata(dev); |
| 707 | struct s1d13xxxfb_par *s1dfb = info->par; | 705 | struct s1d13xxxfb_par *s1dfb = info->par; |
| 708 | struct s1d13xxxfb_pdata *pdata = NULL; | 706 | struct s1d13xxxfb_pdata *pdata = NULL; |
| 709 | 707 | ||
| @@ -714,8 +712,8 @@ static int s1d13xxxfb_resume(struct device *dev) | |||
| 714 | while ((s1d13xxxfb_readreg(s1dfb, S1DREG_PS_STATUS) & 0x01)) | 712 | while ((s1d13xxxfb_readreg(s1dfb, S1DREG_PS_STATUS) & 0x01)) |
| 715 | udelay(10); | 713 | udelay(10); |
| 716 | 714 | ||
| 717 | if (dev->platform_data) | 715 | if (dev->dev.platform_data) |
| 718 | pdata = dev->platform_data; | 716 | pdata = dev->dev.platform_data; |
| 719 | 717 | ||
| 720 | if (s1dfb->regs_save) { | 718 | if (s1dfb->regs_save) { |
| 721 | /* will write RO regs, *should* get away with it :) */ | 719 | /* will write RO regs, *should* get away with it :) */ |
| @@ -741,15 +739,16 @@ static int s1d13xxxfb_resume(struct device *dev) | |||
| 741 | } | 739 | } |
| 742 | #endif /* CONFIG_PM */ | 740 | #endif /* CONFIG_PM */ |
| 743 | 741 | ||
| 744 | static struct device_driver s1d13xxxfb_driver = { | 742 | static struct platform_driver s1d13xxxfb_driver = { |
| 745 | .name = S1D_DEVICENAME, | ||
| 746 | .bus = &platform_bus_type, | ||
| 747 | .probe = s1d13xxxfb_probe, | 743 | .probe = s1d13xxxfb_probe, |
| 748 | .remove = s1d13xxxfb_remove, | 744 | .remove = s1d13xxxfb_remove, |
| 749 | #ifdef CONFIG_PM | 745 | #ifdef CONFIG_PM |
| 750 | .suspend = s1d13xxxfb_suspend, | 746 | .suspend = s1d13xxxfb_suspend, |
| 751 | .resume = s1d13xxxfb_resume | 747 | .resume = s1d13xxxfb_resume, |
| 752 | #endif | 748 | #endif |
| 749 | .driver = { | ||
| 750 | .name = S1D_DEVICENAME, | ||
| 751 | }, | ||
| 753 | }; | 752 | }; |
| 754 | 753 | ||
| 755 | 754 | ||
| @@ -759,14 +758,14 @@ s1d13xxxfb_init(void) | |||
| 759 | if (fb_get_options("s1d13xxxfb", NULL)) | 758 | if (fb_get_options("s1d13xxxfb", NULL)) |
| 760 | return -ENODEV; | 759 | return -ENODEV; |
| 761 | 760 | ||
| 762 | return driver_register(&s1d13xxxfb_driver); | 761 | return platform_driver_register(&s1d13xxxfb_driver); |
| 763 | } | 762 | } |
| 764 | 763 | ||
| 765 | 764 | ||
| 766 | static void __exit | 765 | static void __exit |
| 767 | s1d13xxxfb_exit(void) | 766 | s1d13xxxfb_exit(void) |
| 768 | { | 767 | { |
| 769 | driver_unregister(&s1d13xxxfb_driver); | 768 | platform_driver_unregister(&s1d13xxxfb_driver); |
| 770 | } | 769 | } |
| 771 | 770 | ||
| 772 | module_init(s1d13xxxfb_init); | 771 | module_init(s1d13xxxfb_init); |
