summaryrefslogtreecommitdiffstats
path: root/arch
AgeCommit message (Collapse)Author
2012-11-22ARM: EXYNOS: add all i2c busses to auxdata for DTOlof Johansson
Needed to match device ids for clocks, etc. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Doug Anderson <dianders@chromium.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-11-22ARM: dts: Add aliases for i2c controller for exynos4Doug Anderson
This is similar to a recent commit for exynos5250 titled: ARM: EXYNOS: Add aliases for i2c controller Adding aliases will be useful to prevent warnings in a future change. See: i2c: s3c2410: Get the i2c bus number from alias id Signed-off-by: Doug Anderson <dianders@chromium.org> Acked-by: Olof Johansson <olof@lixom.net> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-11-22ARM: S3C24XX: Fix potential NULL pointer dereference errorSachin Kamat
chan->end is tested for being NULL. However in the event that it is NULL, the subsequent assignment statement would lead to NULL pointer dereference. Thus dereferencing it only when it is not NULL. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-11-21Merge branch 'at91' into develLinus Walleij
2012-11-21sh: kfr2r09: Use the backlight API for brightness controlLaurent Pinchart
Don't hook up brightness control in the display on/off operations, use the backlight API instead. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Paul Mundt <lethal@linux-sh.org>
2012-11-21ARM: mach-shmobile: ag5evm: Use the backlight API for brightness controlLaurent Pinchart
Don't hook up brightness control in the display on/off operations, use the backlight API instead. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Simon Horman <horms@verge.net.au>
2012-11-21sh: ecovec24: Remove unused get_brightness LCDC callbackLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Paul Mundt <lethal@linux-sh.org>
2012-11-21sh: ap325rxa: Remove unused get_brightness LCDC callbackLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Paul Mundt <lethal@linux-sh.org>
2012-11-21ARM: mach-shmobile: mackerel: Removed unused get_brightness callbackLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Simon Horman <horms@verge.net.au>
2012-11-21ARM: mach-shmobile: Remove the unused sh_mipi_dsi_info lcd_chan fieldLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Simon Horman <horms@verge.net.au>
2012-11-21ARM: mach-shmobile: Initiliaze the new sh_mipi_dsi_info channel fieldLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Simon Horman <horms@verge.net.au>
2012-11-21ARM: mach-shmobile: ag5evm: Add LCDC tx_dev field to platform dataLaurent Pinchart
Reference the MIPI-DSI transceiver in the LCDC platform data and make sure it gets registered before the LCDC. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Simon Horman <horms@verge.net.au>
2012-11-21Merge tag 'highbank-debugll-cleanup' of ↵Olof Johansson
git://sources.calxeda.com/kernel/linux into next/soc From Rob Herring: Use common debug_ll_init function and remove the static mapping code from mach-highbank. * tag 'highbank-debugll-cleanup' of git://sources.calxeda.com/kernel/linux: ARM: highbank: use common debug_ll_io_init ARM: implement debug_ll_io_init()
2012-11-21Merge branch 'vexpress-clk-soc' of ↵Olof Johansson
git://git.linaro.org/people/pawelmoll/linux into next/soc From Pawel Moll: * 'vexpress-clk-soc' of git://git.linaro.org/people/pawelmoll/linux: ARM: vexpress: Remove motherboard dependencies in the DTS files ARM: vexpress: Start using new Versatile Express infrastructure ARM: vexpress: Add config bus components and clocks to DTs mfd: Versatile Express system registers driver mfd: Versatile Express config infrastructure
2012-11-21Merge branch 'depends/clk' into next/socOlof Johansson
From Mike Turquette: * depends/clk: clk: Common clocks implementation for Versatile Express clk: Versatile Express clock generators ("osc") driver CLK: clk-twl6040: Initial clock driver for OMAP4+ McPDM fclk clock clk: fix return value check in sirfsoc_of_clk_init() clk: fix return value check in of_fixed_clk_setup() clk: ux500: Update sdmmc clock to 100MHz for u8500 clk: ux500: Support prcmu ape opp voltage clock mfd: dbx500: Export prmcu_request_ape_opp_100_voltage clk: Don't return negative numbers for unsigned values with !clk clk: Fix documentation typos clk: Document .is_enabled op clk: SPEAr: Vco-pll: Fix compilation warning
2012-11-21Merge tag 'bcm2835-for-3.8-defconfig' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi into next/soc From Stephen Warren: ARM: bcm2835: defconfig updates procfs and sysfs are enabled in bcm2835_defconfig. * tag 'bcm2835-for-3.8-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi: ARM: bcm2835: enable procfs and sysfs in defconfig Signed-off-by: Olof Johansson <olof@lixom.net>
2012-11-21Merge tag 'bcm2835-for-3.8-soc' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi into next/soc From Stephen Warren: ARM: bcm2835: core SoC enhancements A machine restart/reboot implementation is added. The GPIO/pinmux controller is instantiated, and dummy gpio.h added. * tag 'bcm2835-for-3.8-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi: ARM: bcm2835: enable GPIO/pinctrl ARM: bcm2835: implement machine restart hook Signed-off-by: Olof Johansson <olof@lixom.net>
2012-11-21Merge tag 'tegra-for-3.8-defconfig' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/soc From Stephen Warren: ARM: tegra: defconfig update Many new features are enabled in tegra_defconfig: * BRCMFMAC: wlan driver, enable as module. * MTD, MTD_CHAR, MTD_M25P80, SPI_TEGRA20_SLINK, CONFIG_SPI_TEGRA20_SFLASH to enable serial flash on Cardhu and TrimSlice. * PWM/backlight features for use with tegradrm. * tegradrm; Tegra's new display driver. * CMA, so that tegradrm can allocate large buffers. * SquashFS, which is used as the root filesystem on boards based on the Tamonten processor module. * tag 'tegra-for-3.8-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: ARM: tegra: defconfig updates
2012-11-21Merge tag 'tegra-for-3.8-cpuidle' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/soc From Stephen Warren: ARM: tegra: cpuidle enhancements A cpuidle state "LP2" is added, which power-gates the CPUs. Support for CPUs 1..n is essentially complete, although support for CPU0 could benefit from future use of coupled-cpuidle or similar techniques. A couple of very minor cleanups to cpuidle were included too. This pull request is based on tegra-for-3.8-soc. * tag 'tegra-for-3.8-cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: ARM: tegra: retain L2 content over CPU suspend/resume ARM: tegra30: cpuidle: add powered-down state for CPU0 ARM: tegra30: flowctrl: add cpu_suspend_exter/exit function ARM: tegra30: clocks: add CPU low-power function into tegra_cpu_car_ops ARM: tegra30: common: enable csite clock ARM: tegra30: cpuidle: add powered-down state for secondary CPUs ARM: tegra: cpuidle: add CPU resume function ARM: tegra: cpuidle: separate cpuidle driver for different chips ARM: tegra: rename the file of "sleep-tXX" to "sleep-tegraXX" ARM: tegra: cpuidle: replace LP3 with ARM_CPUIDLE_WFI_STATE
2012-11-21Merge tag 'tegra-for-3.8-soc' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/soc From Stephen Warren: ARM: tegra: core SoC code enhancements Various small clock initialization table and driver changes to support WiFi modules, SPI controllers, and host1x (graphics/display hardware). Various AHB/APB-related clocks were added to the Tegra30 clock driver. The level 2 cache initialization is now driven by data from device tree, and the cache configuration tweaked. AUXDATA is added to support SPI controllers and host1x. Code to decode Tegra's "speedo" process identification fuses is added. This pull request is based on tegra-for-3.8-cleanup. * tag 'tegra-for-3.8-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: (26 commits) ARM: tegra: Add Tegra30 host1x clock support ARM: tegra: Add AUXDATA for Tegra30 host1x ARM: tegra: Add Tegra20 host1x clock support ARM: tegra: Add AUXDATA for Tegra20 host1x ARM: tegra: Tegra30 speedo-based process identification ARM: tegra: Add speedo-based process identification ARM: tegra: flexible spare fuse read function ARM: tegra: Implement 6395/1 for Tegra ARM: tegra: Add OF_DEV_AUXDATA for sflash driver in board dt ARM: tegra: enable data prefetch on L2 ARM: tegra: Add OF_DEV_AUXDATA for SLINK driver in board dt ARM: tegra: common: using OF api for L2 cache init ARM: tegra: dt: add L2 cache controller ARM: tegra30: clocks: add AHB and APB clocks ARM: tegra: set up wlan clocks for tegra dt ARM: tegra: move irammap.h to mach-tegra ARM: tegra: move iomap.h to mach-tegra ARM: tegra: remove <mach/dma.h> ARM: tegra: move tegra-ahb.h out of arch/arm/mach-tegra/ ARM: tegra: remove unnecessary includes of <mach/*.h> ...
2012-11-21ARM: zynq: Remove all unused mach headersMichal Simek
Remove empty unused mach/hardware.h. mach/irqs.h is unused because SPARSE_IRQ are ON by default. mach/timex.h is unused because of CONFIG_ARCH_MULTIPLATFORM. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Tested-by: Josh Cartwright <josh.cartwright@ni.com>
2012-11-21ARM: zynq: add support for ARCH_MULTIPLATFORMJosh Cartwright
The majority of changes are necessary to remove dependencies on header files within arch/arm/mach-zynq/include/mach: uncompress.h - Deleted. It is unused for ARCH_MULTIPLATFORM builds. uart.h: - Move uart definitions out of uart.h into debug/zynq.S, which is now the only user zynq_soc.h: - Move SCU address definitions into common.c. - Other #defines, such as PERIPHERAL_CLOCK_RATE, TTC0_BASE, etc, are unused and can be dropped Signed-off-by: Josh Cartwright <josh.cartwright@ni.com> Tested-by: Michal Simek <michal.simek@xilinx.com>
2012-11-21ARM: zynq: make use of debug_ll_io_init()Josh Cartwright
Convert low-level debugging routines to make use of debug_ll_io_init(). This is part of the preparation for ARCH_MULTIPLATFORM support for Zynq. Signed-off-by: Josh Cartwright <josh.cartwright@ni.com> Tested-by: Michal Simek <michal.simek@xilinx.com>
2012-11-21ARM: zynq: remove TTC early mappingJosh Cartwright
Now that the TTC driver has proper support for DT bindings, it is not necessary for the registers to be mapped early. They will be mapped during clock initialization using of_iomap(). Remove the early mapping. In addition, remove the extraneous zynq_soc.h include from the timer driver. Signed-off-by: Josh Cartwright <josh.cartwright@ni.com> Tested-by: Michal Simek <michal.simek@xilinx.com>
2012-11-21Merge branch 'devel/debug_ll_init' into zynq/multiplatformMichal Simek
2012-11-21Merge branch 'ste-dt-for-next' of ↵Olof Johansson
git://git.linaro.org/people/ljones/linux-3.0-ux500 into next/dt From Lee Jones. It's an update of the previous ux500/dt branch with a few more patches: * 'ste-dt-for-next' of git://git.linaro.org/people/ljones/linux-3.0-ux500: ARM: ux500: Describe UART platform registering issues more accurately ARM: ux500: Enable all MMC devices on the u9540 when booting with DT ARM: ux500: Enable SDI4 port on the u9540 when booting with Device Tree ARM: ux500: Add UART support to the u9540 Device Tree ARM: ux500: Add skeleton DTS file for the u9540 ARM: ux500: Add SDI (MMC) support to the HREF Device Tree ARM: ux500: Move regulator-name properties out to board DTS files Signed-off-by: Olof Johansson <olof@lixom.net>
2012-11-21Merge tag 'lpc32xx-dts-for-3.7' of git://git.antcom.de/linux-2.6 into next/dtOlof Johansson
From Roland Stigge: DTS updates for the LPC32xx Soc for 3.7 This time, only one patch: Adding the motor PWM to lpc32xx.dtsi * tag 'lpc32xx-dts-for-3.7' of git://git.antcom.de/linux-2.6: ARM: LPC32xx: Add the motor PWM to base dts file Signed-off-by: Olof Johansson <olof@lixom.net>
2012-11-21Merge tag 'bcm2835-for-3.8-cleanup' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi into next/cleanup From Stephen Warren: ARM: bcm2835: cleanup Just a few minor/trivial cleanups. * tag 'bcm2835-for-3.8-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi: ARM: bcm2835: remove useless variables from Makefile.boot ARM: bcm2835: Fix typo in the error message ARM: bcm2835: Add missing static modifiers
2012-11-21Merge tag 'tegra-for-3.8-single-zimage' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/multiplatform From Stephen Warren: ARM: tegra: single-zImage preparation work Various cleanups and enhancements are made to core Tegra code towards the aim of including Tegra in a multi-platform ARM kernel: RTC, timer, and TWD are configured via device tree. SPARSE_IRQ is enabled. Tegra's debug_ll options are simplified, and the macros brought into line with other multi-platform implementations, and moved to the new common location. Two headers still need to be eliminated in order to include Tegra in a multi-platform kernel/ <mach/{clk,powergate}.h>. A new common API needs to be invented to replace parts of clk.h. powergate.h might be replaced by regulators; this needs more investigation. This pull request is based on tegra-for-3.8-dt, followed by a merge of arm-soc's devel/debug_ll_init branch. * tag 'tegra-for-3.8-single-zimage' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: (58 commits) ARM: tegra: move debug-macro.S to include/debug ARM: tegra: don't include iomap.h from debug-macro.S ARM: tegra: decouple uncompress.h and debug-macro.S ARM: tegra: simplify DEBUG_LL UART selection options ARM: tegra: select SPARSE_IRQ ARM: tegra: enhance timer.c to get IO address from device tree ARM: tegra: enhance timer.c to get IRQ info from device tree ARM: timer: fix checkpatch warnings ARM: tegra: add TWD to device tree ARM: tegra: define DT bindings for and instantiate RTC ARM: tegra: define DT bindings for and instantiate timer ARM: tegra: whistler: enable HDMI port ARM: tegra: tec: Enable HDMI output ARM: tegra: plutux: Enable HDMI output ARM: tegra: tamonten: Add host1x support ARM: tegra: trimslice: enable HDMI port ARM: tegra: harmony: enable HDMI port ARM: tegra: Add Tegra30 host1x support ARM: tegra: Add Tegra20 host1x support ARM: tegra: trimslice: enable SPI flash ...
2012-11-21Merge tag 'tegra-for-3.8-dt' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/dt From Stephen Warren: ARM: tegra: device tree changes A wide variety of device tree additions are made across many Tegra boards: * WiFi is supported on Seaboard, Ventana, and Cardhu. * An I2C mux is added for Ventana, and Tamonten. * SPI flash is added to Cardhu, and TrimSlice. * Temperature sensors are added to Harmony, Tamonten, and Ventana. * host1x (graphics/display controller) is added to the SoC include files. * HDMI displays are enabled on Harmony, TrimSlice, Tamonten, Plutux, Tec, and Whistler. This pull request is based on tegra-for-3.8-soc. * tag 'tegra-for-3.8-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: (47 commits) ARM: tegra: whistler: enable HDMI port ARM: tegra: tec: Enable HDMI output ARM: tegra: plutux: Enable HDMI output ARM: tegra: tamonten: Add host1x support ARM: tegra: trimslice: enable HDMI port ARM: tegra: harmony: enable HDMI port ARM: tegra: Add Tegra30 host1x support ARM: tegra: Add Tegra20 host1x support ARM: tegra: trimslice: enable SPI flash ARM: tegra: dts: add sflash controller dt entry ARM: tegra: ventana: Add NCT1008 temperature sensor ARM: tegra: tamonten: Add NCT1008 temperature sensor ARM: tegra: harmony: Add ADT7641 temperature sensor ARM: tegra: tec: Remove redundant DT properties ARM: tegra: tamonten: Add DDC/PTA pinmux ARM: tegra: dts: cardhu: enable SLINK4 ARM: tegra: dts: add slink controller dt entry ARM: dt: tegra: ventana: define pinmux for ddc ARM: dt: t30 cardhu: set pinmux and power for wlan ARM: dt: t20 ventana: set pinmux and power for wlan ...
2012-11-21ARM: sunxi: Add sunxi restart function via onchip watchdogMaxime Ripard
Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2012-11-21Merge tag 'tegra-for-3.8-cleanup' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/cleanup From Stephen Warren: ARM: tegra: cleanup for 3.8 Various trivial cleanup changes of the Tegra code for 3.8. Many of the changes simply remove useless #include statements, which enable those headers to be removed or moved later, as work towards multi-platform zImage support. <mach/{iram,io}map.h> are moved up to arch/arm/mach-tegra to prevent any new code outside mach-tegra from using them. Finally, the regulator definitions in all board device tree files are updated to use the new simpler syntax that was agreed upon. * tag 'tegra-for-3.8-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: ARM: tegra: move irammap.h to mach-tegra ARM: tegra: move iomap.h to mach-tegra ARM: tegra: remove <mach/dma.h> ARM: tegra: move tegra-ahb.h out of arch/arm/mach-tegra/ ARM: tegra: remove unnecessary includes of <mach/*.h> iommu: tegra: remove include of <mach/iomap.h> staging: nvec: remove include of <mach/iomap.h> crypto: tegra: remove include of <mach/clk.h> ARM: tegra: update *.dts for regulator-compatible deprecation usb: phy: tegra remove include of <mach/iomap.h> usb: host: tegra remove include of <mach/iomap.h>
2012-11-21Merge branch 'armsoc/fix' of git://github.com/hzhuang1/linux into ↵Olof Johansson
next/fixes-non-critical From Haojian Zhuang: * 'armsoc/fix' of git://github.com/hzhuang1/linux: ARM: pxa: fix pxa25x gpio wakeup setting + Linux 3.7-rc6
2012-11-21Merge branch 'armsoc/board' of git://github.com/hzhuang1/linux into next/boardsOlof Johansson
From Haojian Zhuang: * 'armsoc/board' of git://github.com/hzhuang1/linux: ARM: mmp: select pinctrl driver + Linux 3.7-rc6
2012-11-21pinctrl/u300/coh901: stop spawning pinctrl from GPIOLinus Walleij
Let's stop spawning the pinctrl driver from the GPIO driver, we have these two mechanisms broken apart now, and they can each probe in isolation. If the GPIO driver cannot find its pin controller (pinctrl-u300), the pin controller core will tell it to defer probing. Reviewed-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2012-11-20Merge branch 'boards3' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/boards2 From Simon Horman: * 'boards3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: mackerel: Add FLCTL IRQ resource
2012-11-20Merge tag 'at91-for-next-dt' of git://github.com/at91linux/linux-at91 into ↵Olof Johansson
next/dt From Nicolas Ferre: More DT material for AT91: - conversion of watchdog to DT - usart definition for evk-pro3 board * tag 'at91-for-next-dt' of git://github.com/at91linux/linux-at91: ARM: at91/dts: evk-pro3: enable watchdog ARM: at91/dts: add at91sam9_wdt driver to at91sam926x, at91sam9g45 watchdog: at91sam9_wdt: add device tree support ARM: at91: dt: evk-pro3: enable uart0 and uart2
2012-11-20Merge tag 'at91-for-next-cleanup' of git://github.com/at91linux/linux-at91 ↵Olof Johansson
into next/cleanup From Nicolas Ferre: Removing unneeded macro. * tag 'at91-for-next-cleanup' of git://github.com/at91linux/linux-at91: ARM: at91/atmel-mci: remove unused setup_dma_addr() macro
2012-11-20Merge tag 'at91-header' of git://github.com/at91linux/linux-at91 into ↵Olof Johansson
next/headers From Nicolas Ferre: One fix related to UART for the "headers move" branch * tag 'at91-header' of git://github.com/at91linux/linux-at91: atmel: move ATMEL_MAX_UART to platform_data/atmel.h
2012-11-20x86-64: Fix ordering of CFI directives and recent ASM_CLAC additionsJan Beulich
While these got added in the right place everywhere else, entry_64.S is the odd one where they ended up before the initial CFI directive(s). In order to cover the full code ranges, the CFI directive must be first, though. Signed-off-by: Jan Beulich <jbeulich@suse.com> Link: http://lkml.kernel.org/r/5093BA1F02000078000A600E@nat28.tlf.novell.com Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2012-11-20x86, microcode, AMD: Add support for family 16h processorsBoris Ostrovsky
Add valid patch size for family 16h processors. [ hpa: promoting to urgent/stable since it is hw enabling and trivial ] Signed-off-by: Boris Ostrovsky <boris.ostrovsky@amd.com> Acked-by: Andreas Herrmann <herrmann.der.user@googlemail.com> Link: http://lkml.kernel.org/r/1353004910-2204-1-git-send-email-boris.ostrovsky@amd.com Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Cc: <stable@vger.kernel.org>
2012-11-20x86-32: Export kernel_stack_pointer() for modulesH. Peter Anvin
Modules, in particular oprofile (and possibly other similar tools) need kernel_stack_pointer(), so export it using EXPORT_SYMBOL_GPL(). Cc: Yang Wei <wei.yang@windriver.com> Cc: Robert Richter <robert.richter@amd.com> Cc: Jun Zhang <jun.zhang@intel.com> Cc: <stable@vger.kernel.org> Link: http://lkml.kernel.org/r/20120912135059.GZ8285@erda.amd.com Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2012-11-20x86-32: Fix invalid stack address while in softirqRobert Richter
In 32 bit the stack address provided by kernel_stack_pointer() may point to an invalid range causing NULL pointer access or page faults while in NMI (see trace below). This happens if called in softirq context and if the stack is empty. The address at &regs->sp is then out of range. Fixing this by checking if regs and &regs->sp are in the same stack context. Otherwise return the previous stack pointer stored in struct thread_info. If that address is invalid too, return address of regs. BUG: unable to handle kernel NULL pointer dereference at 0000000a IP: [<c1004237>] print_context_stack+0x6e/0x8d *pde = 00000000 Oops: 0000 [#1] SMP Modules linked in: Pid: 4434, comm: perl Not tainted 3.6.0-rc3-oprofile-i386-standard-g4411a05 #4 Hewlett-Packard HP xw9400 Workstation/0A1Ch EIP: 0060:[<c1004237>] EFLAGS: 00010093 CPU: 0 EIP is at print_context_stack+0x6e/0x8d EAX: ffffe000 EBX: 0000000a ECX: f4435f94 EDX: 0000000a ESI: f4435f94 EDI: f4435f94 EBP: f5409ec0 ESP: f5409ea0 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 CR0: 8005003b CR2: 0000000a CR3: 34ac9000 CR4: 000007d0 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff0ff0 DR7: 00000400 Process perl (pid: 4434, ti=f5408000 task=f5637850 task.ti=f4434000) Stack: 000003e8 ffffe000 00001ffc f4e39b00 00000000 0000000a f4435f94 c155198c f5409ef0 c1003723 c155198c f5409f04 00000000 f5409edc 00000000 00000000 f5409ee8 f4435f94 f5409fc4 00000001 f5409f1c c12dce1c 00000000 c155198c Call Trace: [<c1003723>] dump_trace+0x7b/0xa1 [<c12dce1c>] x86_backtrace+0x40/0x88 [<c12db712>] ? oprofile_add_sample+0x56/0x84 [<c12db731>] oprofile_add_sample+0x75/0x84 [<c12ddb5b>] op_amd_check_ctrs+0x46/0x260 [<c12dd40d>] profile_exceptions_notify+0x23/0x4c [<c1395034>] nmi_handle+0x31/0x4a [<c1029dc5>] ? ftrace_define_fields_irq_handler_entry+0x45/0x45 [<c13950ed>] do_nmi+0xa0/0x2ff [<c1029dc5>] ? ftrace_define_fields_irq_handler_entry+0x45/0x45 [<c13949e5>] nmi_stack_correct+0x28/0x2d [<c1029dc5>] ? ftrace_define_fields_irq_handler_entry+0x45/0x45 [<c1003603>] ? do_softirq+0x4b/0x7f <IRQ> [<c102a06f>] irq_exit+0x35/0x5b [<c1018f56>] smp_apic_timer_interrupt+0x6c/0x7a [<c1394746>] apic_timer_interrupt+0x2a/0x30 Code: 89 fe eb 08 31 c9 8b 45 0c ff 55 ec 83 c3 04 83 7d 10 00 74 0c 3b 5d 10 73 26 3b 5d e4 73 0c eb 1f 3b 5d f0 76 1a 3b 5d e8 73 15 <8b> 13 89 d0 89 55 e0 e8 ad 42 03 00 85 c0 8b 55 e0 75 a6 eb cc EIP: [<c1004237>] print_context_stack+0x6e/0x8d SS:ESP 0068:f5409ea0 CR2: 000000000000000a ---[ end trace 62afee3481b00012 ]--- Kernel panic - not syncing: Fatal exception in interrupt V2: * add comments to kernel_stack_pointer() * always return a valid stack address by falling back to the address of regs Reported-by: Yang Wei <wei.yang@windriver.com> Cc: <stable@vger.kernel.org> Signed-off-by: Robert Richter <robert.richter@amd.com> Link: http://lkml.kernel.org/r/20120912135059.GZ8285@erda.amd.com Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Cc: Jun Zhang <jun.zhang@intel.com>
2012-11-20ARM: clps711x: p720t: Unneeded inclusion of head-sa1100.S removedAlexander Shiyan
Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-11-20ARM: clps711x: Transform clps711x-framebuffer to platform driver and use itAlexander Shiyan
clps711x-framebuffer driver needs to be updated and this is a first step to make driver better. With this patch we are convert clps711x-framebuffer to platform device and load this driver from board code. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-11-20ARM: clps711x: p720t: Using "leds-gpio" driver for LED controlAlexander Shiyan
Instead of manually create LED class device, we will use "leds-gpio" driver for LED control. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-11-20ARM: clps711x: Using platform_driver for ethernet deviceAlexander Shiyan
This patch removes static mappings for ethernet devices. Now we will use platform_driver for ethernet devices. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-11-20Merge branch 'clps711x/soc' into clps711x/soc2Olof Johansson
Conflicts: arch/arm/Kconfig Signed-off-by: Olof Johansson <olof@lixom.net>
2012-11-20Merge tag 'tags/sunxi-support-for-3.8' of git://github.com/mripard/linux ↵Olof Johansson
into next/soc From Maxime Ripard: Allwinner SoC support for 3.8 * tag 'tags/sunxi-support-for-3.8' of git://github.com/mripard/linux: ARM: sunxi: Add entry to MAINTAINERS ARM: sunxi: Add device tree for the A13 and the Olinuxino board ARM: sunxi: Add earlyprintk support ARM: sunxi: Add basic support for Allwinner A1x SoCs irqchip: sunxi: Add irq controller driver clocksource: sunxi: Add Allwinner A1X Timer Driver clk: sunxi: Add dummy fixed rate clock for Allwinner A1X SoCs Signed-off-by: Olof Johansson <olof@lixom.net>
2012-11-21ARM: mmp: select pinctrl driverHaojian Zhuang
Pinctrl driver is necessary for MMP DT & MMP2 DT platforms. Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>