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