summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'omap-for-v3.12/cleanup-unused-defines' of ↵Olof Johansson2013-08-1112-10853/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup From Tony Lindgren: Removal of unused omap defines via Paul Walmsley <paul@pwsan.com>: This series removes the currently-unused PRCM macros from arch/arm/mach-omap2. Basic test logs are available at: http://www.pwsan.com/omap/testlogs/drop_unused_prcm_macros_v3.11-rc/20130721211401/ Once, years ago, we thought that it would be good to document the PRCM register bits in the Linux codebase. Most folks in the broader community did not have access to the same documentation, so we thought that they might be able to use these bits to fix bugs and improve the code. We were also able to autogenerate most of these macros, so it was thought that defining them in advance would reduce the risk of error, inconsistencies, and merge conflicts caused when patch sets incrementally defined them by hand. Well, nice thoughts. But the first rationale was rendered partially obsolete when TI started to release public TRM documentation PDFs at some point in the OMAP3 timeframe. (Despite their weaknesses, TI's public OMAP TRMs remain the most useful public documentation available for any ARM Linux SoC -- at least to the extent of my knowledge.) And then the current Linux development tropism towards development-by-negative-diffstat obliterated the remainder of the above two philosophies. So, for the few, the masochistic, out there who wish to continue developing TI PRCM code, I would ask that you resurrect any additionally-needed macros from these commits, rather than writing them manually. Purely for the sake of a pleasant atavism, perhaps; the way one appreciates a used bookstore, or a video rental store... And thanks to the upstream maintainers for being patient while we adjust. * tag 'omap-for-v3.12/cleanup-unused-defines' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP5: PRM/CM: Cleanup unused header ARM: OMAP4: PRM/CM: Cleanup unused header ARM: OMAP3: PRM/CM: Cleanup unused header ARM: OMAP2: PRM/CM: Cleanup unused header Signed-off-by: Olof Johansson <olof@lixom.net>
| * Merge tag 'for-v3.11-rc/omap-fixes-a' of ↵Tony Lindgren2013-07-31674-104691/+3588
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v3.12/cleanup This series removes the currently-unused PRCM macros from arch/arm/mach-omap2. Basic test logs are available at: http://www.pwsan.com/omap/testlogs/drop_unused_prcm_macros_v3.11-rc/20130721211401/ Once, years ago, we thought that it would be good to document the PRCM register bits in the Linux codebase. Most folks in the broader community did not have access to the same documentation, so we thought that they might be able to use these bits to fix bugs and improve the code. We were also able to autogenerate most of these macros, so it was thought that defining them in advance would reduce the risk of error, inconsistencies, and merge conflicts caused when patch sets incrementally defined them by hand. Well, nice thoughts. But the first rationale was rendered partially obsolete when TI started to release public TRM documentation PDFs at some point in the OMAP3 timeframe. (Despite their weaknesses, TI's public OMAP TRMs remain the most useful public documentation available for any ARM Linux SoC -- at least to the extent of my knowledge.) And then the current Linux development tropism towards development-by-negative-diffstat obliterated the remainder of the above two philosophies. So, for the few, the masochistic, out there who wish to continue developing TI PRCM code, I would ask that you resurrect any additionally-needed macros from these commits, rather than writing them manually. Purely for the sake of a pleasant atavism, perhaps; the way one appreciates a used bookstore, or a video rental store... And thanks to the upstream maintainers for being patient while we adjust.
| | * ARM: OMAP5: PRM/CM: Cleanup unused headerRajendra Nayak2013-07-214-4336/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleanup unused parts of the PRM and CM regbit headers leaving only whats used. prm-regbits-54xx.h was found to be completely unused and hence removed. Signed-off-by: Rajendra Nayak <rnayak@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
| | * ARM: OMAP4: PRM/CM: Cleanup unused headerRajendra Nayak2013-07-212-3784/+0
| | | | | | | | | | | | | | | | | | | | | | | | Cleanup unused parts of the PRM and CM regbit headers leaving only whats used. Signed-off-by: Rajendra Nayak <rnayak@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
| | * ARM: OMAP3: PRM/CM: Cleanup unused headerRajendra Nayak2013-07-214-2168/+0
| | | | | | | | | | | | | | | | | | | | | | | | Cleanup unused parts of the PRM and CM regbit headers leaving only whats used. Signed-off-by: Rajendra Nayak <rnayak@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
| | * ARM: OMAP2: PRM/CM: Cleanup unused headerRajendra Nayak2013-07-212-565/+0
| | | | | | | | | | | | | | | | | | | | | | | | Cleanup unused parts of the PRM and CM regbit headers leaving only whats used. Signed-off-by: Rajendra Nayak <rnayak@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
* | | Merge tag 'renesas-cleanup-for-v3.12' of ↵Olof Johansson2013-08-0417-415/+106
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup From Simon Horman: renesas-cleanup-for-v3.12 Renesas ARM based SoC cleanups for v3.12 * remove mach/dma.h, it is not used * r8a7778 SoC: Removed unused r8a7778_init_irq * emev2 SoC: Use less verbose resource declarations * emev2 SoC: Correct typo in comment * r8a7790 SoC: Remove redundant init_machine callback * emev2, r8a7740, r8a7778, r8a7779, sh7372 and sh73a0 SoCs: Remove auxdata * emev2, r8a73a4, ape6evm, r8a7790 and sh73a0 SoCs, and lager and kzm9g boards: remove init_irq declaration in machine description * sh73a0 SoC: pinmux platform device cleanup * r8a7778 SoC: add __initdata on resource and device data * armadillo800eva board: Remove unused commend and define * tag 'renesas-cleanup-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (22 commits) ARM: shmobile: Remove unused mach/dma.h ARM: shmobile: r8a7778: remove r8a7778_init_irq() ARM: shmobile: Fix EMEV2 clock comment typo ARM: shmobile: Make EMEV2 platform devices more compact ARM: shmobile: Remove unused EMEV2/KZM9D early console ARM: shmobile: Remove redundant r8a7790 callback ARM: shmobile: Remove unused sh73a0 auxdata table ARM: shmobile: Remove unused sh7372 auxdata table ARM: shmobile: Remove unused r8a7779 auxdata table ARM: shmobile: Remove unused r8a7778 auxdata and callback ARM: shmobile: Remove unused r8a7740 auxdata table ARM: shmobile: Remove unused EMEV2 auxdata and callback ARM: shmobile: kzm9g: Remove init_irq declaration in machine description ARM: shmobile: sh73a0: Remove init_irq declaration in machine description ARM: shmobile: lager: Remove init_irq declaration in machine description ARM: shmobile: r8a7790: Remove init_irq declaration in machine description ARM: shmobile: ape6evm: Remove init_irq declaration in machine description ARM: shmobile: r8a73a4: Remove init_irq declaration in machine description ARM: shmobile: emev2: Remove init_irq declaration in machine description ARM: shmobile: sh73a0 pinmux platform device cleanup ... Signed-off-by: Olof Johansson <olof@lixom.net>
| * | | ARM: shmobile: Remove unused mach/dma.hMagnus Damm2013-07-171-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove mach-shmobile mach/dma.h since it only seems to be used on non-mach-shmobile platforms. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: r8a7778: remove r8a7778_init_irq()Kuninori Morimoto2013-07-172-29/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes r8a7778_init_irq(), since no-one is using it. And now, there is no reason to have r8a7778_init_irq_common(). r8a7778_init_irq_dt() includes it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: Fix EMEV2 clock comment typoMagnus Damm2013-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the STI timer frequency comment to 32.768 kHz to fix 37 kHz typo. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: Make EMEV2 platform devices more compactMagnus Damm2013-07-171-260/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert the EMEV2 SoC device setup code from using very verbose resources and static platform devices to the same style as more recent boards. This reduces the size of the code. Signed-off-by: Magnus Damm <damm@opensource.se> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: Remove unused EMEV2/KZM9D early consoleMagnus Damm2013-07-173-23/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove EMEV2 early console code from KZM9D and instead rely on console setup during regular platform device probe time. This makes the DT code and the KZM9D board support behave the same. Signed-off-by: Magnus Damm <damm@opensource.se> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: Remove redundant r8a7790 callbackMagnus Damm2013-07-171-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the SoC-specific callback init_machine() with a NULL to use the default code. This cleans up the code and reduces the number of lines. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: Remove unused sh73a0 auxdata tableMagnus Damm2013-07-171-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass NULL to of_platform_populate instead of passing an empty list. This cleans up the code and reduces the number of lines. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: Remove unused sh7372 auxdata tableMagnus Damm2013-07-171-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass NULL to of_platform_populate instead of passing an empty list. This cleans up the code and reduces the number of lines. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: Remove unused r8a7779 auxdata tableMagnus Damm2013-07-171-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass NULL to of_platform_populate instead of passing an empty list. This cleans up the code and reduces the number of lines. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: Remove unused r8a7778 auxdata and callbackMagnus Damm2013-07-171-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the SoC-specific callback init_machine() with a NULL to use the default code. This cleans up the code and reduces the number of lines. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: Remove unused r8a7740 auxdata tableMagnus Damm2013-07-171-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass NULL to of_platform_populate instead of passing an empty list. This cleans up the code and reduces the number of lines. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: Remove unused EMEV2 auxdata and callbackMagnus Damm2013-07-171-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the SoC-specific callback init_machine() with a NULL to use the default code. This cleans up the code and reduces the number of lines. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: kzm9g: Remove init_irq declaration in machine descriptionMagnus Damm2013-07-171-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove redundant irqchip_init() callback. The default case of NULL will result in invoking irqchip_init() anyway. Signed-off-by: Magnus Damm <damm@opensource.se> [ horms+renesas@verge.net.au: Trimmed patch to remove portion that updates the sh73a0 SoC and altered the subject to use the same format as the patch that updates the sh73a0. ] Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: sh73a0: Remove init_irq declaration in machine descriptionMaxime Ripard2013-07-171-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit ebafed7a ("ARM: irq: Call irqchip_init if no init_irq function is specified") removed the need to explictly setup the init_irq field in the machine description when using only irqchip_init. Remove that declaration for shmobile as well. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: lager: Remove init_irq declaration in machine descriptionMagnus Damm2013-07-171-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove redundant irqchip_init() callback. The default case of NULL will result in invoking irqchip_init() anyway. Signed-off-by: Magnus Damm <damm@opensource.se> [ horms+renesas@verge.net.au: Trimmed patch to remove portion that updates the r8a7790 SoC and altered the subject to use the same format as the patch that updates the r8a7790. ] Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: r8a7790: Remove init_irq declaration in machine descriptionMaxime Ripard2013-07-171-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit ebafed7a ("ARM: irq: Call irqchip_init if no init_irq function is specified") removed the need to explictly setup the init_irq field in the machine description when using only irqchip_init. Remove that declaration for shmobile as well. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: ape6evm: Remove init_irq declaration in machine descriptionMagnus Damm2013-07-171-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove redundant irqchip_init() callback. The default case of NULL will result in invoking irqchip_init() anyway. Signed-off-by: Magnus Damm <damm@opensource.se> [ horms+renesas@verge.net.au: Trimmed patch to remove portion that updates the r8a73a4 SoC and altered the subject to use the same format as the patch that updates the r8a73a4. ] Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: r8a73a4: Remove init_irq declaration in machine descriptionMaxime Ripard2013-07-171-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit ebafed7a ("ARM: irq: Call irqchip_init if no init_irq function is specified") removed the need to explictly setup the init_irq field in the machine description when using only irqchip_init. Remove that declaration for shmobile as well. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: emev2: Remove init_irq declaration in machine descriptionMaxime Ripard2013-07-171-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit ebafed7a ("ARM: irq: Call irqchip_init if no init_irq function is specified") removed the need to explictly setup the init_irq field in the machine description when using only irqchip_init. Remove that declaration for shmobile as well. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: sh73a0 pinmux platform device cleanupMagnus Damm2013-07-171-19/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use DEFINE_RES_MEM() and platform_device_register_simple() to save a couple of lines of code. Signed-off-by: Magnus Damm <damm@opensource.se> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> [ remove const from resource pfc_resources to avoid section miss-match reported by 4.4.5 ] Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
| * | | ARM: shmobile: r8a7778: add __initdata on resource and device dataKuninori Morimoto2013-07-171-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These data will be kmemdup()'ed on platform_device_add_resources() and platform_device_add_data() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms@verge.net.au>
| * | | ARM: shmobile: armadillo800eva: remove left-oversGuennadi Liakhovetski2013-07-161-9/+0
| |/ / | | | | | | | | | | | | | | | | | | | | | A comment and a #define in board-armadillo800eva.c have been left over after recent changes and are no longer relevant or needed, remove them. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
* | | ARM: imx: fix mismerge of localtimer codeOlof Johansson2013-08-021-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | I mis-resolved a merge conflict due to the branch being a bit on the old side, Stephen noticed. Here's the fix. Reported-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Olof Johansson <olof@lixom.net>
* | | ARM: OMAP2+: Fix fallout from localtimer divorce and SMP=nStephen Boyd2013-08-021-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A recent patch ef3160c (ARM: OMAP2+: Divorce from local timer API, 2013-03-04) broke the omap build when SMP=n because the TWD functions are only compiled on SMP=y builds. Stub out the TWD calls when the TWD isn't built in to to keep everything building. arch/arm/mach-omap2/built-in.o: In function `omap4_local_timer_init': dss-common.c:(.init.text+0x1d90): undefined reference to `twd_local_timer_register' Reported-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Olof Johansson <olof@lixom.net>
* | | Merge tag 'remove-local-timers' of ↵Olof Johansson2013-07-2319-341/+265
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm into next/cleanup From Stephen Boyd: Now that we have a generic arch hook for broadcast we can remove the local timer API entirely. Doing so will reduce code in ARM core, reduce the architecture dependencies of our timer drivers, and simplify the code because we no longer go through an architecture layer that is essentially a hotplug notifier. * tag 'remove-local-timers' of git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm: ARM: smp: Remove local timer API clocksource: time-armada-370-xp: Divorce from local timer API clocksource: time-armada-370-xp: Fix sparse warning ARM: msm: Divorce msm_timer from local timer API ARM: PRIMA2: Divorce timer-marco from local timer API ARM: EXYNOS4: Divorce mct from local timer API ARM: OMAP2+: Divorce from local timer API ARM: smp_twd: Divorce smp_twd from local timer API ARM: smp: Remove duplicate dummy timer implementation Resolved a large number of conflicts due to __cpuinit cleanups, etc. Signed-off-by: Olof Johansson <olof@lixom.net>
| * | ARM: smp: Remove local timer APIStephen Boyd2013-06-243-113/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | There are no more users of this API, remove it. Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Marc Zyngier <marc.zyngier@arm.com> Cc: Russell King <linux@arm.linux.org.uk> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | clocksource: time-armada-370-xp: Divorce from local timer APIStephen Boyd2013-06-241-48/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate the armada 370xp local timers from the local timer API. This will allow us to remove ARM local timer support in the near future and makes this driver multi-architecture friendly. Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Acked-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | clocksource: time-armada-370-xp: Fix sparse warningStephen Boyd2013-06-242-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drivers/clocksource/time-armada-370-xp.c:217:13: warning: symbol 'armada_370_xp_timer_init' was not declared. Should it be static? Also remove the __init marking in the prototype as it's unnecessary and drop the init.h file. Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Acked-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | ARM: msm: Divorce msm_timer from local timer APIStephen Boyd2013-06-241-56/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate the msm_timer from the local timer API. This will allow us to remove ARM local timer support in the near future and gets us closer to moving this driver to drivers/clocksource. Acked-by: David Brown <davidb@codeaurora.org> Acked-by: Marc Zyngier <marc.zyngier@arm.com> Cc: Daniel Walker <dwalker@fifo99.com> Cc: Bryan Huntsman <bryanh@codeaurora.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | ARM: PRIMA2: Divorce timer-marco from local timer APIStephen Boyd2013-06-241-46/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate the marco local timers from the local timer API. This will allow us to remove ARM local timer support in the near future and gets us closer to moving this driver to drivers/clocksource. Acked-by: Marc Zyngier <marc.zyngier@arm.com> Cc: Barry Song <baohua.song@csr.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | ARM: EXYNOS4: Divorce mct from local timer APIStephen Boyd2013-06-241-17/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate the mct local timers from the local timer API. This will allow us to remove ARM local timer support in the near future and gets us closer to moving this driver to drivers/clocksource. Acked-by: Kukjin Kim <kgene.kim@samsung.com> Acked-by: Marc Zyngier <marc.zyngier@arm.com> Cc: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | ARM: OMAP2+: Divorce from local timer APIStephen Boyd2013-06-242-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that the TWD doesn't rely on the local timer API, OMAP can stop selecting it in Kconfig and relying on the config option to decide if it should call smp_twd functions. Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | ARM: smp_twd: Divorce smp_twd from local timer APIStephen Boyd2013-06-2411-34/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate the smp_twd timers from the local timer API. This will allow us to remove ARM local timer support in the near future and gets us closer to moving this driver to drivers/clocksource. Tested-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Marc Zyngier <marc.zyngier@arm.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Tony Lindgren <tony@atomide.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | ARM: smp: Remove duplicate dummy timer implementationStephen Boyd2013-06-241-20/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Drop ARM's version of the dummy timer now that we have a generic implementation in drivers/clocksource. Acked-by: Marc Zyngier <marc.zyngier@arm.com> Cc: Russell King <linux@arm.linux.org.uk> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
| * | Merge branch 'timers/core' of ↵Stephen Boyd2013-06-24225-1866/+4221
| |\ \ | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into remove-local-timers
* | | | Linux 3.11-rc2v3.11-rc2Linus Torvalds2013-07-211-1/+1
| | | |
* | | | Merge tag 'acpi-video-3.11' of ↵Linus Torvalds2013-07-219-28/+137
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull ACPI video support fixes from Rafael Wysocki: "I'm sending a separate pull request for this as it may be somewhat controversial. The breakage addressed here is not really new and the fixes may not satisfy all users of the affected systems, but we've had so much back and forth dance in this area over the last several weeks that I think it's time to actually make some progress. The source of the problem is that about a year ago we started to tell BIOSes that we're compatible with Windows 8, which we really need to do, because some systems shipping with Windows 8 are tested with it and nothing else, so if we tell their BIOSes that we aren't compatible with Windows 8, we expose our users to untested BIOS/AML code paths. However, as it turns out, some Windows 8-specific AML code paths are not tested either, because Windows 8 actually doesn't use the ACPI methods containing them, so if we declare Windows 8 compatibility and attempt to use those ACPI methods, things break. That occurs mostly in the backlight support area where in particular the _BCM and _BQC methods are plain unusable on some systems if the OS declares Windows 8 compatibility. [ The additional twist is that they actually become usable if the OS says it is not compatible with Windows 8, but that may cause problems to show up elsewhere ] Investigation carried out by Matthew Garrett indicates that what Windows 8 does about backlight is to leave backlight control up to individual graphics drivers. At least there's evidence that it does that if the Intel graphics driver is used, so we've decided to follow Windows 8 in that respect and allow i915 to control backlight (Daniel likes that part). The first commit from Aaron Lu makes ACPICA export the variable from which we can infer whether or not the BIOS believes that we are compatible with Windows 8. The second commit from Matthew Garrett prepares the ACPI video driver by making it initialize the ACPI backlight even if it is not going to be used afterward (that is needed for backlight control to work on Thinkpads). The third commit implements the actual workaround making i915 take over backlight control if the firmware thinks it's dealing with Windows 8 and is based on the work of multiple developers, including Matthew Garrett, Chun-Yi Lee, Seth Forshee, and Aaron Lu. The final commit from Aaron Lu makes us follow Windows 8 by informing the firmware through the _DOS method that it should not carry out automatic brightness changes, so that brightness can be controlled by GUI. Hopefully, this approach will allow us to avoid using blacklists of systems that should not declare Windows 8 compatibility just to avoid backlight control problems in the future. - Change from Aaron Lu makes ACPICA export a variable which can be used by driver code to determine whether or not the BIOS believes that we are compatible with Windows 8. - Change from Matthew Garrett makes the ACPI video driver initialize the ACPI backlight even if it is not going to be used afterward (that is needed for backlight control to work on Thinkpads). - Fix from Rafael J Wysocki implements Windows 8 backlight support workaround making i915 take over bakclight control if the firmware thinks it's dealing with Windows 8. Based on the work of multiple developers including Matthew Garrett, Chun-Yi Lee, Seth Forshee, and Aaron Lu. - Fix from Aaron Lu makes the kernel follow Windows 8 by informing the firmware through the _DOS method that it should not carry out automatic brightness changes, so that brightness can be controlled by GUI" * tag 'acpi-video-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: ACPI / video: no automatic brightness changes by win8-compatible firmware ACPI / video / i915: No ACPI backlight if firmware expects Windows 8 ACPI / video: Always call acpi_video_init_brightness() on init ACPICA: expose OSI version
| * | | | ACPI / video: no automatic brightness changes by win8-compatible firmwareAaron Lu2013-07-181-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting from win8, MS backlight control driver will set bit 2 of the parameter of control method _DOS, to inform firmware it should not perform any automatic brightness changes. This mostly affects hotkey notification deliver - if we do not set this bit, on hotkey press, firmware may choose to adjust brightness level instead of sending out notification and doing nothing. So this patch sets bit 2 when calling _DOS so that GUIs can show the notification window on hotkey press. This behavior change is only necessary for win8 systems. The MS document on win8 backlight control is here: http://msdn.microsoft.com/en-US/library/windows/hardware/jj159305 References: https://bugzilla.kernel.org/show_bug.cgi?id=52951 References: https://bugzilla.kernel.org/show_bug.cgi?id=56711 Reported-by: Micael Dias <kam1kaz3@gmail.com> Reported-by: Dan Garton <dan.garton@gmail.com> Reported-by: Bob Ziuchkovski <bob.ziuchkovski@gmail.com> Signed-off-by: Aaron Lu <aaron.lu@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
| * | | | ACPI / video / i915: No ACPI backlight if firmware expects Windows 8Rafael J. Wysocki2013-07-186-10/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to Matthew Garrett, "Windows 8 leaves backlight control up to individual graphics drivers rather than making ACPI calls itself. There's plenty of evidence to suggest that the Intel driver for Windows [8] doesn't use the ACPI interface, including the fact that it's broken on a bunch of machines when the OS claims to support Windows 8. The simplest thing to do appears to be to disable the ACPI backlight interface on these systems". There's a problem with that approach, however, because simply avoiding to register the ACPI backlight interface if the firmware calls _OSI for Windows 8 may not work in the following situations: (1) The ACPI backlight interface actually works on the given system and the i915 driver is not loaded (e.g. another graphics driver is used). (2) The ACPI backlight interface doesn't work on the given system, but there is a vendor platform driver that will register its own, equally broken, backlight interface if not prevented from doing so by the ACPI subsystem. Therefore we need to allow the ACPI backlight interface to be registered until the i915 driver is loaded which then will unregister it if the firmware has called _OSI for Windows 8 (or will register the ACPI video driver without backlight support if not already present). For this reason, introduce an alternative function for registering ACPI video, acpi_video_register_with_quirks(), that will check whether or not the ACPI video driver has already been registered and whether or not the backlight Windows 8 quirk has to be applied. If the quirk has to be applied, it will block the ACPI backlight support and either unregister the backlight interface if the ACPI video driver has already been registered, or register the ACPI video driver without the backlight interface otherwise. Make the i915 driver use acpi_video_register_with_quirks() instead of acpi_video_register() in i915_driver_load(). This change is based on earlier patches from Matthew Garrett, Chun-Yi Lee and Seth Forshee and includes a fix from Aaron Lu's. References: https://bugzilla.kernel.org/show_bug.cgi?id=51231 Tested-by: Aaron Lu <aaron.lu@intel.com> Tested-by: Igor Gnatenko <i.gnatenko.brain@gmail.com> Tested-by: Yves-Alexis Perez <corsac@debian.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by: Aaron Lu <aaron.lu@intel.com> Acked-by: Matthew Garrett <matthew.garrett@nebula.com>
| * | | | ACPI / video: Always call acpi_video_init_brightness() on initMatthew Garrett2013-07-181-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have to call acpi_video_init_brightness() even if we're not going to initialise the backlight - Thinkpads seem to use this as the trigger for enabling ACPI notifications rather than handling it in firmware. [rjw: Drop the brightness object created by acpi_video_init_brightness() if we are not going to use it.] Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
| * | | | ACPICA: expose OSI versionAaron Lu2013-07-183-13/+16
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Expose acpi_gbl_osi_data so that code outside of ACPICA can check the value of the last successfull _OSI call. The definitions for OSI versions are moved to actypes.h so that other components can access them too. Based on a patch from Matthew Garrett which in turn was based on an earlier patch from Seth Forshee. [rjw: Changelog] Signed-off-by: Aaron Lu <aaron.lu@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
* | | | Merge tag 'ext4_for_linus' of ↵Linus Torvalds2013-07-202-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 Pull ext[34] tmpfile bugfix from Ted Ts'o: "Fix regression caused by commit af51a2ac36d1f which added ->tmpfile() support (along with a similar fix for ext3)" * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext3: fix a BUG when opening a file with O_TMPFILE flag ext4: fix a BUG when opening a file with O_TMPFILE flag
| * | | | ext3: fix a BUG when opening a file with O_TMPFILE flagZheng Liu2013-07-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we try to open a file with O_TMPFILE flag, we will trigger a bug. The root cause is that in ext4_orphan_add() we check ->i_nlink == 0 and this check always fails because we set ->i_nlink = 1 in inode_init_always(). We can use the following program to trigger it: int main(int argc, char *argv[]) { int fd; fd = open(argv[1], O_TMPFILE, 0666); if (fd < 0) { perror("open "); return -1; } close(fd); return 0; } The oops message looks like this: kernel: kernel BUG at fs/ext3/namei.c:1992! kernel: invalid opcode: 0000 [#1] SMP kernel: Modules linked in: ext4 jbd2 crc16 cpufreq_ondemand ipv6 dm_mirror dm_region_hash dm_log dm_mod parport_pc parport serio_raw sg dcdbas pcspkr i2c_i801 ehci_pci ehci_hcd button acpi_cpufreq mperf e1000e ptp pps_core ttm drm_kms_helper drm hwmon i2c_algo_bit i2c_core ext3 jbd sd_mod ahci libahci libata scsi_mod uhci_hcd kernel: CPU: 0 PID: 2882 Comm: tst_tmpfile Not tainted 3.11.0-rc1+ #4 kernel: Hardware name: Dell Inc. OptiPlex 780 /0V4W66, BIOS A05 08/11/2010 kernel: task: ffff880112d30050 ti: ffff8801124d4000 task.ti: ffff8801124d4000 kernel: RIP: 0010:[<ffffffffa00db5ae>] [<ffffffffa00db5ae>] ext3_orphan_add+0x6a/0x1eb [ext3] kernel: RSP: 0018:ffff8801124d5cc8 EFLAGS: 00010202 kernel: RAX: 0000000000000000 RBX: ffff880111510128 RCX: ffff8801114683a0 kernel: RDX: 0000000000000000 RSI: ffff880111510128 RDI: ffff88010fcf65a8 kernel: RBP: ffff8801124d5d18 R08: 0080000000000000 R09: ffffffffa00d3b7f kernel: R10: ffff8801114683a0 R11: ffff8801032a2558 R12: 0000000000000000 kernel: R13: ffff88010fcf6800 R14: ffff8801032a2558 R15: ffff8801115100d8 kernel: FS: 00007f5d172b5700(0000) GS:ffff880117c00000(0000) knlGS:0000000000000000 kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b kernel: CR2: 00007f5d16df15d0 CR3: 0000000110b1d000 CR4: 00000000000407f0 kernel: Stack: kernel: 000000000000000c ffff8801048a7dc8 ffff8801114685a8 ffffffffa00b80d7 kernel: ffff8801124d5e38 ffff8801032a2558 ffff88010ce24d68 0000000000000000 kernel: ffff88011146b300 ffff8801124d5d44 ffff8801124d5d78 ffffffffa00db7e1 kernel: Call Trace: kernel: [<ffffffffa00b80d7>] ? journal_start+0x8c/0xbd [jbd] kernel: [<ffffffffa00db7e1>] ext3_tmpfile+0xb2/0x13b [ext3] kernel: [<ffffffff821076f8>] path_openat+0x11f/0x5e7 kernel: [<ffffffff821c86b4>] ? list_del+0x11/0x30 kernel: [<ffffffff82065fa2>] ? __dequeue_entity+0x33/0x38 kernel: [<ffffffff82107cd5>] do_filp_open+0x3f/0x8d kernel: [<ffffffff82112532>] ? __alloc_fd+0x50/0x102 kernel: [<ffffffff820f9296>] do_sys_open+0x13b/0x1cd kernel: [<ffffffff820f935c>] SyS_open+0x1e/0x20 kernel: [<ffffffff82398c02>] system_call_fastpath+0x16/0x1b kernel: Code: 39 c7 0f 85 67 01 00 00 0f b7 03 25 00 f0 00 00 3d 00 40 00 00 74 18 3d 00 80 00 00 74 11 3d 00 a0 00 00 74 0a 83 7b 48 00 74 04 <0f> 0b eb fe 49 8b 85 50 03 00 00 4c 89 f6 48 c7 c7 c0 99 0e a0 kernel: RIP [<ffffffffa00db5ae>] ext3_orphan_add+0x6a/0x1eb [ext3] kernel: RSP <ffff8801124d5cc8> Here we couldn't call clear_nlink() directly because in d_tmpfile() we will call inode_dec_link_count() to decrease ->i_nlink. So this commit tries to call d_tmpfile() before ext4_orphan_add() to fix this problem. Signed-off-by: Zheng Liu <wenqing.lz@taobao.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Cc: Jan Kara <jack@suse.cz> Cc: Al Viro <viro@zeniv.linux.org.uk>
OpenPOWER on IntegriCloud