ARM: ep93xx: move platform_data definitions
authorArnd Bergmann <arnd@arndb.de>
Fri, 24 Aug 2012 13:12:11 +0000 (15:12 +0200)
committerArnd Bergmann <arnd@arndb.de>
Fri, 14 Sep 2012 09:16:55 +0000 (11:16 +0200)
Platform data for device drivers should be defined in
include/linux/platform_data/*.h, not in the architecture
and platform specific directories.

This moves such data out of the ep93xx include directories

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Ryan Mallon <rmallon@gmail.com>
Acked-by: Vinod Koul <vinod.koul@linux.intel.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Jeff Garzik <jgarzik@pobox.com>
Cc: Dan Williams <djbw@fb.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Liam Girdwood <lrg@ti.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: Mika Westerberg <mika.westerberg@iki.fi>
Cc: Axel Lin <axel.lin@gmail.com>
23 files changed:
Documentation/spi/ep93xx_spi
arch/arm/mach-ep93xx/core.c
arch/arm/mach-ep93xx/dma.c
arch/arm/mach-ep93xx/edb93xx.c
arch/arm/mach-ep93xx/include/mach/dma.h [deleted file]
arch/arm/mach-ep93xx/include/mach/ep93xx_keypad.h [deleted file]
arch/arm/mach-ep93xx/include/mach/ep93xx_spi.h [deleted file]
arch/arm/mach-ep93xx/include/mach/fb.h [deleted file]
arch/arm/mach-ep93xx/simone.c
arch/arm/mach-ep93xx/snappercl15.c
arch/arm/mach-ep93xx/vision_ep9307.c
drivers/ata/pata_ep93xx.c
drivers/dma/ep93xx_dma.c
drivers/input/keyboard/ep93xx_keypad.c
drivers/spi/spi-ep93xx.c
drivers/video/ep93xx-fb.c
include/linux/platform_data/dma-ep93xx.h [new file with mode: 0644]
include/linux/platform_data/keypad-ep93xx.h [new file with mode: 0644]
include/linux/platform_data/spi-ep93xx.h [new file with mode: 0644]
include/linux/platform_data/video-ep93xx.h [new file with mode: 0644]
sound/soc/ep93xx/ep93xx-ac97.c
sound/soc/ep93xx/ep93xx-i2s.c
sound/soc/ep93xx/ep93xx-pcm.c

index d8eb01c15db1cc9cf801138a87e21a7464ad0045..832ddce6e5fb461a6950e6d0b0639f4d8f473b72 100644 (file)
@@ -26,7 +26,7 @@ arch/arm/mach-ep93xx/ts72xx.c:
 #include <linux/gpio.h>
 #include <linux/spi/spi.h>
 
-#include <mach/ep93xx_spi.h>
+#include <linux/platform_data/spi-ep93xx.h>
 
 /* this is our GPIO line used for chip select */
 #define MMC_CHIP_SELECT_GPIO EP93XX_GPIO_LINE_EGPIO9
index 4afe52aaaff3573e97e6d46ba479b56303445f89..e85bf17f2d2aee7b512aefd097dc9ed7fe63fdaf 100644 (file)
@@ -36,9 +36,9 @@
 #include <linux/export.h>
 
 #include <mach/hardware.h>
-#include <mach/fb.h>
-#include <mach/ep93xx_keypad.h>
-#include <mach/ep93xx_spi.h>
+#include <linux/platform_data/video-ep93xx.h>
+#include <linux/platform_data/keypad-ep93xx.h>
+#include <linux/platform_data/spi-ep93xx.h>
 #include <mach/gpio-ep93xx.h>
 
 #include <asm/mach/map.h>
index 16976d7bdc8a18bbe62694d01070bcea29f8c01a..d8bfd02f5047f732af84cae4483bd57be12edeb0 100644 (file)
@@ -25,7 +25,7 @@
 #include <linux/kernel.h>
 #include <linux/platform_device.h>
 
-#include <mach/dma.h>
+#include <linux/platform_data/dma-ep93xx.h>
 #include <mach/hardware.h>
 
 #include "soc.h"
index 337ab7cf4c16fc81391883c435e2be66d1f44298..b8f53d57a2994c0972a07f80fdbf923f6b736ca1 100644 (file)
@@ -35,8 +35,8 @@
 #include <sound/cs4271.h>
 
 #include <mach/hardware.h>
