Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1dfcda06 authored by Tejun Heo's avatar Tejun Heo Committed by James Bottomley
Browse files

[SCSI] kill scsi host template suspend/resume



With libata converted to use sdev->manage_start_stop for suspend and
resume, sht->suspend/resume() has no user left and low level
suspend/ressume should be taken care of by low level driver's
suspend/resume callbacks (e.g. PCI or PCMCIA driver callbacks).  This
patch removes sht->suspend/resume() callbacks.

This change is suggested by Christoph Hellwig.

Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 67b2009a
Loading
Loading
Loading
Loading
+3 −22
Original line number Diff line number Diff line
@@ -293,30 +293,18 @@ static int scsi_bus_suspend(struct device * dev, pm_message_t state)
{
	struct device_driver *drv = dev->driver;
	struct scsi_device *sdev = to_scsi_device(dev);
	struct scsi_host_template *sht = sdev->host->hostt;
	int err;

	err = scsi_device_quiesce(sdev);
	if (err)
		return err;

	/* call HLD suspend first */
	if (drv && drv->suspend) {
		err = drv->suspend(dev, state);
		if (err)
			return err;
	}

	/* then, call host suspend */
	if (sht->suspend) {
		err = sht->suspend(sdev, state);
		if (err) {
			if (drv && drv->resume)
				drv->resume(dev);
			return err;
		}
	}

	return 0;
}

@@ -324,21 +312,14 @@ static int scsi_bus_resume(struct device * dev)
{
	struct device_driver *drv = dev->driver;
	struct scsi_device *sdev = to_scsi_device(dev);
	struct scsi_host_template *sht = sdev->host->hostt;
	int err = 0, err2 = 0;
	int err = 0;

	/* call host resume first */
	if (sht->resume)
		err = sht->resume(sdev);

	/* then, call HLD resume */
	if (drv && drv->resume)
		err2 = drv->resume(dev);
		err = drv->resume(dev);

	scsi_device_resume(sdev);

	/* favor LLD failure */
	return err ? err : err2;;
	return err;
}

struct bus_type scsi_bus_type = {
+0 −6
Original line number Diff line number Diff line
@@ -338,12 +338,6 @@ struct scsi_host_template {
	 */
	enum scsi_eh_timer_return (* eh_timed_out)(struct scsi_cmnd *);

	/*
	 * suspend support
	 */
	int (*resume)(struct scsi_device *);
	int (*suspend)(struct scsi_device *, pm_message_t state);

	/*
	 * Name of proc directory
	 */