summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2014-03-11Merge tag 'armsoc/for-3.15/cleanup' of git://github.com/broadcom/mach-bcm ↵Olof Johansson3-89/+65
into next/cleanup Merge "ARM: mach-bcm: cleanups for 3.15" from Matt Porter: - make bcm281xx symbol naming consistent with SoC name - remove unneeded and reorder bcm281xx header files - consolidate bcm281xx reboot and l2 cache code * tag 'armsoc/for-3.15/cleanup' of git://github.com/broadcom/mach-bcm: ARM: bcm281xx: Rename board_init() function ARM: bcm281xx: Re-order hearder files ARM: bcm281xx: Consolidate reboot code ARM: bcm281xx: Move kona_l2_cache_init() so it can be shared ARM: bcm281xx: symbol cleanup Signed-off-by: Olof Johansson <olof@lixom.net>
2014-03-09Merge tag 'sirf-soc-for-3.15' of ↵Olof Johansson10-50/+120
git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux into next/cleanup ARM: sirf: machine update for 3.15 from Barry Song: Most of the below are some minor fixes for coding style. "ARM: prima2: move to generic reset controller driver framework" has been ready near 3.14 merge window, but it was late to merge in 3.14, so move this one to 3.15. * tag 'sirf-soc-for-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux: ARM: prima2: move to generic reset controller driver framework ARM: prima2: staticize sirfsoc_init_late function ARM: prima2: rtciobrg: fix the typo about license ARM: prima2: common: fix checkpatch issues ARM: prima2: platsmp: fix checkpatch issues ARM: prima2: l2x0: fix checkpatch issues Signed-off-by: Olof Johansson <olof@lixom.net>
2014-03-09Merge tag 'irq-mmp' of ↵Olof Johansson1-1/+1
https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux into next/cleanup Merge a mach header include removal from Haojian Zhuang. * tag 'irq-mmp' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux: irqchip: mmp: avoid use head file in a specific arch Signed-off-by: Olof Johansson <olof@lixom.net>
2014-03-09Merge tag 'samsung-cleanup' of ↵Olof Johansson90-255/+90
http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup Samsung cleanup for v3.15 from Kukjin Kim: - Use generic uncompress.h for exynos and remove exynos <mach/uncompress.h> accordingly (other uncompress.h files will be removed) - move <plat/rtc-core.h> into s3c24xx <mach/rtc-core.h> - remove unused header files - cleanup exynos related non-DT stuffs - use inclusion <linux/serial_s3c.h> instead of <plat/regs-serial.h> - remove unneeded Kconfig entries: S3C24XX_GPIO_EXTRA64 and S3C24XX_GPIO_EXTRA128 - remove unneeded function s3c24xx_init_cpu() - remove obsolete s3c24xx <mach/tick.h> * tag 'samsung-cleanup' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: EXYNOS: Remove uncompress.h ARM: debug: Use generic uncompress.h for exynos ARM: S3C24XX: Move rtc-core.h from plat to mach ARM: EXYNOS: Remove unused header file from pm_domains.c ARM: SAMSUNG: Remove Exynos specific code from devs, s5p-pm-irq and pm-gpio.c ARM: SAMSUNG: Delete unused plat/regs-serial.h header file ARM: SAMSUNG: Replace inclusion of plat/regs-serial.h header file ARM: SAMSUNG: Remove platform dependency from samsung.S ARM: S3C24XX: get rid of unneeded selects ARM: SAMSUNG: remove unneeded s3c24xx_init_cpu() ARM: SAMSUNG: remove obsolete tick.h Signed-off-by: Olof Johansson <olof@lixom.net>
2014-03-09Merge tag 'samsung-drivers' of ↵Olof Johansson2-4/+1
http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup Samsung drivers update for v3.15 from Kukjin Kim: - remove inclusion <asm/mach/time.h> from exynos_mct.c - remove inclusion <asm/mach/irq.h> from exynos-combiner.c and use calling handle_bad_irq() instead of do_bad_IRQ() * tag 'samsung-drivers' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: irqchip: exynos-combiner: call handle_bad_irq directly clocksource: exynos_mct: remove unwanted header file inclusion Signed-off-by: Olof Johansson <olof@lixom.net>
2014-03-06ARM: bcm281xx: Rename board_init() functionMarkus Mayer1-2/+2
Rename board_init() to bcm281xx_init(), so the name reflects the board specific nature of this function. Signed-off-by: Markus Mayer <markus.mayer@linaro.org> Signed-off-by: Matt Porter <mporter@linaro.org>
2014-03-06ARM: bcm281xx: Re-order hearder filesMarkus Mayer1-2/+2
Re-order header files alphabetically. Signed-off-by: Markus Mayer <markus.mayer@linaro.org> Signed-off-by: Matt Porter <mporter@linaro.org>
2014-03-06ARM: bcm281xx: Consolidate reboot codeMarkus Mayer3-66/+34
Consolidate reboot code and remove unnecessary functions. Signed-off-by: Markus Mayer <markus.mayer@linaro.org> Signed-off-by: Matt Porter <mporter@linaro.org>
2014-03-06ARM: bcm281xx: Move kona_l2_cache_init() so it can be sharedMarkus Mayer3-27/+32
In preparation for future SoCs, move kona_l2_cache_init() from board specific board_bcm281xx.c to shared kona.c, so multiple SoC families can make use of it. Also change the return type to "void", since we never look at the return code anyway. Signed-off-by: Markus Mayer <markus.mayer@linaro.org> Signed-off-by: Matt Porter <mporter@linaro.org>
2014-03-06ARM: bcm281xx: symbol cleanupAlex Elder1-3/+6
This patch renames a few symbols that needlessly used "11351" rather than "281xx" in their names. Support for the bcm11351 board is being removed from the kernel, and the family of boards is more properly referred to as "bcm281xx". Signed-off-by: Alex Elder <elder@linaro.org> Reviewed-by: Markus Mayer <markus.mayer@linaro.org> Signed-off-by: Matt Porter <mporter@linaro.org>
2014-03-05ARM: prima2: move to generic reset controller driver frameworkBarry Song6-37/+108
this moves to generic IP module reset framework, and make other drivers use common device_reset() API. Cc: Srinivas Kandagatla <srinivas.kandagatla@st.com> Signed-off-by: Barry Song <Baohua.Song@csr.com> Signed-off-by: Bin Shi <Bin.Shi@csr.com> Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
2014-03-05ARM: prima2: staticize sirfsoc_init_late functionBarry Song1-1/+1
sirfsoc_init_late() is a local function not an extern interface to anyone. Signed-off-by: Barry Song <Baohua.Song@csr.com>
2014-03-05ARM: prima2: rtciobrg: fix the typo about licenseBarry Song1-1/+1
we are marking GPL v2 in head comments, but MODULE_LICENSE is declaring GPL. Signed-off-by: Barry Song <Baohua.Song@csr.com>
2014-03-05ARM: prima2: common: fix checkpatch issuesBarry Song1-3/+3
fix the below checkpatch issues: ERROR: Use of const init definition must use __initconst 30: FILE: common.c:30: +static const char *atlas6_dt_match[] __initdata = { ERROR: Use of const init definition must use __initconst 45: FILE: common.c:45: +static const char *prima2_dt_match[] __initdata = { ERROR: Use of const init definition must use __initconst 61: FILE: common.c:61: +static const char *marco_dt_match[] __initdata = { Signed-off-by: Barry Song <Baohua.Song@csr.com>
2014-03-05ARM: prima2: platsmp: fix checkpatch issuesBarry Song1-3/+3
fix the below checkpatch issues: ERROR: code indent should use tabs where possible 141: FILE: platsmp.c:141: + .smp_prepare_cpus = sirfsoc_smp_prepare_cpus,$ WARNING: please, no spaces at the start of a line 141: FILE: platsmp.c:141: + .smp_prepare_cpus = sirfsoc_smp_prepare_cpus,$ ERROR: code indent should use tabs where possible 142: FILE: platsmp.c:142: + .smp_secondary_init = sirfsoc_secondary_init,$ WARNING: please, no spaces at the start of a line 142: FILE: platsmp.c:142: + .smp_secondary_init = sirfsoc_secondary_init,$ ERROR: code indent should use tabs where possible 143: FILE: platsmp.c:143: + .smp_boot_secondary = sirfsoc_boot_secondary,$ WARNING: please, no spaces at the start of a line 143: FILE: platsmp.c:143: + .smp_boot_secondary = sirfsoc_boot_secondary,$ Signed-off-by: Barry Song <Baohua.Song@csr.com>
2014-03-05ARM: prima2: l2x0: fix checkpatch issuesBarry Song1-5/+4
Fix the below checkpatch issues: ERROR: open brace '{' following struct go on the same line 15: FILE: l2x0.c:15: +struct l2x0_aux +{ ERROR: Use of __initconst requires a separate use of const 20: FILE: l2x0.c:20: +static struct l2x0_aux prima2_l2x0_aux __initconst = { ERROR: Use of __initconst requires a separate use of const 25: FILE: l2x0.c:25: +static struct l2x0_aux marco_l2x0_aux __initconst = { ERROR: Use of __initconst requires a separate use of const 31: FILE: l2x0.c:31: +static struct of_device_id sirf_l2x0_ids[] __initconst = { Signed-off-by: Barry Song <Baohua.Song@csr.com>
2014-03-04irqchip: mmp: avoid use head file in a specific archNeil Zhang1-1/+1
For example, arm64 doesn't have mach/irq.h. Signed-off-by: Neil Zhang <zhangwm@marvell.com> Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com> Acked-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
2014-02-28ARM: clps711x: Update defconfigAlexander Shiyan1-2/+1
This updates the CLPS711X defconfig to the thing saved by savedefconfig. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-02-28ARM: clps711x: Remove EP72XX_ROM_BOOT optionAlexander Shiyan2-31/+0
CLPS711X CPUs have 128 bytes of on-chip Boot ROM with an instruction sequence that configure UART1 to receive up to 2 Kbytes of serial data which is then placed in the on-chip SRAM. Once the download is complete, the program counter jumps to SRAM to begin executed the downloaded data. The purpose of this mode is to allow the downloaded code to facilitate programming of FLASH or other ROM device. Selection of the internal Boot ROM is accomplished at power-on-reset time. No reason to keep this special (develop only) mode in the kernel. This patch removes EP72XX_ROM_BOOT kernel symbol. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-02-28Merge tag 'kconfig-cleanup-for-3.15' of ↵Arnd Bergmann33-228/+12
git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux into next/cleanup Merge "kconfig clean-up and mach-virt removal for 3.15" from Rob Herring - Remove common kconfig options required by multi-platform builds out of individual platforms as they are redundant. - Make SMP, CACHE_L2X0 and GPIO config options user visible on multi-platform builds as most platforms enable these options and all platforms can run with them enabled. - Make multi-platform v6 default to more optimal v6k rather than v6 - Remove the last bit of mach-virt and convert it to just a kconfig option. * tag 'kconfig-cleanup-for-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: ARM: virt: select ARM_AMBA ARM: virt: make mach-virt just a kconfig option ARM: vt8500: enable V6K instead of plain V6 ARM: cns3xxx: enable V6K instead of plain V6 ARM: bcm2835: enable V6K instead of plain V6 ARM: Select V6K instead of V6 by default for multi-platform ARM: select MIGHT_HAVE_CACHE_L2X0 for V6 and V7 multi-platform ARM: select HAVE_SMP for V7 multi-platform ARM: centralize common multi-platform kconfig options Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-02-25Merge tag 'efm32-next' of git://git.pengutronix.de/git/ukl/linux into ↵Arnd Bergmann3-10/+0
next/cleanup Merge "efm32 cleanups for next" from Uwe Kleine-König Just three simple cleanups for efm32 removing two now unused files and a superflous select by ARCH_EFM32. As these cleanups have dependencies on both v3.14-rc1 and my timex.h cleanup (which is based on v3.13-rc1) this pull request also included a merge of my cleanup tag which is already in armsoc/next/cleanup. * tag 'efm32-next' of git://git.pengutronix.de/git/ukl/linux: ARM: efm32: drop unused file <mach/timex.h> ARM: efm32: drop selecting CLKSRC_MMIO ARM: efm32: drop unused file entry-macro.S Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-02-24ARM: efm32: drop unused file <mach/timex.h>Uwe Kleine-König1-3/+0
This file is unused since commit 79f08d9ed217 (ARM: drop <mach/timex.h> for !ARCH_MULTIPLATFORM, too) . Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2014-02-24Merge tag 'dropmachtimexh-v2' of git://git.pengutronix.de/git/ukl/linuxUwe Kleine-König74-732/+153
This cleanup series gets rid of <mach/timex.h> for platforms not using ARCH_MULTIPLATFORM. (For multi-platform code it's already unused since 387798b (ARM: initial multiplatform support).) To make this work some code out of arch/arm needed to be adapted. The respective changes got acks by their maintainers to be taken via armsoc (with Andrew Morton substituting for Alessandro Zummo as rtc maintainer). Compared to the previous pull request there was another patch added that fixes a (non-critical) regression on ixp4xx. Olof Johansson asked to not squash this fix into the original commit to save him from the need to reverify the series. Conflicts: arch/arm/mach-at91/at91sam9260.c arch/arm/mach-at91/at91sam9261.c arch/arm/mach-at91/at91sam9263.c arch/arm/mach-at91/at91sam9rl.c arch/arm/mach-mmp/time.c arch/arm/mach-sa1100/time.c
2014-02-24ARM: efm32: drop selecting CLKSRC_MMIOUwe Kleine-König1-3/+0
CLKSRC_MMIO is needed on efm32 because the clocksource driver (CLKSRC_EFM32) uses clocksource_mmio_init() and clocksource_mmio_readl_up(). Since commit 09ca27579ee5 (clocksource: time-efm32: Select CLKSRC_MMIO) CLKSRC_EFM32 does the necessary select itself and ARCH_EFM32 doesn't need to select it explicitly any more. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2014-02-24ARM: efm32: drop unused file entry-macro.SUwe Kleine-König1-4/+0
This file is unused since commit e6d159cdf9f7 (ARM: 7890/1: v7-M: drop using mach/entry-macro.S) which went into v3.14-rc1. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2014-02-24ARM: EXYNOS: Remove uncompress.hSachin Kamat1-48/+0
Now that we can use the generic uncompres.h file, there is no need for the machine specific header. Remove it. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2014-02-24ARM: debug: Use generic uncompress.h for exynosSachin Kamat1-2/+3
As a pre-requisite step towards enabling multi-platform support for Exynos, enable it to use generic uncompress.h instead of the one provided in machine code. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2014-02-21Merge tag 'mvebu-soc-3.15' of git://git.infradead.org/linux-mvebu into ↵Olof Johansson3-13/+5
next/cleanup Merge "mvebu soc changes for v3.15" from Jason Cooper: - mvebu - Makefile cleanup and remove map_io - use of_find_matching_node_and_match * tag 'mvebu-soc-3.15' of git://git.infradead.org/linux-mvebu: ARM: mvebu: remove unneeded ->map_io field for Armada 370/XP ARM: mvebu: make use of of_find_matching_node_and_match ARM: mvebu: Makefile clean-up Signed-off-by: Olof Johansson <olof@lixom.net>
2014-02-20Merge tag 'qcom-cleanup-for-3.15' of ↵Olof Johansson25-370/+240
git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/cleanup Merge "General cleanups for MSM/QCOM for 3.15" from Kumar Gala: Split of the multiplatform support for the Qualcomm SoCs into a mach-qcom while we leave mach-msm as legacy support. Also, some smp and device tree related cleanups. * tag 'qcom-cleanup-for-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: ARM: qcom: Rename various msm prefixed functions to qcom clocksource: qcom: split building of legacy vs multiplatform support ARM: qcom: Split Qualcomm support into legacy and multiplatform clocksource: qcom: Move clocksource code out of mach-msm ARM: msm: kill off hotplug.c ARM: msm: Remove pen_release usage ARM: dts: msm: split out msm8660 and msm8960 soc into dts include Signed-off-by: Olof Johansson <olof@lixom.net>
2014-02-20Merge tag 'renesas-cleanup-for-v3.15' of ↵Olof Johansson3-9/+1
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Merge "Renesas ARM Based SoC Clean-Ups for v3.15" from Simon Horman: * Renesas SoCs (Global) - Remove duplicate shmobile_invalidate_start() declaration * emev2 SoC (Emma Mobile) - Use __initconst for const init definition * r8a7779 SoC (R-Car H1) - Remove unused clock constants * tag 'renesas-cleanup-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: emev2: Use __initconst for const init definition ARM: shmobile: r8a7779: Remove unused clock constants ARM: shmobile: Remove duplicate shmobile_invalidate_start() declaration Signed-off-by: Olof Johansson <olof@lixom.net>
2014-02-19ARM: virt: select ARM_AMBARob Herring1-1/+2
Guests can use AMBA bus devices such as the PL011 uart, so enable the AMBA bus for mach-virt. Signed-off-by: Rob Herring <robh@kernel.org> Cc: Russell King <linux@arm.linux.org.uk>
2014-02-19ARM: virt: make mach-virt just a kconfig optionRob Herring5-55/+6
The mach code for mach-virt is no longer needed, so we can remove all of mach-virt except the kconfig entry. Signed-off-by: Rob Herring <robh@kernel.org> Cc: Russell King <linux@arm.linux.org.uk> Acked-by: Marc Zyngier <marc.zyngier@arm.com>
2014-02-19ARM: vt8500: enable V6K instead of plain V6Rob Herring1-1/+0
The wm8750 is an ARM1176 which has all the V6K extensions except for SMP, so V6K should be selected instead. Dropping the select will use the default for ARCH_MULTI_V6 which is V6K. Signed-off-by: Rob Herring <robh@kernel.org> Cc: Tony Prisk <linux@prisktech.co.nz>
2014-02-19ARM: cns3xxx: enable V6K instead of plain V6Rob Herring1-1/+0
The cns3xxx is an ARM11MPCore which has all the V6K extensions, so V6K should be selected instead. Dropping the select will use the default for ARCH_MULTI_V6 which is V6K. Signed-off-by: Rob Herring <robh@kernel.org> Cc: Anton Vorontsov <anton@enomsg.org>
2014-02-19ARM: bcm2835: enable V6K instead of plain V6Rob Herring1-1/+0
The bcm2835 is an ARM1176 which has all the V6K extensions except for SMP, so V6K should be selected instead. Dropping the select will use the default for ARCH_MULTI_V6 which is V6K. Signed-off-by: Rob Herring <robh@kernel.org> Tested-by: Stephen Warren <swarren@wwwdotorg.org>
2014-02-19ARM: Select V6K instead of V6 by default for multi-platformRob Herring4-4/+2
MULTI_V6 should default to V6K as it is more optimal than V6. Any platform which is not V6K should select CPU_V6 which will enable the less optimal code paths. Signed-off-by: Rob Herring <robh@kernel.org> Cc: Anton Vorontsov <anton@enomsg.org> Acked-by: Shawn Guo <shawn.guo@linaro.org> Cc: Sascha Hauer <kernel@pengutronix.de> Cc: Jamie Iles <jamie@jamieiles.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
2014-02-19ARM: select MIGHT_HAVE_CACHE_L2X0 for V6 and V7 multi-platformRob Herring11-10/+1
Many V6 and V7 platforms have an L2x0 cache, so make CONFIG_MIGHT_HAVE_CACHE_L2X0 visible for V6 and V7 multi-platform builds. Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
2014-02-19ARM: select HAVE_SMP for V7 multi-platformRob Herring19-19/+1
All V7 platforms can run SMP kernels, so make CONFIG_SMP visible for V7 multi-platform builds. Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
2014-02-19ARM: centralize common multi-platform kconfig optionsRob Herring30-138/+2
Multi-platform requires various kconfig options to be selected, so platforms don't need to select them individually. Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Cc: Russell King <linux@arm.linux.org.uk> Acked-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@wwwdotorg.org> Acked-by: Arnd Bergmann <arnd@arndb.de>
2014-02-18Merge tag 'dropmachtimexh-v2' of git://git.pengutronix.de/git/ukl/linux into ↵Olof Johansson74-732/+153
next/cleanup This cleanup series gets rid of <mach/timex.h> for platforms not using ARCH_MULTIPLATFORM. (For multi-platform code it's already unused since 387798b (ARM: initial multiplatform support).) To make this work some code out of arch/arm needed to be adapted. The respective changes got acks by their maintainers to be taken via armsoc (with Andrew Morton substituting for Alessandro Zummo as rtc maintainer). Compared to the previous pull request there was another patch added that fixes a (non-critical) regression on ixp4xx. Olof Johansson asked to not squash this fix into the original commit to save him from the need to reverify the series. * tag 'dropmachtimexh-v2' of git://git.pengutronix.de/git/ukl/linux: ARM: ixp4xx: fix timer latch calculation ARM: drop <mach/timex.h> for !ARCH_MULTIPLATFORM, too ARM: rpc: stop using <mach/timex.h> ARM: ixp4xx: stop using <mach/timex.h> input: ixp4xx-beeper: don't use symbols from <mach/timex.h> ARM: at91: don't use <mach/timex.h> ARM: ep93xx: stop using mach/timex.h ARM: mmp: stop using mach/timex.h ARM: netx: stop using mach/timex.h ARM: sa1100: stop using mach/timex.h clocksource: sirf/marco+prima2: drop usage of CLOCK_TICK_RATE rtc: pxa: drop unused #define TIMER_FREQ rtc: at91sam9: include <mach/hardware.h> explicitly ARM/serial: at91: switch atmel serial to use gpiolib Signed-off-by: Olof Johansson <olof@lixom.net>
2014-02-18ARM: ixp4xx: fix timer latch calculationUwe Kleine-König1-1/+9
In commit f0402f9b4711 ("ARM: ixp4xx: stop using <mach/timex.h>") I didn't intend to implement a functional change, but as Olof noticed I failed---at least a bit. Before this commit the following was used to determine the latch value used: #define IXP4XX_TIMER_FREQ 66666000 #define CLOCK_TICK_RATE \ (((IXP4XX_TIMER_FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ) #define LATCH ((CLOCK_TICK_RATE + HZ/2) / HZ) The complicated calculation was done "b/c the timer register ignores the bottom 2 bits of the LATCH value." With HZ=100 CLOCK_TICK_RATE used to calculate to 66666100 and so LATCH to 666661. In ixp4xx_set_mode the term LATCH & ~IXP4XX_OST_RELOAD_MASK was used to write to the relevant register (with IXP4XX_OST_RELOAD_MASK being 3) and so effectively 666660 was used. In commit f0402f9b4711 I translated that to: #define IXP4XX_TIMER_FREQ 66666000 #define IXP4XX_LATCH DIV_ROUND_CLOSEST(IXP4XX_TIMER_FREQ, HZ) which results in the same register writes, but still doesn't bear in mind that the two least significant bits cannot be specified (which is relevant only when HZ or IXP4XX_TIMER_FREQ are changed). Instead of reverting back to the old approach use a more obvious and also more correct way to calculate LATCH. (Regarding the more correct claim: With IXP4XX_TIMER_FREQ == 66665999, the old code resulted in LATCH = 666657 corresponding to a cycle time of 0.009999940149400597 seconds (error: -6.0e-8 s) while the new approach results in LATCH = 666660 and so a cycle time of 0.010000000150001503 seconds (error: 1.5e-10 s).) Fixes: f0402f9b4711 ("ARM: ixp4xx: stop using <mach/timex.h>") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2014-02-16Linux 3.14-rc3v3.14-rc3Linus Torvalds1-1/+1
2014-02-16Merge branch 'for-linus' of ↵Linus Torvalds7-23/+28
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs fixes from Chris Mason: "We have a small collection of fixes in my for-linus branch. The big thing that stands out is a revert of a new ioctl. Users haven't shipped yet in btrfs-progs, and Dave Sterba found a better way to export the information" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Btrfs: use right clone root offset for compressed extents btrfs: fix null pointer deference at btrfs_sysfs_add_one+0x105 Btrfs: unset DCACHE_DISCONNECTED when mounting default subvol Btrfs: fix max_inline mount option Btrfs: fix a lockdep warning when cleaning up aborted transaction Revert "btrfs: add ioctl to export size of global metadata reservation"
2014-02-16Merge tag 'dt-fixes-for-3.14' of ↵Linus Torvalds1-34/+54
git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull devicetree fixes from Rob Herring: "Fix booting on PPC boards. Changes to of_match_node matching caused the serial port on some PPC boards to stop working. Reverted the change and reimplement to split matching between new style compatible only matching and fallback to old matching algorithm" * tag 'dt-fixes-for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: of: search the best compatible match first in __of_match_node() Revert "OF: base: match each node compatible against all given matches first"
2014-02-15of: search the best compatible match first in __of_match_node()Kevin Hao1-1/+42
Currently, of_match_node compares each given match against all node's compatible strings with of_device_is_compatible. To achieve multiple compatible strings per node with ordering from specific to generic, this requires given matches to be ordered from specific to generic. For most of the drivers this is not true and also an alphabetical ordering is more sane there. Therefore, this patch introduces a function to match each of the node's compatible strings against all given compatible matches without type and name first, before checking the next compatible string. This implies that node's compatibles are ordered from specific to generic while given matches can be in any order. If we fail to find such a match entry, then fall-back to the old method in order to keep compatibility. Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Kevin Hao <haokexin@gmail.com> Tested-by: Stephen Chivers <schivers@csc.com> Signed-off-by: Rob Herring <robh@kernel.org>
2014-02-15Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pendingLinus Torvalds11-23/+30
Pull SCSI target fixes from Nicholas Bellinger: "Mostly minor fixes this time to v3.14-rc1 related changes. Also included is one fix for a free after use regression in persistent reservations UNREGISTER logic that is CC'ed to >= v3.11.y stable" * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: Target/sbc: Fix protection copy routine IB/srpt: replace strict_strtoul() with kstrtoul() target: Simplify command completion by removing CMD_T_FAILED flag iser-target: Fix leak on failure in isert_conn_create_fastreg_pool iscsi-target: Fix SNACK Type 1 + BegRun=0 handling target: Fix missing length check in spc_emulate_evpd_83() qla2xxx: Remove last vestiges of qla_tgt_cmd.cmd_list target: Fix 32-bit + CONFIG_LBDAF=n link error w/ sector_div target: Fix free-after-use regression in PR unregister
2014-02-15Merge branch 'i2c/for-current' of ↵Linus Torvalds2-21/+53
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c fixes from Wolfram Sang: "i2c has a bugfix and documentation improvements for you" * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: Documentation: i2c: mention ACPI method for instantiating devices Documentation: i2c: describe devicetree method for instantiating devices i2c: mv64xxx: refactor message start to ensure proper initialization
2014-02-15Merge branches 'irq-urgent-for-linus' and 'irq-core-for-linus' of ↵Linus Torvalds3-0/+51
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq update from Thomas Gleixner: "Fix from the urgent branch: a trivial oneliner adding the missing Kconfig dependency curing build failures which have been discovered by several build robots. The update in the irq-core branch provides a new function in the irq/devres code, which is a prerequisite for driver developers to get rid of boilerplate code all over the place. Not a bugfix, but it has zero impact on the current kernel due to the lack of users. It's simpler to provide the infrastructure to interested parties via your tree than fulfilling the wishlist of driver maintainers on which particular commit or tag this should be based on" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: genirq: Add missing irq_to_desc export for CONFIG_SPARSE_IRQ=n * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: genirq: Add devm_request_any_context_irq()
2014-02-15Merge branch 'timers-urgent-for-linus' of ↵Linus Torvalds3-26/+35
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer fixes from Thomas Gleixner: "The following trilogy of patches brings you: - fix for a long standing math overflow issue with HZ < 60 - an onliner fix for a corner case in the dreaded tick broadcast mechanism affecting a certain range of AMD machines which are infested with the infamous automagic C1E power control misfeature - a fix for one of the ARM platforms which allows the kernel to proceed and boot instead of stupidly panicing for no good reason. The patch is slightly larger than necessary, but it's less ugly than the alternative 5 liner" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: tick: Clear broadcast pending bit when switching to oneshot clocksource: Kona: Print warning rather than panic time: Fix overflow when HZ is smaller than 60
2014-02-15Merge tag 'trace-fixes-v3.14-rc2' of ↵Linus Torvalds2-36/+54
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull twi tracing fixes from Steven Rostedt: "Two urgent fixes in the tracing utility. The first is a fix for the way the ring buffer stores timestamps. After a restructure of the code was done, the ring buffer timestamp logic missed the fact that the first event on a sub buffer is to have a zero delta, as the full timestamp is stored on the sub buffer itself. But because the delta was not cleared to zero, the timestamp for that event will be calculated as the real timestamp + the delta from the last timestamp. This can skew the timestamps of the events and have them say they happened when they didn't really happen. That's bad. The second fix is for modifying the function graph caller site. When the stop machine was removed from updating the function tracing code, it missed updating the function graph call site location. It is still modified as if it is being done via stop machine. But it's not. This can lead to a GPF and kernel crash if the function graph call site happens to lie between cache lines and one CPU is executing it while another CPU is doing the update. It would be a very hard condition to hit, but the result is severe enough to have it fixed ASAP" * tag 'trace-fixes-v3.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: ftrace/x86: Use breakpoints for converting function graph caller ring-buffer: Fix first commit on sub-buffer having non-zero delta