-#include <mach/fb.h>
-#include <mach/ep93xx_spi.h>
+#include <linux/platform_data/video-ep93xx.h>
+#include <linux/platform_data/spi-ep93xx.h>
 #include <mach/gpio-ep93xx.h>
 
 #include <asm/hardware/vic.h>
diff --git a/arch/arm/mach-ep93xx/include/mach/dma.h b/arch/arm/mach-ep93xx/include/mach/dma.h
deleted file mode 100644 (file)
index e82c642..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-#ifndef __ASM_ARCH_DMA_H
-#define __ASM_ARCH_DMA_H
-
-#include <linux/types.h>
-#include <linux/dmaengine.h>
-#include <linux/dma-mapping.h>
-
-/*
- * M2P channels.
- *
- * Note that these values are also directly used for setting the PPALLOC
- * register.
- */
-#define EP93XX_DMA_I2S1                0
-#define EP93XX_DMA_I2S2                1
-#define EP93XX_DMA_AAC1                2
-#define EP93XX_DMA_AAC2                3
-#define EP93XX_DMA_AAC3                4
-#define EP93XX_DMA_I2S3                5
-#define EP93XX_DMA_UART1       6
-#define EP93XX_DMA_UART2       7
-#define EP93XX_DMA_UART3       8
-#define EP93XX_DMA_IRDA                9
-/* M2M channels */
-#define EP93XX_DMA_SSP         10
-#define EP93XX_DMA_IDE         11
-
-/**
- * struct ep93xx_dma_data - configuration data for the EP93xx dmaengine
- * @port: peripheral which is requesting the channel
- * @direction: TX/RX channel
- * @name: optional name for the channel, this is displayed in /proc/interrupts
- *
- * This information is passed as private channel parameter in a filter
- * function. Note that this is only needed for slave/cyclic channels.  For
- * memcpy channels %NULL data should be passed.
- */
-struct ep93xx_dma_data {
-       int                             port;
-       enum dma_transfer_direction     direction;
-       const char                      *name;
-};
-
-/**
- * struct ep93xx_dma_chan_data - platform specific data for a DMA channel
- * @name: name of the channel, used for getting the right clock for the channel
- * @base: mapped registers
- * @irq: interrupt number used by this channel
- */
-struct ep93xx_dma_chan_data {
-       const char                      *name;
-       void __iomem                    *base;
-       int                             irq;
-};
-
-/**
- * struct ep93xx_dma_platform_data - platform data for the dmaengine driver
- * @channels: array of channels which are passed to the driver
- * @num_channels: number of channels in the array
- *
- * This structure is passed to the DMA engine driver via platform data. For
- * M2P channels, contract is that even channels are for TX and odd for RX.
- * There is no requirement for the M2M channels.
- */
-struct ep93xx_dma_platform_data {
-       struct ep93xx_dma_chan_data     *channels;
-       size_t                          num_channels;
-};
-
-static inline bool ep93xx_dma_chan_is_m2p(struct dma_chan *chan)
-{
-       return !strcmp(dev_name(chan->device->dev), "ep93xx-dma-m2p");
-}
-
-/**
- * ep93xx_dma_chan_direction - returns direction the channel can be used
- * @chan: channel
- *
- * This function can be used in filter functions to find out whether the
- * channel supports given DMA direction. Only M2P channels have such
- * limitation, for M2M channels the direction is configurable.
- */
-static inline enum dma_transfer_direction
-ep93xx_dma_chan_direction(struct dma_chan *chan)
-{
-       if (!ep93xx_dma_chan_is_m2p(chan))
-               return DMA_NONE;
-
-       /* even channels are for TX, odd for RX */
-       return (chan->chan_id % 2 == 0) ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM;
-}
-
-#endif /* __ASM_ARCH_DMA_H */
diff --git a/arch/arm/mach-ep93xx/include/mach/ep93xx_keypad.h b/arch/arm/mach-ep93xx/include/mach/ep93xx_keypad.h
deleted file mode 100644 (file)
index 1e2f4e9..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * arch/arm/mach-ep93xx/include/mach/ep93xx_keypad.h
- */
-
-#ifndef __ASM_ARCH_EP93XX_KEYPAD_H
-#define __ASM_ARCH_EP93XX_KEYPAD_H
-
-struct matrix_keymap_data;
-
-/* flags for the ep93xx_keypad driver */
-#define EP93XX_KEYPAD_DISABLE_3_KEY    (1<<0)  /* disable 3-key reset */
-#define EP93XX_KEYPAD_DIAG_MODE                (1<<1)  /* diagnostic mode */
-#define EP93XX_KEYPAD_BACK_DRIVE       (1<<2)  /* back driving mode */
-#define EP93XX_KEYPAD_TEST_MODE                (1<<3)  /* scan only column 0 */
-#define EP93XX_KEYPAD_KDIV             (1<<4)  /* 1/4 clock or 1/16 clock */
-#define EP93XX_KEYPAD_AUTOREPEAT       (1<<5)  /* enable key autorepeat */
-
-/**
- * struct ep93xx_keypad_platform_data - platform specific device structure
- * @keymap_data:       pointer to &matrix_keymap_data
- * @debounce:          debounce start count; terminal count is 0xff
- * @prescale:          row/column counter pre-scaler load value
- * @flags:             see above
- */
-struct ep93xx_keypad_platform_data {
-       struct matrix_keymap_data *keymap_data;
-       unsigned int    debounce;
-       unsigned int    prescale;
-       unsigned int    flags;
-};
-
-#define EP93XX_MATRIX_ROWS             (8)
-#define EP93XX_MATRIX_COLS             (8)
-
-#endif /* __ASM_ARCH_EP93XX_KEYPAD_H */
diff --git a/arch/arm/mach-ep93xx/include/mach/ep93xx_spi.h b/arch/arm/mach-ep93xx/include/mach/ep93xx_spi.h
deleted file mode 100644 (file)
index 9bb63ac..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef __ASM_MACH_EP93XX_SPI_H
-#define __ASM_MACH_EP93XX_SPI_H
-
-struct spi_device;
-
-/**
- * struct ep93xx_spi_info - EP93xx specific SPI descriptor
- * @num_chipselect: number of chip selects on this board, must be
- *                  at least one
- * @use_dma: use DMA for the transfers
- */
-struct ep93xx_spi_info {
-       int     num_chipselect;
-       bool    use_dma;
-};
-
-/**
- * struct ep93xx_spi_chip_ops - operation callbacks for SPI slave device
- * @setup: setup the chip select mechanism
- * @cleanup: cleanup the chip select mechanism
- * @cs_control: control the device chip select
- */
-struct ep93xx_spi_chip_ops {
-       int     (*setup)(struct spi_device *spi);
-       void    (*cleanup)(struct spi_device *spi);
-       void    (*cs_control)(struct spi_device *spi, int value);
-};
-
-#endif /* __ASM_MACH_EP93XX_SPI_H */
diff --git a/arch/arm/mach-ep93xx/include/mach/fb.h b/arch/arm/mach-ep93xx/include/mach/fb.h
deleted file mode 100644 (file)
index d5ae11d..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * arch/arm/mach-ep93xx/include/mach/fb.h
- */
-
-#ifndef __ASM_ARCH_EP93XXFB_H
-#define __ASM_ARCH_EP93XXFB_H
-
-struct platform_device;
-struct fb_videomode;
-struct fb_info;
-
-#define EP93XXFB_USE_MODEDB            0
-
-/* VideoAttributes flags */
-#define EP93XXFB_STATE_MACHINE_ENABLE  (1 << 0)
-#define EP93XXFB_PIXEL_CLOCK_ENABLE    (1 << 1)
-#define EP93XXFB_VSYNC_ENABLE          (1 << 2)
-#define EP93XXFB_PIXEL_DATA_ENABLE     (1 << 3)
-#define EP93XXFB_COMPOSITE_SYNC                (1 << 4)
-#define EP93XXFB_SYNC_VERT_HIGH                (1 << 5)
-#define EP93XXFB_SYNC_HORIZ_HIGH       (1 << 6)
-#define EP93XXFB_SYNC_BLANK_HIGH       (1 << 7)
-#define EP93XXFB_PCLK_FALLING          (1 << 8)
-#define EP93XXFB_ENABLE_AC             (1 << 9)
-#define EP93XXFB_ENABLE_LCD            (1 << 10)
-#define EP93XXFB_ENABLE_CCIR           (1 << 12)
-#define EP93XXFB_USE_PARALLEL_INTERFACE        (1 << 13)
-#define EP93XXFB_ENABLE_INTERRUPT      (1 << 14)
-#define EP93XXFB_USB_INTERLACE         (1 << 16)
-#define EP93XXFB_USE_EQUALIZATION      (1 << 17)
-#define EP93XXFB_USE_DOUBLE_HORZ       (1 << 18)
-#define EP93XXFB_USE_DOUBLE_VERT       (1 << 19)
-#define EP93XXFB_USE_BLANK_PIXEL       (1 << 20)
-#define EP93XXFB_USE_SDCSN0            (0 << 21)
-#define EP93XXFB_USE_SDCSN1            (1 << 21)
-#define EP93XXFB_USE_SDCSN2            (2 << 21)
-#define EP93XXFB_USE_SDCSN3            (3 << 21)
-
-#define EP93XXFB_ENABLE                        (EP93XXFB_STATE_MACHINE_ENABLE  | \
-                                        EP93XXFB_PIXEL_CLOCK_ENABLE    | \
-                                        EP93XXFB_VSYNC_ENABLE          | \
-                                        EP93XXFB_PIXEL_DATA_ENABLE)
-
-struct ep93xxfb_mach_info {
-       unsigned int                    num_modes;
-       const struct fb_videomode       *modes;
-       const struct fb_videomode       *default_mode;
-       int                             bpp;
-       unsigned int                    flags;
-
-       int     (*setup)(struct platform_device *pdev);
-       void    (*teardown)(struct platform_device *pdev);
-       void    (*blank)(int blank_mode, struct fb_info *info);
-};
-
-#endif /* __ASM_ARCH_EP93XXFB_H */
index 33dc07917417d4b5caf89c600ea9885c05fbb0bf..0eb3f17a6fa2ec3424c94740713305e8e433190b 100644 (file)
@@ -22,7 +22,7 @@
 #include <linux/i2c-gpio.h>
 
 #include <mach/hardware.h>
