summaryrefslogtreecommitdiffstats
path: root/include/linux/spi/mmc_spi.h
diff options
context:
space:
mode:
authorAnton Vorontsov <avorontsov@ru.mvista.com>2008-12-30 18:15:28 +0300
committerPierre Ossman <drzeus@drzeus.cx>2008-12-31 19:01:55 +0100
commit9c43df57910bbba540a6cb5c9132302a9ea5f41a (patch)
treea3f7debf605e4ad9a9d61a775222c5b6d738da26 /include/linux/spi/mmc_spi.h
parentc00a46abd4d45a67ff62f4ff6d4f839dff38b877 (diff)
downloadop-kernel-dev-9c43df57910bbba540a6cb5c9132302a9ea5f41a.zip
op-kernel-dev-9c43df57910bbba540a6cb5c9132302a9ea5f41a.tar.gz
mmc_spi: Add support for OpenFirmware bindings
The support is implemented via platform data accessors, new module (of_mmc_spi) will be created automatically when the driver compiles on OpenFirmware platforms. Link-time dependency will load the module automatically. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'include/linux/spi/mmc_spi.h')
-rw-r--r--include/linux/spi/mmc_spi.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/include/linux/spi/mmc_spi.h b/include/linux/spi/mmc_spi.h
index a3626ae..0f4eb16 100644
--- a/include/linux/spi/mmc_spi.h
+++ b/include/linux/spi/mmc_spi.h
@@ -1,9 +1,10 @@
#ifndef __LINUX_SPI_MMC_SPI_H
#define __LINUX_SPI_MMC_SPI_H
+#include <linux/device.h>
+#include <linux/spi/spi.h>
#include <linux/interrupt.h>
-struct device;
struct mmc_host;
/* Put this in platform_data of a device being used to manage an MMC/SD
@@ -41,4 +42,16 @@ struct mmc_spi_platform_data {
void (*setpower)(struct device *, unsigned int maskval);
};
+#ifdef CONFIG_OF
+extern struct mmc_spi_platform_data *mmc_spi_get_pdata(struct spi_device *spi);
+extern void mmc_spi_put_pdata(struct spi_device *spi);
+#else
+static inline struct mmc_spi_platform_data *
+mmc_spi_get_pdata(struct spi_device *spi)
+{
+ return spi->dev.platform_data;
+}
+static inline void mmc_spi_put_pdata(struct spi_device *spi) {}
+#endif /* CONFIG_OF */
+
#endif /* __LINUX_SPI_MMC_SPI_H */
OpenPOWER on IntegriCloud