1/* 2 * Copyright (C) 2009-2010 Pengutronix 3 * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> 4 * 5 * This program is free software; you can redistribute it and/or modify it under 6 * the terms of the GNU General Public License version 2 as published by the 7 * Free Software Foundation. 8 */ 9#include <linux/kernel.h> 10#include <linux/platform_device.h> 11#include <linux/init.h> 12 13struct platform_device *imx_add_platform_device(const char *name, int id, 14 const struct resource *res, unsigned int num_resources, 15 const void *data, size_t size_data); 16 17#if defined(CONFIG_CAN_FLEXCAN) || defined(CONFIG_CAN_FLEXCAN_MODULE) 18#include <linux/can/platform/flexcan.h> 19struct platform_device *__init imx_add_flexcan(int id, 20 resource_size_t iobase, resource_size_t iosize, 21 resource_size_t irq, 22 const struct flexcan_platform_data *pdata); 23#else 24/* the ifdef can be removed once the flexcan driver has been merged */ 25struct flexcan_platform_data; 26static inline struct platform_device *__init imx_add_flexcan(int id, 27 resource_size_t iobase, resource_size_t iosize, 28 resource_size_t irq, 29 const struct flexcan_platform_data *pdata) 30{ 31 return NULL; 32} 33#endif 34 35#include <mach/i2c.h> 36struct platform_device *__init imx_add_imx_i2c(int id, 37 resource_size_t iobase, resource_size_t iosize, int irq, 38 const struct imxi2c_platform_data *pdata); 39 40#include <mach/imx-uart.h> 41struct platform_device *__init imx_add_imx_uart_3irq(int id, 42 resource_size_t iobase, resource_size_t iosize, 43 resource_size_t irqrx, resource_size_t irqtx, 44 resource_size_t irqrts, 45 const struct imxuart_platform_data *pdata); 46struct platform_device *__init imx_add_imx_uart_1irq(int id, 47 resource_size_t iobase, resource_size_t iosize, 48 resource_size_t irq, 49 const struct imxuart_platform_data *pdata); 50 51#include <mach/mxc_nand.h> 52struct platform_device *__init imx_add_mxc_nand_v1(resource_size_t iobase, 53 int irq, const struct mxc_nand_platform_data *pdata); 54struct platform_device *__init imx_add_mxc_nand_v21(resource_size_t iobase, 55 int irq, const struct mxc_nand_platform_data *pdata); 56 57#include <mach/spi.h> 58struct platform_device *__init imx_add_spi_imx(int id, 59 resource_size_t iobase, resource_size_t iosize, int irq, 60 const struct spi_imx_master *pdata); 61