-#include <mach/fb.h>
+#include <linux/platform_data/video-ep93xx.h>
 #include <mach/gpio-ep93xx.h>
 
 #include <asm/hardware/vic.h>
index 01abd3516a772ef93afe3d68c0556f587b1bb180..50043eef1cf24001cc41323a9dd55355aeee3f68 100644 (file)
@@ -28,7 +28,7 @@
 #include <linux/mtd/nand.h>
 
 #include <mach/hardware.h>
-#include <mach/fb.h>
+#include <linux/platform_data/video-ep93xx.h>
 #include <mach/gpio-ep93xx.h>
 
 #include <asm/hardware/vic.h>
index 2905a4929bdc86972e66fa9a1e581681007e7772..ba92e25e3016163abbc8b83ef11f4753e0ffc940 100644 (file)
@@ -30,8 +30,8 @@
 #include <linux/mmc/host.h>
 
 #include <mach/hardware.h>
-#include <mach/fb.h>
-#include <mach/ep93xx_spi.h>
+#include <linux/platform_data/video-ep93xx.h>
+#include <linux/platform_data/spi-ep93xx.h>
 #include <mach/gpio-ep93xx.h>
 
 #include <asm/hardware/vic.h>
index 6ef2e3741f76412e6bfe1229b8216f10351160b5..e056406d6a11eb7ed7cf990f962cdc216d1e53d8 100644 (file)
@@ -43,7 +43,7 @@
 #include <linux/dmaengine.h>
 #include <linux/ktime.h>
 
