+#ifdef CONFIG_PMSo you just ignored my letter on that subject :(
+
+/* Suspend/resume in "struct device_driver" don't really need that
+ * strange third parameter, so we just make it a constant and expect
+ * SPI drivers to ignore it just like most platform drivers do.
+ *
+ * NOTE: the suspend() method for an spi_master controller driverSo driver->suspend is going to be called 3 timer with SUSPEND_POWER_DOWN parameter, right?
+ * should verify that all its child devices are marked as suspended;
+ * suspend requests delivered through sysfs power/state files don't
+ * enforce such constraints.
+ */
+static int spi_suspend(struct device *dev, pm_message_t message)
+{
+ int value;
+
+ if (!dev->driver || !dev->driver->suspend)
+ return 0;
+
+ /* suspend will stop irqs and dma; no more i/o */
+ value = dev->driver->suspend(dev, message, SUSPEND_POWER_DOWN);