summaryrefslogtreecommitdiffstats
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2012-03-24Merge tag 'regulator-3.4' of ↵Arnd Bergmann3-2/+18
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into next/drivers The pxa regulator branch removes the bq24022 driver, while a lot of other regulator drivers got added in the regulator tree. This resolves the trivial conflicts by merging in the regulator patches that are already merged into v3.4. Conflicts: drivers/regulator/Kconfig drivers/regulator/Makefile Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-03-20Merge branch 'next/fixes-non-critical' into next/driversArnd Bergmann144-448/+854
Conflicts: arch/arm/mach-lpc32xx/clock.c arch/arm/mach-pxa/pxa25x.c arch/arm/mach-pxa/pxa27x.c The conflicts with pxa are non-obvious, we have multiple branches adding and removing the same clock settings. According to Haojian Zhuang, removing the sa1100 rtc dummy clock is the correct fix here. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-03-20Merge branch 'imx/defconfig' into next/driversArnd Bergmann1-1/+2
Conflicts: arch/arm/configs/imx_v6_v7_defconfig Resolves one conflict with an earlier branch Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-03-20Merge branch 'fixes' into next/fixes-non-criticalArnd Bergmann1-4/+7
The one fix didn't make the cut for 3.3, so we're putting it into v3.4. Tony tells me "There are more patches needed to make multiple smsc91x instances work, but we need to hear from people with such boards first. Then those can be tagged for stable.", so we don't mark this patch stable yet. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-03-18Merge remote-tracking branch 'regulator/topic/supply' into regulator-nextMark Brown1-2/+0
2012-03-15Merge branch 'fixes' of git://gitorious.org/linux-davinci/linux-davinci into ↵Arnd Bergmann64-151/+229
next/fixes-non-critical * 'fixes' of git://gitorious.org/linux-davinci/linux-davinci: (2 commits) ARM: davinci: DA850: move da850_register_pm to .init.text ARM: davinci: cpufreq: fix compiler warning (update to v3.3-rc7) Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-03-15Merge tag 'imx25-iomux-ds' of git://git.pengutronix.de/git/imx/linux-2.6 ↵Arnd Bergmann51-110/+345
into next/fixes-non-critical * tag 'imx25-iomux-ds' of git://git.pengutronix.de/git/imx/linux-2.6: iomux-mx25.h slew rate adjusted for LCD __LD pins (update to v3.3-rc6) Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-03-13Merge branch 'next/devel-samsung-dma' of ↵Olof Johansson38-1961/+2112
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/drivers * 'next/devel-samsung-dma' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: EXYNOS: add support DMA for EXYNOS4X12 SoC ARM: EXYNOS: Add apb_pclk clkdev entry for mdma1 ARM: EXYNOS: Enable MDMA driver (includes dependent base of samsung/cleanup-exynos-clock)
2012-03-13Merge branch 'next/devel-samsung-mmc' of ↵Olof Johansson4-3/+7
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/drivers * 'next/devel-samsung-mmc' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: SAMSUNG: change the name from s3c-sdhci to exynos4-sdhci mmc: sdhci-s3c: add platform data for the second capability ARM: SAMSUNG: support the second capability for samsung-soc
2012-03-13Merge branch 'fix-smsc911x-regulator' of ↵Olof Johansson1-4/+7
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes From Tony Lindgren: "Here's one more kernel panic fix that I dropped from last weeks fixes as it was still being discussed. This is a fix for the regression caused by fixing an earlier regression for smsc911x fixed regulators :( Turns out that we have more than one smsc911x on some boards, and the earlier fix causes a kernel panic for board trying to register second smsc911x instance, even if the second smsc911x is on an add-on board that is not connected. Note that the boards with second smsc911x will also need to be patched later on to provide their own regulators." * 'fix-smsc911x-regulator' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instance
2012-03-13iomux-mx25.h slew rate adjusted for LCD __LD pinsMehnert1-21/+21
For some reason (sadly i don't identifying the patch right now) two LCD data lines configured PAD_CTL_SRE_SLOW (wrong slew rate) since Kernel 3.1. MX25_PAD_GPIO_E__LD16 and MX25_PAD_GPIO_F__LD17 This results in an fauly behaviour and strange color effects. To ensure that all LCD data pins configured with the proper slew rate, this patch changes to IOMUX define of all LCD __LDxx pins to PAD_CTL_SRE_FAST. This problem may affect other mx25 platforms like mx25pdk. Sadly i can't test it. Of course this problem shouldn't occur when you done your LCD muxing correctly in the bootloader. Best regards, Torsten Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-03-13ARM: davinci: DA850: move da850_register_pm to .init.textUwe Kleine-König1-1/+1
All callers (board-mityomapl138.c and board-da850-evm.c) use it in __init functions only. This fixes: WARNING: vmlinux.o(.text+0xd664): Section mismatch in reference from the function da850_register_pm() to the function .init.text:da8xx_get_mem_ctlr() The function da850_register_pm() references the function __init da8xx_get_mem_ctlr(). This is often because da850_register_pm lacks a __init annotation or the annotation of da8xx_get_mem_ctlr is wrong. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2012-03-13ARM: davinci: cpufreq: fix compiler warningUwe Kleine-König1-1/+1
This fixes: arch/arm/mach-davinci/cpufreq.c: In function davinci_target: arch/arm/mach-davinci/cpufreq.c:98: warning: passing argument 2 of dev_printk from incompatible pointer type Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2012-03-10ARM: SAMSUNG: change the name from s3c-sdhci to exynos4-sdhciJaehoon Chung2-3/+3
Thomas Arbrahams's patchset have changed the device name in sdhci-s3c.c (mmc: sdhci-s3c: Rework platform data and add device tree support) But didn't change the regulator_consumer name. So maybe didn't initialize the mmc/sd card for exynos4. This patch is fixed that (based-on linux-samsung for-next branch) Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: kyungmin Park <kyungmin.park@samsung.com> Reviewed-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: SAMSUNG: support the second capability for samsung-socJaehoon Chung2-0/+4
In mmc, there are capabilities and use the host_caps. That capability is expressed with bit[0:31]. But now..already filled the bit[0:31]... so we need to denote with the other capability field. (if we want to use the cache, powerclass, etc for eMMC.. this field is necessary) Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Kyungmin Park <Kyungmin.park@samsung.com> Acked-by: Chris Ball <cjb@laptop.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: add support DMA for EXYNOS4X12 SoCBoojin Kim3-8/+98
Signed-off-by: Boojin Kim <boojin.kim@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: Add apb_pclk clkdev entry for mdma1Tushar Behera1-0/+1
Amba core assumes the pclk to be named as apb_pclk. During device probe, it tries to get that clock and enable that. When PM_RUNTIME is enabled, dma clock is not explicitly enabled in pl330_probe, which causes device probe to fail. Adding a clkdev entry for apb_pclk for mdma1 fixes the problem. This patch fixes following runtime error. dma-pl330 dma-pl330.2: PERIPH_ID 0x0, PCELL_ID 0x0 ! dma-pl330: probe of dma-pl330.2 failed with error -22 Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: Enable MDMA driverBoojin Kim5-1/+42
This patch adds MDMA platform data and enables MDMA for DMA memcpy operation for EXYNOS SoCs. Signed-off-by: Boojin Kim <boojin.kim@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: Add clock register addresses for EXYNOS4X12 bus devfreq driverMyungJoo Ham1-0/+43
EXYNOS4212/4412 memory bus devfreq driver requires some register addresses that were not defined with EXYNOS4210 support. This patch adds the required register addresses and shift/mask data. Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: add clock registers for exynos4x12-cpufreqJaecheol Lee1-0/+9
Signed-off-by: Jaecheol Lee <jc.lee@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: change the prefix S5P_ to EXYNOS4_ for clockKukjin Kim7-762/+766
This patch changes prefix of the clk register from S5P_ to EXYNOS4_ for new EXYNOS SoCs such as EXYNOS5 and adds prefix exynos4_ on clk declarations. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: use static declaration on regarding clockKukjin Kim2-21/+10
This patch uses static declaration struct which is not used in other file and re-arrange with group in header file. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: replace clock.c for other new EXYNOS SoCsKukjin Kim5-91/+90
This patch changes the name of clock.c to clock-exynos4.c for other EXYNOS series such as EXYNOS5. And since the header file of clock is used only in arch/arm/mach-exynos, moves it in the local directory. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10Merge branch 'next/cleanup-use-static' into next/cleanup-exynos-clockKukjin Kim156-2366/+842
2012-03-10Merge branch 'sr' of ↵Olof Johansson12-83/+242
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers * 'sr' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP3+: SmartReflex: fix error handling ARM: OMAP3+: SmartReflex: fix the use of debugfs_create_* API ARM: OMAP3+: SmartReflex: micro-optimization for sanity check ARM: OMAP3+: SmartReflex: misc cleanups ARM: OMAP3+: SmartReflex: move late_initcall() closer to its argument ARM: OMAP3+: SmartReflex: add missing platform_set_drvdata() ARM: OMAP3+: hwmod: add SmartReflex IRQs ARM: OMAP3+: SmartReflex: clear ERRCONFIG_VPBOUNDINTST only on a need ARM: OMAP3+: SmartReflex: Fix status masking in ERRCONFIG register ARM: OMAP3+: SmartReflex: Add a shutdown hook ARM: OMAP3+: SmartReflex Class3: disable errorgen before disable VP ARM: OMAP3+: SmartReflex: fix err interrupt disable sequence ARM: OMAP3+: SmartReflex: use voltage domain name in device attributes ARM: OMAP2+: Fix devexit for smartreflex when CONFIG_HOTPLUG is not set ARM: OMAP2+: Fix zoom LCD backlight if TWL_CORE is not selected ARM: OMAP2+: Fix board_mux section type conflict when OMAP_MUX is not set ARM: OMAP2+: Fix OMAP_HDQ_BASE build error ARM: OMAP2+: Fix Kconfig dependencies for USB_ARCH_HAS_EHCI ARM: OMAP2+: I2C: always compile I2C reset code, even if I2C driver is not built
2012-03-10Merge branch 'fixes-non-critical-part3' of ↵Olof Johansson3-1/+3
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical * 'fixes-non-critical-part3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Fix build for omap4 only builds with missing include of linux/bug.h ARM: OMAP2+: Fix section warnings for hsmmc_init_one
2012-03-09x86: Derandom delay_tsc for 64 bitThomas Gleixner1-2/+2
Commit f0fbf0abc093 ("x86: integrate delay functions") converted delay_tsc() into a random delay generator for 64 bit. The reason is that it merged the mostly identical versions of delay_32.c and delay_64.c. Though the subtle difference of the result was: static void delay_tsc(unsigned long loops) { - unsigned bclock, now; + unsigned long bclock, now; Now the function uses rdtscl() which returns the lower 32bit of the TSC. On 32bit that's not problematic as unsigned long is 32bit. On 64 bit this fails when the lower 32bit are close to wrap around when bclock is read, because the following check if ((now - bclock) >= loops) break; evaluated to true on 64bit for e.g. bclock = 0xffffffff and now = 0 because the unsigned long (now - bclock) of these values results in 0xffffffff00000001 which is definitely larger than the loops value. That explains Tvortkos observation: "Because I am seeing udelay(500) (_occasionally_) being short, and that by delaying for some duration between 0us (yep) and 491us." Make those variables explicitely u32 again, so this works for both 32 and 64 bit. Reported-by: Tvrtko Ursulin <tvrtko.ursulin@onelan.co.uk> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: stable@vger.kernel.org # >= 2.6.27 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-09Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreamingLinus Torvalds1-2/+2
Pull C6X fix from Mark Salter: "Fix for C6X KSTK_EIP and KSTK_ESP macros." * tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming: C6X: fix KSTK_EIP and KSTK_ESP macros
2012-03-09Merge tag 'iommu-fixes-v3.3-rc6' of ↵Linus Torvalds2-3/+3
git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull two IOMMU fixes from Joerg Roedel: "The first is an additional fix for the OMAP initialization order issue and the second patch fixes a possible section mismatch which can lead to a kernel crash in the AMD IOMMU driver when suspend/resume is used and the compiler has not inlined the iommu_set_device_table function." * tag 'iommu-fixes-v3.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: x86/amd: iommu_set_device_table() must not be __init ARM: OMAP: fix iommu, not mailbox
2012-03-08Merge tag 'fixes-urgent' of ↵Linus Torvalds5-2/+13
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull last minute fixes from Olof Johansson: "One samsung build fix due to a mis-applied patch, and a small set of OMAP fixes. This should be the last from arm-soc for 3.3, hopefully." * tag 'fixes-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: S3C2440: Fixed build error for s3c244x ARM: OMAP2+: Fix module build errors with CONFIG_OMAP4_ERRATA_I688 ARM: OMAP: id: Add missing break statement in omap3xxx_check_revision ARM: OMAP2+: Remove apply_uV constraints for fixed regulator ARM: OMAP: irqs: Fix NR_IRQS value to handle PRCM interrupts
2012-03-08Merge tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds1-0/+1
Pull minor devicetree bug fixes and documentation updates from Grant Likely: "Fixes up a duplicate #include, adds an empty implementation of of_find_compatible_node() and make git ignore .dtb files. And fix up bus name on OF described PHYs. Nothing exciting here." * tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux-2.6: doc: dt: Fix broken reference in gpio-leds documentation of/mdio: fix fixed link bus name of/fdt.c: asm/setup.h included twice of: add picochip vendor prefix dt: add empty of_find_compatible_node function ARM: devicetree: Add .dtb files to arch/arm/boot/.gitignore
2012-03-08Merge branch 'fixes' of ↵Olof Johansson4-2/+12
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Fix module build errors with CONFIG_OMAP4_ERRATA_I688 ARM: OMAP: id: Add missing break statement in omap3xxx_check_revision ARM: OMAP2+: Remove apply_uV constraints for fixed regulator ARM: OMAP: irqs: Fix NR_IRQS value to handle PRCM interrupts
2012-03-08ARM: OMAP2+: Fix build for omap4 only builds with missing include of linux/bug.hTony Lindgren2-0/+2
Found few more with randconfig generated .configs: In file included from arch/arm/mach-omap2/prm-regbits-34xx.h:17, from arch/arm/mach-omap2/vc.c:18: arch/arm/mach-omap2/prm2xxx_3xxx.h: In function ‘omap2_prm_read_mod_reg’: arch/arm/mach-omap2/prm2xxx_3xxx.h:239: error: implicit declaration of function ‘WARN’ In file included from arch/arm/mach-omap2/powerdomain44xx.c:22: arch/arm/mach-omap2/prm2xxx_3xxx.h: In function ‘omap2_prm_read_mod_reg’: arch/arm/mach-omap2/prm2xxx_3xxx.h:239: error: implicit declaration of function ‘WARN’ This is because omap2_prm functions are currently just stubs for omap4 only builds. Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-03-08Merge branch 'regulator' of git://github.com/hzhuang1/linux into next/driversOlof Johansson55-103/+390
* 'regulator' of git://github.com/hzhuang1/linux: (2 commits) regulator: Remove bq24022 regulator driver pxa: magician/hx4700: Convert to gpio-regulator from bq24022 (plus update to v3.3-rc6)
2012-03-08ARM: S3C2440: Fixed build error for s3c244xKukjin Kim1-0/+1
Fixed following: arch/arm/mach-s3c2440/s3c244x.c: In function 's3c244x_restart': arch/arm/mach-s3c2440/s3c244x.c:209: error: expected declaration or statement at end of input make[1]: *** [arch/arm/mach-s3c24xx/s3c244x.o] Error 1 make: *** [arch/arm/mach-s3c24xx] Error 2 Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-03-07ARM: OMAP2+: Fix section warnings for hsmmc_init_oneTony Lindgren1-1/+1
Otherwise we can get the following error depending on the compiler: WARNING: arch/arm/mach-omap2/built-in.o(.text+0xafe0): Section mismatch in reference from the function omap_hsmmc_init_one() to the function .init.text:omap_hsmmc_pdata_init() The function omap_hsmmc_init_one() references the function __init omap_hsmmc_pdata_init(). This is often because omap_hsmmc_init_one lacks a __init annotation or the annotation of omap_hsmmc_pdata_init is wrong. Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-03-07ARM: OMAP2+: Fix build issues with missing include of linux/bug.hTony Lindgren4-0/+4
Otherwise we can get the following if bug.h is not included from kernel.h: arch/arm/mach-omap2/powerdomain-common.c: In function 'omap2_pwrdm_get_mem_bank_onstate_mask': arch/arm/mach-omap2/powerdomain-common.c:64:3: error: implicit declaration of function 'WARN_ON' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-03-07Merge branch 'fixes-non-critical-part2' of ↵Olof Johansson21-56/+90
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical * 'fixes-non-critical-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP3+: PM: VP: fix integer truncation error ARM: OMAP2+: PM: fix wakeupgen warning when hotplug disabled ARM: OMAP2+: PM: fix section mismatch with omap2_init_processor_devices() ARM: OMAP2: Fix section warning for n8x0 when CONFIG_MMC_OMAP is not set ARM: OMAP2+: Fix omap24xx_io_desc warning if SoC subtypes are not selected ARM: OMAP1: Fix section mismatch for omap1_init_early() ARM: OMAP1: Fix typo in lcd_dma.c ARM: OMAP: mailbox: trivial whitespace fix ARM: OMAP: Remove definition cpu_is_omap4430() ARM: OMAP2+: included some headers twice ARM: OMAP: clock.c: included linux/debugfs.h twice ARM: OMAP: don't build hwspinlock in vain ARM: OMAP2+: ads7846_init: put gpio_pendown into pdata if it's provided ARM: omap: pandora: fix usbhs platform data ARM: OMAP: sram: Add am33xx SRAM support (minimal) ARM: OMAP2+: id: Add am33xx SoC type detection ARM: OMAP2+: GPMC: Export gpmc_enable_hwecc and gpmc_calculate_ecc ARM: OMAP: dmtimer: fix missing content/correction in low-power mode support
2012-03-07Merge branch 'fixes-non-critical' of ↵Olof Johansson2-35/+20
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical * 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: Revert "ARM: OMAP2+: Fix multiple randconfig errors with SOC_OMAP and SOC_OMAP_NOOP"
2012-03-07Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-armLinus Torvalds11-44/+73
Pull ARM updates from Russell King. * 'fixes' of git://git.linaro.org/people/rmk/linux-arm: ARM: 7358/1: perf: add PMU hotplug notifier ARM: 7357/1: perf: fix overflow handling for xscale2 PMUs ARM: 7356/1: perf: check that we have an event in the PMU IRQ handlers ARM: 7355/1: perf: clear overflow flag when disabling counter on ARMv7 PMU ARM: 7354/1: perf: limit sample_period to half max_period in non-sampling mode ARM: ecard: ensure fake vma vm_flags is setup ARM: 7346/1: errata: fix PL310 erratum #753970 workaround selection ARM: 7345/1: errata: update workaround for A9 erratum #743622 ARM: 7348/1: arm/spear600: fix one-shot timer ARM: 7339/1: amba/serial.h: Include types.h for resolving dependency of type bool
2012-03-07C6X: fix KSTK_EIP and KSTK_ESP macrosMark Salter1-2/+2
There was a latent typo in the C6X KSTK_EIP and KSTK_ESP macros which caused a problem with a new patch which used them. The broken definitions were of the form: #define KSTK_FOO(tsk) (task_pt_regs(task)->foo) Note the use of task vs tsk. This actually worked before because the only place in the kernel which used these macros passed in a local pointer named task. Signed-off-by: Mark Salter <msalter@redhat.com>
2012-03-07Merge branch 'topic/cleanup-use-static' into next/cleanup-use-staticKukjin Kim28-108/+83
Conflicts: arch/arm/mach-exynos/dma.c arch/arm/mach-s5p64x0/dma.c arch/arm/mach-s5pc100/dma.c arch/arm/mach-s5pv210/dma.c
2012-03-07ARM: 7358/1: perf: add PMU hotplug notifierLorenzo Pieralisi1-0/+23
When a CPU is taken out of reset, either cold booted or hotplugged in, some of its PMU registers can contain UNKNOWN values. This patch adds a hotplug notifier to ARM core perf code so that upon CPU restart the PMU unit is reset and becomes ready to use again. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-03-07ARM: 7357/1: perf: fix overflow handling for xscale2 PMUsWill Deacon1-2/+8
xscale2 PMUs indicate overflow not via the PMU control register, but by a separate overflow FLAG register instead. This patch fixes the xscale2 PMU code to use this register to detect to overflow and ensures that we clear any pending overflow when disabling a counter. Cc: <stable@vger.kernel.org> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-03-07ARM: 7356/1: perf: check that we have an event in the PMU IRQ handlersWill Deacon3-18/+12
The PMU IRQ handlers in perf assume that if a counter has overflowed then perf must be responsible. In the paranoid world of crazy hardware, this could be false, so check that we do have a valid event before attempting to dereference NULL in the interrupt path. Cc: <stable@vger.kernel.org> Signed-off-by: Ming Lei <tom.leiming@gmail.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-03-07ARM: 7355/1: perf: clear overflow flag when disabling counter on ARMv7 PMUWill Deacon1-0/+5
When disabling a counter on an ARMv7 PMU, we should also clear the overflow flag in case an overflow occurred whilst stopping the counter. This prevents a spurious overflow being picked up later and leading to either false accounting or a NULL dereference. Cc: <stable@vger.kernel.org> Reported-by: Ming Lei <tom.leiming@gmail.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-03-07ARM: 7354/1: perf: limit sample_period to half max_period in non-sampling modeWill Deacon5-16/+16
On ARM, the PMU does not stop counting after an overflow and therefore IRQ latency affects the new counter value read by the kernel. This is significant for non-sampling runs where it is possible for the new value to overtake the previous one, causing the delta to be out by up to max_period events. Commit a737823d ("ARM: 6835/1: perf: ensure overflows aren't missed due to IRQ latency") attempted to fix this problem by allowing interrupt handlers to pass an overflow flag to the event update function, causing the overflow calculation to assume that the counter passed through zero when going from prev to new. Unfortunately, this doesn't work when overflow occurs on the perf_task_tick path because we have the flag cleared and end up computing a large negative delta. This patch removes the overflow flag from armpmu_event_update and instead limits the sample_period to half of the max_period for non-sampling profiling runs. Cc: <stable@vger.kernel.org> Signed-off-by: Ming Lei <ming.lei@canonical.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-03-06x86: fix typo in recent find_vma_prev purgeLinus Torvalds1-1/+1
It turns out that test-compiling this file on x86-64 doesn't really help, because much of it is x86-32-specific. And so I hadn't noticed the slightly over-eager removal of the 'r' from 'addr' variable despite thinking I had tested it. Signed-off-by: Linus "oopsie" Torvalds <torvalds@linux-foundation.org>
2012-03-06ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instanceKevin Hilman1-4/+7
commit e4b0b2cbbb (ARM: OMAP2+: gpmc-smsc911x: add required smsc911x regulators) added regulators which are registered during gpmc_smsc911x_init(). However, some platforms (OMAP3/Overo) have more than one instance of the SMSC911x and result in attempting to register the same regulator more than once which causes a panic(). Fix this by only registering the regulator when the platform_data id field is zero, indicating its the first instance. Cc: Matt Porter <mporter@ti.com> Signed-off-by: Kevin Hilman <khilman@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-03-06vm: avoid using find_vma_prev() unnecessarilyLinus Torvalds1-1/+3
Several users of "find_vma_prev()" were not in fact interested in the previous vma if there was no primary vma to be found either. And in those cases, we're much better off just using the regular "find_vma()", and then "prev" can be looked up by just checking vma->vm_prev. The find_vma_prev() semantics are fairly subtle (see Mikulas' recent commit 83cd904d271b: "mm: fix find_vma_prev"), and the whole "return prev by reference" means that it generates worse code too. Thus this "let's avoid using this inconvenient and clearly too subtle interface when we don't really have to" patch. Cc: Mikulas Patocka <mpatocka@redhat.com> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>