-#include <mach/dma.h>
+#include <linux/platform_data/dma-ep93xx.h>
 #include <mach/platform.h>
 
 #define DRV_NAME       "ep93xx-ide"
index c64917ec313dc25d501ad41312fa8e898df8e003..4aeaea77f72e8ed825b0ffa49e0847f5688b13b2 100644 (file)
@@ -26,7 +26,7 @@
 #include <linux/platform_device.h>
 #include <linux/slab.h>
 
-#include <mach/dma.h>
+#include <linux/platform_data/dma-ep93xx.h>
 
 #include "dmaengine.h"
 
index c46fc81854691d88ebdce475eb092a3f595b5bd5..7363402de8d419430545117f1f7eb611ec24f868 100644 (file)
@@ -29,7 +29,7 @@
 #include <linux/slab.h>
 
 #include <mach/hardware.h>
-#include <mach/ep93xx_keypad.h>
+#include <linux/platform_data/keypad-ep93xx.h>
 
 /*
  * Keypad Interface Register offsets
index f97f1d248800c3ab54593cc98821c51b84c77285..3a219599612a44e067c552a863316cd72bd82532 100644 (file)
@@ -31,8 +31,8 @@
 #include <linux/scatterlist.h>
 #include <linux/spi/spi.h>
 
-#include <mach/dma.h>
-#include <mach/ep93xx_spi.h>
+#include <linux/platform_data/dma-ep93xx.h>
+#include <linux/platform_data/spi-ep93xx.h>
 
 #define SSPCR0                 0x0000
 #define SSPCR0_MODE_SHIFT      6
index 345d96230978ed33d8d4e2a860d66273f60c35a5..f2c092da84b0fb85c4f628414f6a4dba235ffa81 100644 (file)
@@ -24,7 +24,7 @@
 #include <linux/clk.h>
 #include <linux/fb.h>
 
-#include <mach/fb.h>
+#include <linux/platform_data/video-ep93xx.h>
 
 /* Vertical Frame Timing Registers */
 #define EP93XXFB_VLINES_TOTAL                  0x0000  /* SW locked */
