/* * Copyright (C) 2009-2010 Pengutronix * Copyright (C) 2010 Freescale Semiconductor * Uwe Kleine-Koenig * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License version 2 as published by the * Free Software Foundation. */ #include #include #include struct platform_device *imx_add_platform_device(const char *name, int id, const struct resource *res, unsigned int num_resources, const void *data, size_t size_data); #if defined(CONFIG_CAN_FLEXCAN) || defined(CONFIG_CAN_FLEXCAN_MODULE) #include struct platform_device *__init imx_add_flexcan(int id, resource_size_t iobase, resource_size_t iosize, resource_size_t irq, const struct flexcan_platform_data *pdata); #else /* the ifdef can be removed once the flexcan driver has been merged */ struct flexcan_platform_data; static inline struct platform_device *__init imx_add_flexcan(int id, resource_size_t iobase, resource_size_t iosize, resource_size_t irq, const struct flexcan_platform_data *pdata) { return NULL; } #endif #include struct platform_device *__init imx_add_imx_i2c(int id, resource_size_t iobase, resource_size_t iosize, int irq, const struct imxi2c_platform_data *pdata); #include struct imx_imx_uart_3irq_data { int id; resource_size_t iobase; resource_size_t iosize; resource_size_t irqrx; resource_size_t irqtx; resource_size_t irqrts; }; struct platform_device *__init imx_add_imx_uart_3irq( const struct imx_imx_uart_3irq_data *data, const struct imxuart_platform_data *pdata); struct imx_imx_uart_1irq_data { int id; resource_size_t iobase; resource_size_t iosize; resource_size_t irq; }; struct platform_device *__init imx_add_imx_uart_1irq( const struct imx_imx_uart_1irq_data *data, const struct imxuart_platform_data *pdata); #include struct platform_device *__init imx_add_mxc_nand_v1(resource_size_t iobase, int irq, const struct mxc_nand_platform_data *pdata); struct platform_device *__init imx_add_mxc_nand_v21(resource_size_t iobase, int irq, const struct mxc_nand_platform_data *pdata); #include struct platform_device *__init imx_add_spi_imx(int id, resource_size_t iobase, resource_size_t iosize, int irq, const struct spi_imx_master *pdata); #include struct platform_device *__init imx_add_imx_mmc(int id, resource_size_t iobase, resource_size_t iosize, int irq1, int irq2, const struct mxc_mmc_platform_data *pdata);