Skip to content

Commit 8004ca9

Browse files
larsclausenmpe
authored andcommitted
powerpc/pseries/ibmebus: Remove legacy suspend/resume support
There are no ibmebus driver that make use of legacy suspend/resume. This patch removes the support for it from ibmebus framework, new ibmebus driver (as unlikely as they are) wanting to use suspend/resume should use dev_pm_ops. Since there aren't any special bus specific things to do during suspend/resume and since the PM core will automatically fallback directly to using the device's PM ops if no bus PM ops are specified there is no need to have any special ibmebus PM ops at all. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
1 parent 6cc89ba commit 8004ca9

File tree

1 file changed

+0
-298
lines changed

1 file changed

+0
-298
lines changed

arch/powerpc/platforms/pseries/ibmebus.c

Lines changed: 0 additions & 298 deletions
Original file line numberDiff line numberDiff line change
@@ -423,303 +423,6 @@ static struct device_attribute ibmebus_bus_device_attrs[] = {
423423
__ATTR_NULL
424424
};
425425

426-
#ifdef CONFIG_PM_SLEEP
427-
static int ibmebus_bus_legacy_suspend(struct device *dev, pm_message_t mesg)
428-
{
429-
struct platform_device *of_dev = to_platform_device(dev);
430-
struct platform_driver *drv = to_platform_driver(dev->driver);
431-
int ret = 0;
432-
433-
if (dev->driver && drv->suspend)
434-
ret = drv->suspend(of_dev, mesg);
435-
return ret;
436-
}
437-
438-
static int ibmebus_bus_legacy_resume(struct device *dev)
439-
{
440-
struct platform_device *of_dev = to_platform_device(dev);
441-
struct platform_driver *drv = to_platform_driver(dev->driver);
442-
int ret = 0;
443-
444-
if (dev->driver && drv->resume)
445-
ret = drv->resume(of_dev);
446-
return ret;
447-
}
448-
449-
static int ibmebus_bus_pm_prepare(struct device *dev)
450-
{
451-
struct device_driver *drv = dev->driver;
452-
int ret = 0;
453-
454-
if (drv && drv->pm && drv->pm->prepare)
455-
ret = drv->pm->prepare(dev);
456-
457-
return ret;
458-
}
459-
460-
static void ibmebus_bus_pm_complete(struct device *dev)
461-
{
462-
struct device_driver *drv = dev->driver;
463-
464-
if (drv && drv->pm && drv->pm->complete)
465-
drv->pm->complete(dev);
466-
}
467-
468-
#ifdef CONFIG_SUSPEND
469-
470-
static int ibmebus_bus_pm_suspend(struct device *dev)
471-
{
472-
struct device_driver *drv = dev->driver;
473-
int ret = 0;
474-
475-
if (!drv)
476-
return 0;
477-
478-
if (drv->pm) {
479-
if (drv->pm->suspend)
480-
ret = drv->pm->suspend(dev);
481-
} else {
482-
ret = ibmebus_bus_legacy_suspend(dev, PMSG_SUSPEND);
483-
}
484-
485-
return ret;
486-
}
487-
488-
static int ibmebus_bus_pm_suspend_noirq(struct device *dev)
489-
{
490-
struct device_driver *drv = dev->driver;
491-
int ret = 0;
492-
493-
if (!drv)
494-
return 0;
495-
496-
if (drv->pm) {
497-
if (drv->pm->suspend_noirq)
498-
ret = drv->pm->suspend_noirq(dev);
499-
}
500-
501-
return ret;
502-
}
503-
504-
static int ibmebus_bus_pm_resume(struct device *dev)
505-
{
506-
struct device_driver *drv = dev->driver;
507-
int ret = 0;
508-
509-
if (!drv)
510-
return 0;
511-
512-
if (drv->pm) {
513-
if (drv->pm->resume)
514-
ret = drv->pm->resume(dev);
515-
} else {
516-
ret = ibmebus_bus_legacy_resume(dev);
517-
}
518-
519-
return ret;
520-
}
521-
522-
static int ibmebus_bus_pm_resume_noirq(struct device *dev)
523-
{
524-
struct device_driver *drv = dev->driver;
525-
int ret = 0;
526-
527-
if (!drv)
528-
return 0;
529-
530-
if (drv->pm) {
531-
if (drv->pm->resume_noirq)
532-
ret = drv->pm->resume_noirq(dev);
533-
}
534-
535-
return ret;
536-
}
537-
538-
#else /* !CONFIG_SUSPEND */
539-
540-
#define ibmebus_bus_pm_suspend NULL
541-
#define ibmebus_bus_pm_resume NULL
542-
#define ibmebus_bus_pm_suspend_noirq NULL
543-
#define ibmebus_bus_pm_resume_noirq NULL
544-
545-
#endif /* !CONFIG_SUSPEND */
546-
547-
#ifdef CONFIG_HIBERNATE_CALLBACKS
548-
549-
static int ibmebus_bus_pm_freeze(struct device *dev)
550-
{
551-
struct device_driver *drv = dev->driver;
552-
int ret = 0;
553-
554-
if (!drv)
555-
return 0;
556-
557-
if (drv->pm) {
558-
if (drv->pm->freeze)
559-
ret = drv->pm->freeze(dev);
560-
} else {
561-
ret = ibmebus_bus_legacy_suspend(dev, PMSG_FREEZE);
562-
}
563-
564-
return ret;
565-
}
566-
567-
static int ibmebus_bus_pm_freeze_noirq(struct device *dev)
568-
{
569-
struct device_driver *drv = dev->driver;
570-
int ret = 0;
571-
572-
if (!drv)
573-
return 0;
574-
575-
if (drv->pm) {
576-
if (drv->pm->freeze_noirq)
577-
ret = drv->pm->freeze_noirq(dev);
578-
}
579-
580-
return ret;
581-
}
582-
583-
static int ibmebus_bus_pm_thaw(struct device *dev)
584-
{
585-
struct device_driver *drv = dev->driver;
586-
int ret = 0;
587-
588-
if (!drv)
589-
return 0;
590-
591-
if (drv->pm) {
592-
if (drv->pm->thaw)
593-
ret = drv->pm->thaw(dev);
594-
} else {
595-
ret = ibmebus_bus_legacy_resume(dev);
596-
}
597-
598-
return ret;
599-
}
600-
601-
static int ibmebus_bus_pm_thaw_noirq(struct device *dev)
602-
{
603-
struct device_driver *drv = dev->driver;
604-
int ret = 0;
605-
606-
if (!drv)
607-
return 0;
608-
609-
if (drv->pm) {
610-
if (drv->pm->thaw_noirq)
611-
ret = drv->pm->thaw_noirq(dev);
612-
}
613-
614-
return ret;
615-
}
616-
617-
static int ibmebus_bus_pm_poweroff(struct device *dev)
618-
{
619-
struct device_driver *drv = dev->driver;
620-
int ret = 0;
621-
622-
if (!drv)
623-
return 0;
624-
625-
if (drv->pm) {
626-
if (drv->pm->poweroff)
627-
ret = drv->pm->poweroff(dev);
628-
} else {
629-
ret = ibmebus_bus_legacy_suspend(dev, PMSG_HIBERNATE);
630-
}
631-
632-
return ret;
633-
}
634-
635-
static int ibmebus_bus_pm_poweroff_noirq(struct device *dev)
636-
{
637-
struct device_driver *drv = dev->driver;
638-
int ret = 0;
639-
640-
if (!drv)
641-
return 0;
642-
643-
if (drv->pm) {
644-
if (drv->pm->poweroff_noirq)
645-
ret = drv->pm->poweroff_noirq(dev);
646-
}
647-
648-
return ret;
649-
}
650-
651-
static int ibmebus_bus_pm_restore(struct device *dev)
652-
{
653-
struct device_driver *drv = dev->driver;
654-
int ret = 0;
655-
656-
if (!drv)
657-
return 0;
658-
659-
if (drv->pm) {
660-
if (drv->pm->restore)
661-
ret = drv->pm->restore(dev);
662-
} else {
663-
ret = ibmebus_bus_legacy_resume(dev);
664-
}
665-
666-
return ret;
667-
}
668-
669-
static int ibmebus_bus_pm_restore_noirq(struct device *dev)
670-
{
671-
struct device_driver *drv = dev->driver;
672-
int ret = 0;
673-
674-
if (!drv)
675-
return 0;
676-
677-
if (drv->pm) {
678-
if (drv->pm->restore_noirq)
679-
ret = drv->pm->restore_noirq(dev);
680-
}
681-
682-
return ret;
683-
}
684-
685-
#else /* !CONFIG_HIBERNATE_CALLBACKS */
686-
687-
#define ibmebus_bus_pm_freeze NULL
688-
#define ibmebus_bus_pm_thaw NULL
689-
#define ibmebus_bus_pm_poweroff NULL
690-
#define ibmebus_bus_pm_restore NULL
691-
#define ibmebus_bus_pm_freeze_noirq NULL
692-
#define ibmebus_bus_pm_thaw_noirq NULL
693-
#define ibmebus_bus_pm_poweroff_noirq NULL
694-
#define ibmebus_bus_pm_restore_noirq NULL
695-
696-
#endif /* !CONFIG_HIBERNATE_CALLBACKS */
697-
698-
static struct dev_pm_ops ibmebus_bus_dev_pm_ops = {
699-
.prepare = ibmebus_bus_pm_prepare,
700-
.complete = ibmebus_bus_pm_complete,
701-
.suspend = ibmebus_bus_pm_suspend,
702-
.resume = ibmebus_bus_pm_resume,
703-
.freeze = ibmebus_bus_pm_freeze,
704-
.thaw = ibmebus_bus_pm_thaw,
705-
.poweroff = ibmebus_bus_pm_poweroff,
706-
.restore = ibmebus_bus_pm_restore,
707-
.suspend_noirq = ibmebus_bus_pm_suspend_noirq,
708-
.resume_noirq = ibmebus_bus_pm_resume_noirq,
709-
.freeze_noirq = ibmebus_bus_pm_freeze_noirq,
710-
.thaw_noirq = ibmebus_bus_pm_thaw_noirq,
711-
.poweroff_noirq = ibmebus_bus_pm_poweroff_noirq,
712-
.restore_noirq = ibmebus_bus_pm_restore_noirq,
713-
};
714-
715-
#define IBMEBUS_BUS_PM_OPS_PTR (&ibmebus_bus_dev_pm_ops)
716-
717-
#else /* !CONFIG_PM_SLEEP */
718-
719-
#define IBMEBUS_BUS_PM_OPS_PTR NULL
720-
721-
#endif /* !CONFIG_PM_SLEEP */
722-
723426
struct bus_type ibmebus_bus_type = {
724427
.name = "ibmebus",
725428
.uevent = of_device_uevent_modalias,
@@ -729,7 +432,6 @@ struct bus_type ibmebus_bus_type = {
729432
.remove = ibmebus_bus_device_remove,
730433
.shutdown = ibmebus_bus_device_shutdown,
731434
.dev_attrs = ibmebus_bus_device_attrs,
732-
.pm = IBMEBUS_BUS_PM_OPS_PTR,
733435
};
734436
EXPORT_SYMBOL(ibmebus_bus_type);
735437

0 commit comments

Comments
 (0)