diff --git a/include/linux/platform_data/dma-ep93xx.h b/include/linux/platform_data/dma-ep93xx.h
new file mode 100644 (file)
index 0000000..e82c642
--- /dev/null
@@ -0,0 +1,93 @@
+#ifndef __ASM_ARCH_DMA_H
+#define __ASM_ARCH_DMA_H
+
+#include <linux/types.h>
+#include <linux/dmaengine.h>
+#include <linux/dma-mapping.h>
+
+/*
+ * M2P channels.
+ *
+ * Note that these values are also directly used for setting the PPALLOC
+ * register.
+ */
+#define EP93XX_DMA_I2S1                0
+#define EP93XX_DMA_I2S2                1
+#define EP93XX_DMA_AAC1                2
+#define EP93XX_DMA_AAC2                3
+#define EP93XX_DMA_AAC3                4
+#define EP93XX_DMA_I2S3                5
+#define EP93XX_DMA_UART1       6
+#define EP93XX_DMA_UART2       7
+#define EP93XX_DMA_UART3       8
+#define EP93XX_DMA_IRDA                9
+/* M2M channels */
+#define EP93XX_DMA_SSP         10
+#define EP93XX_DMA_IDE         11
+
+/**
+ * struct ep93xx_dma_data - configuration data for the EP93xx dmaengine
+ * @port: peripheral which is requesting the channel
+ * @direction: TX/RX channel
+ * @name: optional name for the channel, this is displayed in /proc/interrupts
+ *
+ * This information is passed as private channel parameter in a filter
+ * function. Note that this is only needed for slave/cyclic channels.  For
+ * memcpy channels %NULL data should be passed.
+ */
+struct ep93xx_dma_data {
+       int                             port;
+       enum dma_transfer_direction     direction;
+       const char                      *name;
+};
+
+/**
+ * struct ep93xx_dma_chan_data - platform specific data for a DMA channel
+ * @name: name of the channel, used for getting the right clock for the channel
+ * @base: mapped registers
+ * @irq: interrupt number used by this channel
+ */
+struct ep93xx_dma_chan_data {
+       const char                      *name;
+       void __iomem                    *base;
+       int                             irq;
+};
+
+/**
+ * struct ep93xx_dma_platform_data - platform data for the dmaengine driver
+ * @channels: array of channels which are passed to the driver
+ * @num_channels: number of channels in the array
+ *
+ * This structure is passed to the DMA engine driver via platform data. For
+ * M2P channels, contract is that even channels are for TX and odd for RX.
+ * There is no requirement for the M2M channels.
+ */
+struct ep93xx_dma_platform_data {
+       struct ep93xx_dma_chan_data     *channels;
+       size_t                          num_channels;
+};
+
+static inline bool ep93xx_dma_chan_is_m2p(struct dma_chan *chan)
+{
+       return !strcmp(dev_name(chan->device->dev), "ep93xx-dma-m2p");
+}
+
+/**
+ * ep93xx_dma_chan_direction - returns direction the channel can be used
+ * @chan: channel
+ *
+ * This function can be used in filter functions to find out whether the
+ * channel supports given DMA direction. Only M2P channels have such
+ * limitation, for M2M channels the direction is configurable.
+ */
+static inline enum dma_transfer_direction
+ep93xx_dma_chan_direction(struct dma_chan *chan)
+{
+       if (!ep93xx_dma_chan_is_m2p(chan))
+               return DMA_NONE;
+
+       /* even channels are for TX, odd for RX */
+       return (chan->chan_id % 2 == 0) ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM;
+}
+
+#endif /* __ASM_ARCH_DMA_H */
diff --git a/include/linux/platform_data/keypad-ep93xx.h b/include/linux/platform_data/keypad-ep93xx.h
new file mode 100644 (file)
index 0000000..1e2f4e9
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * arch/arm/mach-ep93xx/include/mach/ep93xx_keypad.h
+ */
+
+#ifndef __ASM_ARCH_EP93XX_KEYPAD_H
+#define __ASM_ARCH_EP93XX_KEYPAD_H
+
+struct matrix_keymap_data;
+
+/* flags for the ep93xx_keypad driver */
+#define EP93XX_KEYPAD_DISABLE_3_KEY    (1<<0)  /* disable 3-key reset */
+#define EP93XX_KEYPAD_DIAG_MODE                (1<<1)  /* diagnostic mode */
+#define EP93XX_KEYPAD_BACK_DRIVE       (1<<2)  /* back driving mode */
+#define EP93XX_KEYPAD_TEST_MODE                (1<<3)  /* scan only column 0 */
+#define EP93XX_KEYPAD_KDIV             (1<<4)  /* 1/4 clock or 1/16 clock */
+#define EP93XX_KEYPAD_AUTOREPEAT       (1<<5)  /* enable key autorepeat */
+
+/**
+ * struct ep93xx_keypad_platform_data - platform specific device structure
+ * @keymap_data:       pointer to &matrix_keymap_data
+ * @debounce:          debounce start count; terminal count is 0xff
+ * @prescale:          row/column counter pre-scaler load value
+ * @flags:             see above
+ */
+struct ep93xx_keypad_platform_data {
+       struct matrix_keymap_data *keymap_data;
+       unsigned int    debounce;
+       unsigned int    prescale;
+       unsigned int    flags;
+};
+
+#define EP93XX_MATRIX_ROWS             (8)
+#define EP93XX_MATRIX_COLS             (8)
+
+#endif /* __ASM_ARCH_EP93XX_KEYPAD_H */
diff --git a/include/linux/platform_data/spi-ep93xx.h b/include/linux/platform_data/spi-ep93xx.h
new file mode 100644 (file)
index 0000000..9bb63ac
--- /dev/null
@@ -0,0 +1,29 @@
+#ifndef __ASM_MACH_EP93XX_SPI_H
+#define __ASM_MACH_EP93XX_SPI_H
+
+struct spi_device;
+
+/**
+ * struct ep93xx_spi_info - EP93xx specific SPI descriptor
+ * @num_chipselect: number of chip selects on this board, must be
+ *                  at least one
+ * @use_dma: use DMA for the transfers
+ */
+struct ep93xx_spi_info {
+       int     num_chipselect;
+       bool    use_dma;
+};
+
+/**
+ * struct ep93xx_spi_chip_ops - operation callbacks for SPI slave device
+ * @setup: setup the chip select mechanism
+ * @cleanup: cleanup the chip select mechanism
+ * @cs_control: control the device chip select
+ */
+struct ep93xx_spi_chip_ops {
+       int     (*setup)(struct spi_device *spi);
+       void    (*cleanup)(struct spi_device *spi);
+       void    (*cs_control)(struct spi_device *spi, int value);
+};
+
+#endif /* __ASM_MACH_EP93XX_SPI_H */
diff --git a/include/linux/platform_data/video-ep93xx.h b/include/linux/platform_data/video-ep93xx.h
new file mode 100644 (file)
index 0000000..d5ae11d
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * arch/arm/mach-ep93xx/include/mach/fb.h
+ */
+
+#ifndef __ASM_ARCH_EP93XXFB_H
+#define __ASM_ARCH_EP93XXFB_H
+
+struct platform_device;
+struct fb_videomode;
+struct fb_info;
+
+#define EP93XXFB_USE_MODEDB            0
+
+/* VideoAttributes flags */
+#define EP93XXFB_STATE_MACHINE_ENABLE  (1 << 0)
+#define EP93XXFB_PIXEL_CLOCK_ENABLE    (1 << 1)
+#define EP93XXFB_VSYNC_ENABLE          (1 << 2)
+#define EP93XXFB_PIXEL_DATA_ENABLE     (1 << 3)
+#define EP93XXFB_COMPOSITE_SYNC                (1 << 4)
+#define EP93XXFB_SYNC_VERT_HIGH                (1 << 5)
+#define EP93XXFB_SYNC_HORIZ_HIGH       (1 << 6)
+#define EP93XXFB_SYNC_BLANK_HIGH       (1 << 7)
+#define EP93XXFB_PCLK_FALLING          (1 << 8)
+#define EP93XXFB_ENABLE_AC             (1 << 9)
+#define EP93XXFB_ENABLE_LCD            (1 << 10)
+#define EP93XXFB_ENABLE_CCIR           (1 << 12)
+#define EP93XXFB_USE_PARALLEL_INTERFACE        (1 << 13)
+#define EP93XXFB_ENABLE_INTERRUPT      (1 << 14)
+#define EP93XXFB_USB_INTERLACE         (1 << 16)
+#define EP93XXFB_USE_EQUALIZATION      (1 << 17)
+#define EP93XXFB_USE_DOUBLE_HORZ       (1 << 18)
+#define EP93XXFB_USE_DOUBLE_VERT       (1 << 19)
+#define EP93XXFB_USE_BLANK_PIXEL       (1 << 20)
+#define EP93XXFB_USE_SDCSN0            (0 << 21)
+#define EP93XXFB_USE_SDCSN1            (1 << 21)
+#define EP93XXFB_USE_SDCSN2            (2 << 21)
+#define EP93XXFB_USE_SDCSN3            (3 << 21)
+
+#define EP93XXFB_ENABLE                        (EP93XXFB_STATE_MACHINE_ENABLE  | \
+                                        EP93XXFB_PIXEL_CLOCK_ENABLE    | \
+                                        EP93XXFB_VSYNC_ENABLE          | \
+                                        EP93XXFB_PIXEL_DATA_ENABLE)
+
+struct ep93xxfb_mach_info {
+       unsigned int                    num_modes;
+       const struct fb_videomode       *modes;
+       const struct fb_videomode       *default_mode;
+       int                             bpp;
+       unsigned int                    flags;
+
+       int     (*setup)(struct platform_device *pdev);
+       void    (*teardown)(struct platform_device *pdev);
+       void    (*blank)(int blank_mode, struct fb_info *info);
+};
+
+#endif /* __ASM_ARCH_EP93XXFB_H */
index bdffab33e1609c6648a0c5c3bdd33629ee852cee..c3521653cfd3fcac901fbcf076752b5b10c654e5 100644 (file)
@@ -21,7 +21,7 @@
 #include <sound/ac97_codec.h>
 #include <sound/soc.h>
 
-#include <mach/dma.h>
+#include <linux/platform_data/dma-ep93xx.h>
 #include "ep93xx-pcm.h"
 
 /*
index 8df8f6dc474fc9bdfb0a70672b8121c201f247ef..ac4a7515e7be4d5e417d17eec041b3b1151c4df0 100644 (file)
@@ -28,7 +28,7 @@
 
 #include <mach/hardware.h>
 #include <mach/ep93xx-regs.h>
-#include <mach/dma.h>
+#include <linux/platform_data/dma-ep93xx.h>
 
 #include "ep93xx-pcm.h"
 
index 4eea98b42bc8389de50e64b34d9ea2e9f65f586e..665d9c94cc17ebeca825898ebac89f5c04937dd7 100644 (file)
@@ -25,7 +25,7 @@
 #include <sound/soc.h>
 #include <sound/dmaengine_pcm.h>
 
-#include <mach/dma.h>
+#include <linux/platform_data/dma-ep93xx.h>
 #include <mach/hardware.h>
 #include <mach/ep93xx-regs.h>