Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
[pandora-kernel.git] / arch / arm / plat-mxc / include / mach / devices-common.h
index a0ac845..8658c9c 100644 (file)
@@ -34,21 +34,63 @@ struct platform_device *__init imx_add_fec(
                const struct fec_platform_data *pdata);
 
 #include <linux/can/platform/flexcan.h>
-struct platform_device *__init imx_add_flexcan(int id,
-               resource_size_t iobase, resource_size_t iosize,
-               resource_size_t irq,
+struct imx_flexcan_data {
+       int id;
+       resource_size_t iobase;
+       resource_size_t iosize;
+       resource_size_t irq;
+};
+struct platform_device *__init imx_add_flexcan(
+               const struct imx_flexcan_data *data,
                const struct flexcan_platform_data *pdata);
 
+#include <linux/fsl_devices.h>
+struct imx_fsl_usb2_udc_data {
+       resource_size_t iobase;
+       resource_size_t irq;
+};
+struct platform_device *__init imx_add_fsl_usb2_udc(
+               const struct imx_fsl_usb2_udc_data *data,
+               const struct fsl_usb2_platform_data *pdata);
+
 #include <linux/gpio_keys.h>
 struct platform_device *__init imx_add_gpio_keys(
                const struct gpio_keys_platform_data *pdata);
 
+#include <mach/mx21-usbhost.h>
+struct imx_imx21_hcd_data {
+       resource_size_t iobase;
+       resource_size_t irq;
+};
+struct platform_device *__init imx_add_imx21_hcd(
+               const struct imx_imx21_hcd_data *data,
+               const struct mx21_usbh_platform_data *pdata);
+
 struct imx_imx2_wdt_data {
+       int id;
        resource_size_t iobase;
+       resource_size_t iosize;
 };
 struct platform_device *__init imx_add_imx2_wdt(
                const struct imx_imx2_wdt_data *data);
 
+struct imx_imxdi_rtc_data {
+       resource_size_t iobase;
+       resource_size_t irq;
+};
+struct platform_device *__init imx_add_imxdi_rtc(
+               const struct imx_imxdi_rtc_data *data);
+
+#include <mach/imxfb.h>
+struct imx_imx_fb_data {
+       resource_size_t iobase;
+       resource_size_t iosize;
+       resource_size_t irq;
+};
+struct platform_device *__init imx_add_imx_fb(
+               const struct imx_imx_fb_data *data,
+               const struct imx_fb_platform_data *pdata);
+
 #include <mach/i2c.h>
 struct imx_imx_i2c_data {
        int id;
@@ -60,6 +102,16 @@ struct platform_device *__init imx_add_imx_i2c(
                const struct imx_imx_i2c_data *data,
                const struct imxi2c_platform_data *pdata);
 
+#include <linux/input/matrix_keypad.h>
+struct imx_imx_keypad_data {
+       resource_size_t iobase;
+       resource_size_t iosize;
+       resource_size_t irq;
+};
+struct platform_device *__init imx_add_imx_keypad(
+               const struct imx_imx_keypad_data *data,
+               const struct matrix_keymap_data *pdata);
+
 #include <mach/ssi.h>
 struct imx_imx_ssi_data {
        int id;
@@ -137,6 +189,28 @@ struct platform_device *__init imx_add_mx2_camera(
                const struct imx_mx2_camera_data *data,
                const struct mx2_camera_platform_data *pdata);
 
+#include <mach/mxc_ehci.h>
+struct imx_mxc_ehci_data {
+       int id;
+       resource_size_t iobase;
+       resource_size_t irq;
+};
+struct platform_device *__init imx_add_mxc_ehci(
+               const struct imx_mxc_ehci_data *data,
+               const struct mxc_usbh_platform_data *pdata);
+
+#include <mach/mmc.h>
+struct imx_mxc_mmc_data {
+       int id;
+       resource_size_t iobase;
+       resource_size_t iosize;
+       resource_size_t irq;
+       resource_size_t dmareq;
+};
+struct platform_device *__init imx_add_mxc_mmc(
+               const struct imx_mxc_mmc_data *data,
+               const struct imxmmc_platform_data *pdata);
+
 #include <mach/mxc_nand.h>
 struct imx_mxc_nand_data {
        /*
@@ -154,12 +228,31 @@ struct platform_device *__init imx_add_mxc_nand(
                const struct imx_mxc_nand_data *data,
                const struct mxc_nand_platform_data *pdata);
 
+struct imx_mxc_pwm_data {
+       int id;
+       resource_size_t iobase;
+       resource_size_t iosize;
+       resource_size_t irq;
+};
+struct platform_device *__init imx_add_mxc_pwm(
+               const struct imx_mxc_pwm_data *data);
+
 struct imx_mxc_w1_data {
        resource_size_t iobase;
 };
 struct platform_device *__init imx_add_mxc_w1(
                const struct imx_mxc_w1_data *data);
 
+#include <mach/esdhc.h>
+struct imx_sdhci_esdhc_imx_data {
+       int id;
+       resource_size_t iobase;
+       resource_size_t irq;
+};
+struct platform_device *__init imx_add_sdhci_esdhc_imx(
+               const struct imx_sdhci_esdhc_imx_data *data,
+               const struct esdhc_platform_data *pdata);
+
 #include <mach/spi.h>
 struct imx_spi_imx_data {
        const char *devid;
@@ -171,13 +264,3 @@ struct imx_spi_imx_data {
 struct platform_device *__init imx_add_spi_imx(
                const struct imx_spi_imx_data *data,
                const struct spi_imx_master *pdata);
-
-#include <mach/esdhc.h>
-struct imx_esdhc_imx_data {
-       int id;
-       resource_size_t iobase;
-       resource_size_t irq;
-};
-struct platform_device *__init imx_add_esdhc(
-               const struct imx_esdhc_imx_data *data,
-               const struct esdhc_platform_data *pdata);