Now if the problem occurs that triggered the BUG_ON before, the machine
runs in a NULL pointer dereference. So it wouldn't be much harder now
to debug the situation if it occured.
arm/imx/gpio: GPIO_INT_{HIGH,LOW}_LEV are not necessarily constant
GPIO_INT_LOW_LEV is defined as
(cpu_is_mx1_mx2() ? 0x3 : 0x0)
so depending on compiler optimisation and enabled SoCs this doesn't
qualify as a constant expression as needed by a switch statement.
Ditto for GPIO_INT_HIGH_LEV.
arm/mx2: define seperate gpio port descriptions for imx21 and imx27
As the gpio ports have different addresses on imx21 and imx27 there are
two different port descriptions needed if not relying on the overloaded
cpp macro IO_ADDRESS. So some cpp magic is added to minimize code
duplication.
Uwe Kleine-König [Thu, 11 Feb 2010 15:31:49 +0000 (16:31 +0100)]
arm/mx2: use per-SOC nand device
The previous commit introduced one nand device per SoC. Use this
directly instead of the compatibility macro that will break for
multi-SoC kernels. And while at it remove the compatibility macro now
that all in-tree users are fixed.
arm/mx2: define seperate imx_nand devices for imx21 and imx27
As the NFC controller has different addresses on imx21 and imx27 there
are two different devices needed if not relying on the overloaded cpp
macro NFC_BASE_ADDR. So some cpp magic is added to minimize code
duplication.
As obviously these two defines need different names, the name of the old
device is #defined to the new one when building for only one of imx21 or
imx27.
Uwe Kleine-König [Wed, 13 Jan 2010 17:07:11 +0000 (18:07 +0100)]
mxc91231: use MXC91231_IO_ADDRESS instead of MXC91231_AIPS1_IO_ADDRESS
Apart from MXC91231_IO_ADDRESS itself this was the only usage of
MXC91231_AIPS1_IO_ADDRESS. Now MXC91231_IO_ADDRESS can be recoded with
IMX_IO_ADDRESS and all helper macros can go away.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Cc: Sascha Hauer <kernel@pengutronix.de> Cc: Russell King <linux@arm.linux.org.uk> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Daniel Schaeffer <daniel.schaeffer@timesys.com> Cc: Alberto Panizzo <maramaopercheseimorto@gmail.com> Cc: Ivo Clarysse <ivo.clarysse@gmail.com>
Uwe Kleine-König [Mon, 11 Jan 2010 10:37:24 +0000 (11:37 +0100)]
mx1: prefix SOC specific defines with MX1_ and deprecate old names
The old names are defined only if the cpp symbol
IMX_NEEDS_DEPRECATED_SYMBOLS exists, which is defined (for now) for all
files below arch/arm/mach-mx1.
This was done earlier for mx2 and mx3, too.
USBD_INT0 is for now defined unconditionally to prevent breaking
drivers/usb/gadget/imx_udc.
While at it use IMX_IO_ADDRESS to define MX1_IO_ADDRESS which
adds a cast to the IO_ADDRESS macro fixing many warnings like
arch/arm/mach-mx1/generic.c:51: warning: passing argument 1 of 'mxc_init_irq' makes pointer from integer without a cast
Baruch Siach [Mon, 25 Jan 2010 10:58:21 +0000 (12:58 +0200)]
mx25: fix time accounting
The gpt_clk rate function doesn't consider the PER divider. This causes a
significant drift in time accounting. Fix this by introducing the correct rate
calculation function.
Mark Brown [Mon, 11 Jan 2010 16:33:18 +0000 (16:33 +0000)]
MXC: Add AUDMUXv2 register decode to debugfs
Since AUDMUX configuration appears to be one of the common stumbling
blocks for people setting up i.MX audio try to provide some diagnostic
information describing the current setup to assisist people in working
out what's going on.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
imx: define functions to configure chip selects in the WEIM
This has the addional effect that the macros CSCR_U, CSCR_L and CSCR_A
are not used anymore in mach-pcm038.c and mach-qong.c. These still use
the deprecated IO_ADDRESS macro and shouldn't be used in new code.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Cc: Sascha Hauer <kernel@pengutronix.de> Cc: Russell King <linux@arm.linux.org.uk> Cc: Holger Schurig <hs4233@mail.mn-solutions.de> Cc: Dmitriy Taychenachev <dimichxp@gmail.com>
This include isn't needed and hurts when defining static inline
functions in mach/hardware.h (or files included by mach/hardware.h).
The reason is that the consumers of mach/uncompress.h are compiled using
-Dstatic= so the code for all inline function is included in e.g.
arch/arm/boot/compressed/misc.o.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Cc: Sascha Hauer <kernel@pengutronix.de> Cc: Russell King <linux@arm.linux.org.uk> Cc: Jörg Knobloch <knobloch@incostartec.com> Cc: Alan Carvalho de Assis <acassis@gmail.com> Cc: Daniel Mack <daniel@caiaq.de> Cc: Dmitriy Taychenachev <dimichxp@gmail.com>
For some time now the defconfig for mx1ads produces a kernel for
a versatile board. As CONFIG_ARCH_MX1ADS is included in the mx1
defconfig just get rid of mx1ads_defconfig.
Uwe Kleine-König [Wed, 16 Dec 2009 18:06:12 +0000 (19:06 +0100)]
imx31: define and use MX31_IO_ADDRESS
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Cc: Sascha Hauer <kernel@pengutronix.de> Cc: Russell King <linux@arm.linux.org.uk> Cc: Daniel Mack <daniel@caiaq.de> Cc: Greg Kroah-Hartman <gregkh@suse.de> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Magnus Lilja <lilja.magnus@gmail.com>
Uwe Kleine-König [Thu, 10 Dec 2009 09:19:43 +0000 (10:19 +0100)]
imx: rename Kconfig symbol for "Eukrea CPUIMX27 module"
Not using MACH_CPUIMX27 makes machine_is_cpuimx27 always return 0
independent of building support for this machine.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Cc: Sascha Hauer <kernel@pengutronix.de> Cc: Russell King <linux@arm.linux.org.uk> Cc: Jean Delvare <khali@linux-fr.org> Cc: Eric Benard <eric@eukrea.com>
imx/mach-mx2: use constants namespaced by the corresponding SOC (easy part)
This just leaves devices.c, generic.c and serial.c to clean up. As
these files are used on more than one SOC they need some more work.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Cc: Holger Schurig <hs4233@mail.mn-solutions.de> Cc: Rabin Vincent <rabin@rab.in> Cc: Javier Martin <javier.martin@vista-silicon.com> Cc: Valentin Longchamp <valentin.longchamp@epfl.ch> Cc: Jean Delvare <khali@linux-fr.org> Cc: Eric Benard <eric@eukrea.com> Cc: Ivo Clarysse <ivo.clarysse@gmail.com> Cc: Vladimir Barinov <vbarinov@embeddedalley.com> Cc: Daniel Schaeffer <daniel.schaeffer@timesys.com> Cc: Simon POLETTE <spolette@adnlysd018.(none)> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Alan Carvalho de Assis <acassis@gmail.com> Cc: Luotao Fu <l.fu@pengutronix.de>
Uwe Kleine-König [Fri, 11 Dec 2009 08:57:27 +0000 (09:57 +0100)]
imx/clock-imx27: use a macro to define registers
This way the base address isn't hard coded in each register definition
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Cc: Sascha Hauer <kernel@pengutronix.de> Cc: Russell King <linux@arm.linux.org.uk> Cc: Rabin Vincent <rabin@rab.in> Cc: Javier Martin <javier.martin@vista-silicon.com> Cc: Valentin Longchamp <valentin.longchamp@epfl.ch>
Uwe Kleine-König [Tue, 22 Dec 2009 16:31:05 +0000 (17:31 +0100)]
imx/mx3: depend on USB_ULPI for otg_ulpi_create
otg_ulpi_create is defined in drivers/usb/otg/ulpi.c which depends on
CONFIG_USB_ULPI. So protect its usage by the same symbol. Moreover
mxc_ulpi_access_ops needs CONFIG_MXC_ULPI.
Wolfgang Denk [Mon, 14 Dec 2009 23:27:42 +0000 (00:27 +0100)]
ARM: MX3: make CPU revision number detection work on all boards
Commit 52939c03 (ARM: MX3: fix CPU revision number detection) started
using the CPU's SREV register for revision number detection. This
makes it mandatory to have a valid SPBA0 mapping. Add this to the
global map_io code instead of adding multiple copies for each board.
Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Daniel Mack <daniel@caiaq.de> Cc: Sascha Hauer <s.hauer@pengutronix.de>
Tested on Qong (EVB-Lite) Tested-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Linus Torvalds [Thu, 24 Dec 2009 21:01:29 +0000 (13:01 -0800)]
Merge branch 'sysctl' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-misc-2.6
* 'sysctl' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-misc-2.6:
SYSCTL: Add a mutex to the page_alloc zone order sysctl
SYSCTL: Print binary sysctl warnings (nearly) only once
Linus Torvalds [Thu, 24 Dec 2009 21:00:02 +0000 (13:00 -0800)]
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (34 commits)
classmate-laptop: add support for Classmate PC ACPI devices
hp-wmi: Fix two memleaks
acer-wmi, msi-wmi: Remove needless DMI MODULE_ALIAS
dell-wmi: do not keep driver loaded on unsupported boxes
wmi: Free the allocated acpi objects through wmi_get_event_data
drivers/platform/x86/acerhdf.c: check BIOS information whether it begins with string of table
acerhdf: add new BIOS versions
acerhdf: limit modalias matching to supported
toshiba_acpi: convert to seq_file
asus_acpi: convert to seq_file
ACPI: do not select ACPI_DOCK from ATA_ACPI
sony-laptop: enumerate rfkill devices using SN06
sony-laptop: rfkill support for newer models
ACPI: fix OSC regression that caused aer and pciehp not to load
MAINTAINERS: add maintainer for msi-wmi driver
fujitu-laptop: fix tests of acpi_evaluate_integer() return value
arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c: avoid cross-CPU interrupts by using smp_call_function_any()
ACPI: processor: remove _PDC object list from struct acpi_processor
ACPI: processor: change acpi_processor_set_pdc() interface
ACPI: processor: open code acpi_processor_cleanup_pdc
...
Linus Torvalds [Thu, 24 Dec 2009 20:59:11 +0000 (12:59 -0800)]
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:
ocfs2/trivial: Use le16_to_cpu for a disk value in xattr.c
ocfs2/trivial: Use proper mask for 2 places in hearbeat.c
Ocfs2: Let ocfs2 support fiemap for symlink and fast symlink.
Ocfs2: Should ocfs2 support fiemap for S_IFDIR inode?
ocfs2: Use FIEMAP_EXTENT_SHARED
fiemap: Add new extent flag FIEMAP_EXTENT_SHARED
ocfs2: replace u8 by __u8 in ocfs2_fs.h
ocfs2: explicit declare uninitialized var in user_cluster_connect()
ocfs2-devel: remove redundant OCFS2_MOUNT_POSIX_ACL check in ocfs2_get_acl_nolock()
ocfs2: return -EAGAIN instead of EAGAIN in dlm
ocfs2/cluster: Make fence method configurable - v2
ocfs2: Set MS_POSIXACL on remount
ocfs2: Make acl use the default
ocfs2: Always include ACL support
Linus Torvalds [Thu, 24 Dec 2009 20:57:45 +0000 (12:57 -0800)]
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
VIDEO: cyberpro: pci_request_regions needs a persistent name
ARM: dma-isa: request cascade channel after registering it
ARM: footbridge: trim down old ISA rtc setup
ARM: fix PAGE_KERNEL
ARM: Fix wrong shared bit for CPU write buffer bug test
ARM: 5857/1: ARM: dmabounce: fix build
ARM: 5856/1: Fix bug of uart0 platfrom data for nuc900
ARM: 5855/1: putc support for nuc900
ARM: 5854/1: fix compiling error for NUC900
ARM: 5849/1: ARMv7: fix Oprofile events count
ARM: add missing include to nwflash.c
ARM: Kill CONFIG_CPU_32
ARM: Convert VFP/Crunch/XscaleCP thread_release() to exit_thread()
ARM: 5853/1: ARM: Fix build break on ARM v6 and v7
Linus Torvalds [Thu, 24 Dec 2009 20:54:02 +0000 (12:54 -0800)]
Merge branch 'sh/for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
* 'sh/for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
sh: Ensure all PG_dcache_dirty pages are written back.
sh: mach-ecovec24: setup.c detailed correction
serial: sh-sci: Convert tremaining ctrl_xxx I/O routines to __raw_xxx.
serial: sh-sci: earlyprintk zero uartclk fix
sh: Only use bl bit toggling for sleeping idle.
sh: Restore bl bit toggling in idle loop.
sh: Fix up MAX_DMA_CHANNELS definition when DMA is disabled.
sh: dmaengine support for SH7785
sh: dmaengine support for sh7724.
Russell King [Thu, 24 Dec 2009 12:52:44 +0000 (12:52 +0000)]
ARM: footbridge: trim down old ISA rtc setup
This fixes a "start_kernel(): bug: interrupts were enabled early".
rtc_cmos now takes care of initializing the ISA RTC and reading the
current time and date from it; there's no need to repeat that here,
thereby causing interrupts to be enabled too early.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>