1/*
2 * Copyright (C) 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 "devices-common.h"
10
11struct platform_device __init __maybe_unused *imx_add_imx_dma(char *name,
12	resource_size_t iobase, int irq, int irq_err)
13{
14	struct resource res[] = {
15		{
16			.start = iobase,
17			.end = iobase + SZ_4K - 1,
18			.flags = IORESOURCE_MEM,
19		}, {
20			.start = irq,
21			.end = irq,
22			.flags = IORESOURCE_IRQ,
23		}, {
24			.start = irq_err,
25			.end = irq_err,
26			.flags = IORESOURCE_IRQ,
27		},
28	};
29
30	return platform_device_register_resndata(&mxc_ahb_bus,
31			name, -1, res, ARRAY_SIZE(res), NULL, 0);
32}
33
34struct platform_device __init __maybe_unused *imx_add_imx_sdma(char *name,
35	resource_size_t iobase, int irq, struct sdma_platform_data *pdata)
36{
37	struct resource res[] = {
38		{
39			.start = iobase,
40			.end = iobase + SZ_16K - 1,
41			.flags = IORESOURCE_MEM,
42		}, {
43			.start = irq,
44			.end = irq,
45			.flags = IORESOURCE_IRQ,
46		},
47	};
48
49	return platform_device_register_resndata(&mxc_ahb_bus, name,
50			-1, res, ARRAY_SIZE(res), pdata, sizeof(*pdata));
51}
52