Re: device_suspend() levels [was Re: [patch] ACPI work on aic7xxx]

From: Nathan Bryant
Date: Sat Jul 24 2004 - 10:33:28 EST


Benjamin Herrenschmidt wrote:

save_state is a nonsense, didn't we kill it ? queue quiescing must be
done by the upper level, which is a bit nasty with things like md &
multipath... basically, the low level driver must have a way to notify
it's functional parent (as opposed to it's bus parent) that it's going
to sleep, and any path using this low level driver must then be
quiesced, the parent must resume only when all the drivers it relies
on are back up.

Isn't sysfs supposed to take care of this for us? IOW, I shouldn't have to call up to the SCSI midlayer from pcidev->suspend in order to notify it of a suspend, the midlayer should call the driver before we ever try to suspend. This may become important some day when the upper layers need to decide which order to bring pci devices down

Looking in /sys/devices shows that sysfs already knows that 'host0' is a child of a SCSI PCI device.

$ ls /sys/devices/pci0000\:00/0000\:00\:1e.0/0000\:02\:02.0/host0/0\:0\:0\:0/
block detach_state model queue_depth rev state type
delete device_blocked power rescan scsi_level timeout vendor

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/