diff options
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/platform.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/drivers/base/platform.c b/drivers/base/platform.c index 349a1013603f..62a8768d96b3 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c | |||
@@ -603,9 +603,8 @@ static int platform_uevent(struct device *dev, struct kobj_uevent_env *env) | |||
603 | */ | 603 | */ |
604 | static int platform_match(struct device *dev, struct device_driver *drv) | 604 | static int platform_match(struct device *dev, struct device_driver *drv) |
605 | { | 605 | { |
606 | struct platform_device *pdev; | 606 | struct platform_device *pdev = to_platform_device(dev); |
607 | 607 | ||
608 | pdev = container_of(dev, struct platform_device, dev); | ||
609 | return (strcmp(pdev->name, drv->name) == 0); | 608 | return (strcmp(pdev->name, drv->name) == 0); |
610 | } | 609 | } |
611 | 610 | ||
@@ -623,26 +622,24 @@ static int platform_legacy_suspend(struct device *dev, pm_message_t mesg) | |||
623 | 622 | ||
624 | static int platform_legacy_suspend_late(struct device *dev, pm_message_t mesg) | 623 | static int platform_legacy_suspend_late(struct device *dev, pm_message_t mesg) |
625 | { | 624 | { |
626 | struct platform_driver *drv = to_platform_driver(dev->driver); | 625 | struct platform_driver *pdrv = to_platform_driver(dev->driver); |
627 | struct platform_device *pdev; | 626 | struct platform_device *pdev = to_platform_device(dev); |
628 | int ret = 0; | 627 | int ret = 0; |
629 | 628 | ||
630 | pdev = container_of(dev, struct platform_device, dev); | 629 | if (dev->driver && pdrv->suspend_late) |
631 | if (dev->driver && drv->suspend_late) | 630 | ret = pdrv->suspend_late(pdev, mesg); |
632 | ret = drv->suspend_late(pdev, mesg); | ||
633 | 631 | ||
634 | return ret; | 632 | return ret; |
635 | } | 633 | } |
636 | 634 | ||
637 | static int platform_legacy_resume_early(struct device *dev) | 635 | static int platform_legacy_resume_early(struct device *dev) |
638 | { | 636 | { |
639 | struct platform_driver *drv = to_platform_driver(dev->driver); | 637 | struct platform_driver *pdrv = to_platform_driver(dev->driver); |
640 | struct platform_device *pdev; | 638 | struct platform_device *pdev = to_platform_device(dev); |
641 | int ret = 0; | 639 | int ret = 0; |
642 | 640 | ||
643 | pdev = container_of(dev, struct platform_device, dev); | 641 | if (dev->driver && pdrv->resume_early) |
644 | if (dev->driver && drv->resume_early) | 642 | ret = pdrv->resume_early(pdev); |
645 | ret = drv->resume_early(pdev); | ||
646 | 643 | ||
647 | return ret; | 644 | return ret; |
648 | } | 645 | } |