summaryrefslogtreecommitdiffstats
path: root/arch/arm
Commit message (Collapse)AuthorAgeFilesLines
* ARM: OMAP: switch to gpio_direction_outputDavid Brownell2008-12-108-36/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | More conversion to the standard GPIO interfaces: stop using omap_set_gpio_direction() entirely, and switch over to the gpio_direction_output() call. Note that because gpio_direction_output() includes the initial value, this change isn't quite transparent. - For the call sites which defined an initial value either before or after setting the direction, that value was used. When that value was previously assigned afterwards, this could eliminate a brief output glitch ... and possibly change behavior. In a few cases (LCDs) several values were assigned together ... those were re-arranged to match the explicit sequence provided. - Some call sites didn't define such a value; so I chose an initial "off/reset" value that seemed to default to "off". In short, files touched by this patch might notice some small changes in startup behavior (with trivial fixes). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: switch to gpio_direction_inputDavid Brownell2008-12-109-14/+14
| | | | | | | | More switchover to the cross-platform GPIO interface: use gpio_direction_input(), not an OMAP-specific call. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: switch to standard gpio get/set callsDavid Brownell2008-12-1016-67/+47
| | | | | | | | | | | | | | | | This patch replaces some legacy OMAP GPIO calls with the "new" (not really, any more!) calls that work on most platforms. The calls addressed by this patch are the simple ones to get and set values ... for code that's in mainline, including the implementations of those calls. Except for the declarations and definitions of those calls, all of these changes were performed by a simple SED script. Plus, a few "if() set() else set()" branches were merged by hand. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: gpios implement new to_irq()David Brownell2008-12-102-4/+21
| | | | | | | | | | | Make OMAP use the new __gpio_to_irq() hook, to make it easier to support IRQs coming in from off-chip gpio controllers like the TWL4030/TPS65930 chip used on OMAP3 boads like Beagleboard.org and the Gumstix Overo. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: Extend gpio label column width in omap_gpio debugfs fileJarkko Nikula2008-12-101-1/+1
| | | | | | | | | | | | There are already various drivers having bigger label than 10 bytes. Most of them fit well under 20 bytes but make column width exact so that oversized labels don't mess up output alignment. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* ARM: OMAP: Enable GPIO debounce clock only when debounce is enabled v3Jouni Hogander2008-12-102-29/+33
| | | | | | | | | | | | | | | | | | | This patch changes gpio "driver" to enable debounce clock for gpio-bank only when debounce is enabled for some gpio in that bank. Gpio functional clocks are also renamed in clock tree, gpioX_fck -> gpioX_dbck. This patch triggers problem with gpio wake-up and Omap3. Gpios in PER domain aren't capable to generate wake-up if PER domain is in sleep state. For this iopad wake-up should be used and needed pad configuration should be done. Enabling iopad wake-up for gpio pads is left for bootloader or omap mux configuration in kernel. Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com> Acked-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2008-12-097-18/+42
|\ | | | | | | | | | | | | | | | | * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] Fix alignment fault handling for ARMv6 and later CPUs [ARM] 5340/1: fix stack placement after noexecstack changes [ARM] 5339/1: fix __fls() on ARM [ARM] Orion: fix bug in pcie configuration cycle function field mask [ARM] omap: fix a pile of issues
| * [ARM] Fix alignment fault handling for ARMv6 and later CPUsRussell King2008-12-071-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On ARMv6 and later CPUs, it is possible for userspace processes to get stuck on a misaligned load or store due to the "ignore fault" setting; unlike previous CPUs, retrying the instruction without the 'A' bit set does not always cause the load to succeed. We have no real option but to default to fixing up alignment faults on these CPUs, and having the CPU fix up those misaligned accesses which it can. Reported-by: Wolfgang Grandegger <wg@grandegger.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 5340/1: fix stack placement after noexecstack changesLennert Buytenhek2008-12-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 8ec53663d2698076468b3e1edc4e1b418bd54de3 ("[ARM] Improve non-executable support") added support for detecting non-executable stack binaries. One of the things it does is to make READ_IMPLIES_EXEC be set in ->personality if we are running on a CPU that doesn't support the XN ("Execute Never") page table bit or if we are running a binary that needs an executable stack. This exposed a latent bug in ARM's asm/processor.h due to which we'll end up placing the stack at a very low address, where it will bump into the heap on any application that uses significant amount of stack or heap or both, causing many interesting crashes. Fix this by testing the ADDR_LIMIT_32BIT bit in ->personality instead of testing for equality against PER_LINUX_32BIT. Reviewed-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 5339/1: fix __fls() on ARMNicolas Pitre2008-12-041-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 0c65f459ce6c intended to fix truncation issues with fls() on ARMv5+ by renaming it to __fls() and wrapping it into a C function. However that didn't take into account the fact that __fls() already already had different semantics in the kernel. Let's move the __fls() code into fls() function directly, and redefine __fls() with the appropriate semantics. While at it, bring a generic __fls() definition for pre ARMv5 too. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Orion: fix bug in pcie configuration cycle function field maskSaeed Bishara2008-12-021-1/+1
| | | | | | | | | | | | | | The function field is 3 bits. Signed-off-by: Saeed Bishara <saeed@marvell.com> Signed-off-by: Nicolas Pitre <nico@marvell.com>
| * [ARM] omap: fix a pile of issuesRussell King2008-12-013-7/+7
| | | | | | | | | | | | | | | | | | This patch fixes a number of sillies, from missing 'const' to using 'return' in void functions, to functions with no arguments not even 'void' and a cast which isn't required. Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | spi: fix spi_s3c24xx_gpio num_chipselectBen Dooks2008-12-011-0/+1
|/ | | | | | | | | | The spi master driver must have num_chipselect set to allow the bus to initialise. Pass this through the platform data. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'for-rmk' of ↵Russell King2008-11-273-33/+120
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6
| * [ARM] pxa/palmtx: misc fixes to use generic GPIO APIMarek Vasut2008-11-271-32/+118
| | | | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa/corgi: update default config to exclude tosa from being builtEric Miao2008-11-261-1/+1
| | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa/pcm990: use negative number for an invalid GPIO in camera dataGuennadi Liakhovetski2008-11-261-0/+1
| | | | | | | | | | | | | | | | 0 is a valid GPIO number, use a negative number to specify, that this camera doesn't have a GPIO for bus-width switching. Signed-off-by: Guennadi Liakhovetski <lg@denx.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | Merge branch 'omap-fixes' of ↵Russell King2008-11-272-3/+4
|\ \ | |/ |/| | | git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
| * ARM: OMAP: Fixes for suspend / resume GPIO wake-up handlingTero Kristo2008-11-261-2/+3
| | | | | | | | | | | | | | | | | | Use the correct wake-up enable register, and make it work with 34xx also. Signed-off-by: Tero Kristo <tero.kristo@nokia.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: Typo fix for clock_allow_idleAmit Kucheria2008-11-251-1/+1
| | | | | | | | | | | | | | The second clk_deny_idle instance should be clk_allow_idle instead. Signed-off-by: Amit Kucheria <amit.kucheria@verdurent.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | [ARM] pxa/MioA701: bluetooth resume fixRobert Jarzmik2008-11-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | The G3IPL expects the value at RAM address 0xa020b020 to be exactly 1 to setup the bluetooth GPIOs properly. The actual code got a value from gpio_get_value() which was not 1, but a "not equal to 0" integer. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | [ARM] pxa/MioA701: fix memory corruption.Robert Jarzmik2008-11-221-0/+1
| | | | | | | | | | | | | | | | | | | | In the resume bootstrap, the early disable address is wrong. Fix it to RAM address 0xa020b000 instead of 0xa0200000, and make it consistent with RESUME_ENABLE_ADDR in mioa701.c. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | [ARM] 5330/1: mach-pxa: Fixup reset for systems using reboot=cold or other ↵Jaya Kumar2008-11-171-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | strings This patch makes do_hw_reset the default reboot behavior when nothing else matches. This restores reboot functionality on gumstix basix devices where reboot=cold is the default boot argument. Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com> Acked-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | Merge branch 'for-rmk' of ↵Russell King2008-11-172-2/+3
|\ \ | |/ |/| | | git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6
| * [ARM] pxa: fix incorrect PCMCIA PSKTSEL pin configuration for spitzEric Miao2008-11-161-1/+2
| | | | | | | | | | | | | | | | | | The original incorrect configuration caused GPIO79_nCS_3 being overriden, thus resulted in the NAND flash not being detected. The real PSKTSEL pin is on GPIO104 instead of GPIO79. Signed-off-by: Eric Miao <eric.miao@marvell.com> Cc: Richard Purdie <rpurdie@rpsys.net>
| * [ARM] pxa: fix I2C controller device being registered twice on AkitaEric Miao2008-11-161-1/+0
| | | | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com> Cc: Richard Purdie <rpurdie@rpsys.net>
| * pxafb: introduce LCD_TYPE_MASK and use it.Eric Miao2008-11-111-0/+1
| | | | | | | | | | Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2008-11-1314-98/+43
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] cdb89712: avoid namespace clashes with SRAM_ and BOOTROM_ constants [ARM] cdb89712,clps7500,h720x: avoid namespace clash for FLASH_* constants [ARM] integrator,realview,versatile: remove FLASH_* and EPROM_* constants [ARM] dma-mapping: fix compiler warning [ARM] iop: iop3xx needs registers mapped uncached+unbuffered [ARM] versatile: correct MMC clock rate [ARM] realview: correct MMC clock rate [ARM] 5329/1: Feroceon: fix feroceon_l2_inv_range
| * | [ARM] cdb89712: avoid namespace clashes with SRAM_ and BOOTROM_ constantsRussell King2008-11-131-18/+0
| | | | | | | | | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] cdb89712,clps7500,h720x: avoid namespace clash for FLASH_* constantsRussell King2008-11-134-13/+9
| | | | | | | | | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] integrator,realview,versatile: remove FLASH_* and EPROM_* constantsRussell King2008-11-133-53/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FLASH_* and EPROM_* constants are unused, and clash with drivers: drivers/atm/ambassador.h:257:1: warning: "FLASH_BASE" redefined drivers/atm/ambassador.h:258:1: warning: "FLASH_SIZE" redefined drivers/atm/iphase.h:332:1: warning: "EPROM_SIZE" redefined so remove them. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] dma-mapping: fix compiler warningRussell King2008-11-131-2/+11
| | | | | | | | | | | | | | | | | | | | | arch/arm/mm/dma-mapping.c: In function `dma_sync_sg_for_cpu': arch/arm/mm/dma-mapping.c:588: warning: statement with no effect Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] iop: iop3xx needs registers mapped uncached+unbufferedRussell King2008-11-093-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mikael Pettersson reported: The 2.6.28-rc kernels fail to detect PCI device 0000:00:01.0 (the first ethernet port) on my Thecus n2100 XScale box. There is however still a strange "ghost" device that gets partially detected in 2.6.28-rc2 vanilla. The IOP321 manual says: The user designates the memory region containing the OCCDR as non-cacheable and non-bufferable from the IntelR XScaleTM core. This guarantees that all load/stores to the OCCDR are only of DWORD quantities. Ensure that the OCCDR is so mapped. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] versatile: correct MMC clock rateRussell King2008-11-081-1/+1
| | | | | | | | | | | | | | | | | | The MMC clock source is actually 24MHz, not 33MHz. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] realview: correct MMC clock rateRussell King2008-11-081-1/+1
| | | | | | | | | | | | | | | | | | The MMC clock source is actually 24MHz, not 33MHz. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 5329/1: Feroceon: fix feroceon_l2_inv_rangeNicolas Pitre2008-11-081-2/+2
| |/ | | | | | | | | | | | | | | | | | | Same fix as commit c7cf72dcadb: when 'start' and 'end' are less than a cacheline apart and 'start' is unaligned we are done after cleaning and invalidating the first cacheline. Cc: <stable@kernel.org> Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* / iop-adma: use iop_paranoia() for debug BUG_ONsDan Williams2008-11-113-3/+11
|/ | | | | | | | Now that the critical read back to flush the next descriptor address is fixed we can downgrade some BUG_ONs that need only be enabled when testing changes to the driver. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* Merge branch 'omap-fixes' of ↵Russell King2008-11-064-16/+16
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
| * ARM: OMAP: Fix define for twl4030 irqsTony Lindgren2008-11-041-1/+1
| | | | | | | | | | | | | | Otherwise twl4030 gpios won't work. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: Fix get_irqnr_and_base to clear spurious interrupt bitsTony Lindgren2008-11-041-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On omap24xx, INTCPS_SIR_IRQ_OFFSET bits [6:0] contains the current active interrupt number. However, on 34xx INTCPS_SIR_IRQ_OFFSET bits [31:7] also contains the SPURIOUSIRQFLAG, which gets set if the interrupt sorting information is invalid. If the SPURIOUSIRQFLAG bits are not ignored, the interrupt code will occasionally produce a bunch of confusing errors: irq -33, desc: c02ddcc8, depth: 0, count: 0, unhandled: 0 ->handle_irq(): c006f23c, handle_bad_irq+0x0/0x22c ->chip(): 00000000, 0x0 ->action(): 00000000 Fix this by masking out only the ACTIVEIRQ bits. Also fix a confusing comment. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: Fix debugfs_create_*'s error checking method for arm/plat-omapZhaolei2008-11-041-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | debugfs_create_*() returns NULL if an error occurs, returns -ENODEV when debugfs is not enabled in the kernel. Comparing to PATCH v1, because clk_debugfs_init is included in "#if defined CONFIG_DEBUG_FS", we only need to check NULL return. Thanks Li Zefan <lizf@cn.fujitsu.com> debugfs_create_u8() and other function's return value's checking method are also fixed in this patch. Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: Fix compiler warnings in gpmc.cSanjeev Premi2008-11-041-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Fix these compiler warnings: gpmc.c: In function 'gpmc_init': gpmc.c:432: warning: 'return' with a value, in function returning void gpmc.c:439: warning: 'return' with a value, in function returning void Signed-off-by: Sanjeev Premi <premi@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | Merge branch 'fixes' of ↵Russell King2008-11-061-2/+2
|\ \ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/djbw/xscaleiop
| * | [ARM] xsc3: fix xsc3_l2_inv_rangeDan Williams2008-11-061-2/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When 'start' and 'end' are less than a cacheline apart and 'start' is unaligned we are done after cleaning and invalidating the first cacheline. So check for (start < end) which will not walk off into invalid address ranges when (start > end). This issue was caught by drivers/dma/dmatest. 2.6.27 is susceptible. Cc: <stable@kernel.org> Cc: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Cc: Lothar WaÃ<9f>mann <LW@KARO-electronics.de> Cc: Lennert Buytenhek <buytenh@marvell.com> Cc: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* | [ARM] mm: fix page table initializationRussell King2008-11-063-36/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a result of the ptebits changes, we ended up marking device mappings as normal memory on ARMv7 CPUs, resulting in undesirable behaviour with serial ports and the like. While reviewing the section mapping table entries, other errors in the memory type settings for devices were detected and confirmed to prevent Xscale3 platforms booting. Tested on: OMAP34xx (ARMv7), OMAP24xx (ARMv6), OMAP16xx (ARM926T, ARMv5), PXA311 (Xscale3), PXA272 (Xscale), PXA255 (Xscale), IXP42x (Xscale), S3C2410 (ARM920T, ARMv4T), ARM720T (ARMv4T) StrongARM-110 (ARMv4) Acked-by: Tony Lindgren <tony@atomide.com> Tested-by: Robert Jarzmik <robert.jarzmik@free.fr> Tested-by: Mike Rapoport <mike@compulab.co.il> Tested-by: Ben Dooks <ben-linux@fluff.org> Tested-by: Anders Grafström <grfstrm@users.sourceforge.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] fix naming of MODULE_START / MODULE_ENDRussell King2008-11-063-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | As of 73bdf0a60e607f4b8ecc5aec597105976565a84f, the kernel needs to know where modules are located in the virtual address space. On ARM, we located this region between MODULE_START and MODULE_END. Unfortunately, everyone else calls it MODULES_VADDR and MODULES_END. Update ARM to use the same naming, so is_vmalloc_or_module_addr() can work properly. Also update the comment on mm/vmalloc.c to reflect that ARM also places modules in a separate region from the vmalloc space. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] fix VFP+softfloat binariesRussell King2008-11-041-1/+5
|/ | | | | | | | | | | | | 2.6.28-rc tightened up the ELF architecture checks on ARM. For non-EABI it only allows VFP if the hardware supports it. However, the kernel fails to also inspect the soft-float flag, so it incorrectly rejects binaries using soft-VFP. The fix is simple: also check that EF_ARM_SOFT_FLOAT isn't set before rejecting VFP binaries on non-VFP hardware. Acked-by: Mikael Pettersson <mikpe@it.uu.se> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5326/1: AFEB9260: Fix for i2c_board_info structureSergey Lapin2008-10-301-0/+1
| | | | | | | | | i2c_board_info array was filled incorrectly. Due to circumstances, the way it is filled works. This patch fills array properly. Signed-off-by: Sergey Lapin <slapin@ossfans.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Merge branch 'for-rmk-rc' of ↵Russell King2008-10-304-3/+25
|\ | | | | | | git://pasiphae.extern.pengutronix.de/git/imx/linux-2.6
| * [ARM] mx31ads: Add missing includeSascha Hauer2008-10-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | mx31ads_defconfig compilation failed with arch/arm/mach-mx3/mx31ads.c: In function 'mxc_init_imx_uart': arch/arm/mach-mx3/mx31ads.c:102: error: 'mxc_uart_device0' undeclared (first use in this function) arch/arm/mach-mx3/mx31ads.c:102: error: (Each undeclared identifier is reported only once arch/arm/mach-mx3/mx31ads.c:102: error: for each function it appears in.) make[1]: *** [arch/arm/mach-mx3/mx31ads.o] Error 1 Add missing include Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>