11 Jan, 2012

2 commits

  • lib: use generic pci_iomap on all architectures

    Many architectures don't want to pull in iomap.c,
    so they ended up duplicating pci_iomap from that file.
    That function isn't trivial, and we are going to modify it
    https://lkml.org/lkml/2011/11/14/183
    so the duplication hurts.

    This reduces the scope of the problem significantly,
    by moving pci_iomap to a separate file and
    referencing that from all architectures.

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    alpha: drop pci_iomap/pci_iounmap from pci-noop.c
    mn10300: switch to GENERIC_PCI_IOMAP
    mn10300: add missing __iomap markers
    frv: switch to GENERIC_PCI_IOMAP
    tile: switch to GENERIC_PCI_IOMAP
    tile: don't panic on iomap
    sparc: switch to GENERIC_PCI_IOMAP
    sh: switch to GENERIC_PCI_IOMAP
    powerpc: switch to GENERIC_PCI_IOMAP
    parisc: switch to GENERIC_PCI_IOMAP
    mips: switch to GENERIC_PCI_IOMAP
    microblaze: switch to GENERIC_PCI_IOMAP
    arm: switch to GENERIC_PCI_IOMAP
    alpha: switch to GENERIC_PCI_IOMAP
    lib: add GENERIC_PCI_IOMAP
    lib: move GENERIC_IOMAP to lib/Kconfig

    Fix up trivial conflicts due to changes nearby in arch/{m68k,score}/Kconfig

    Linus Torvalds
     
  • Randomization of PIE load address is hard coded in binfmt_elf.c for X86
    and ARM. Create a new Kconfig variable
    (CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE) for this and use it instead. Thus
    architecture specific policy is pushed out of the generic binfmt_elf.c and
    into the architecture Kconfig files.

    X86 and ARM Kconfigs are modified to select the new variable so there is
    no change in behavior. A follow on patch will select it for MIPS too.

    Signed-off-by: David Daney
    Cc: Russell King
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Alexander Viro
    Acked-by: H. Peter Anvin
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Daney
     

10 Jan, 2012

4 commits

  • clock management changes for i.MX

    Another simple series related to clock management, this time only for
    imx.

    * tag 'clk' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: mxs: select HAVE_CLK_PREPARE for clock
    clk: add config option HAVE_CLK_PREPARE into Kconfig
    ASoC: mxs-saif: convert to clk_prepare/clk_unprepare
    video: mxsfb: convert to clk_prepare/clk_unprepare
    serial: mxs-auart: convert to clk_prepare/clk_unprepare
    net: flexcan: convert to clk_prepare/clk_unprepare
    mtd: gpmi-lib: convert to clk_prepare/clk_unprepare
    mmc: mxs-mmc: convert to clk_prepare/clk_unprepare
    dma: mxs-dma: convert to clk_prepare/clk_unprepare
    net: fec: add clk_prepare/clk_unprepare
    ARM: mxs: convert platform code to clk_prepare/clk_unprepare
    clk: add helper functions clk_prepare_enable and clk_disable_unprepare

    Fix up trivial conflicts in drivers/net/ethernet/freescale/fec.c due to
    commit 0ebafefcaa7a ("net: fec: add clk_prepare/clk_unprepare") clashing
    trivially with commit e163cc97f9ac ("net/fec: fix the .remove code").

    Linus Torvalds
     
  • Driver specific changes

    Again, a lot of platforms have changes in here: pxa, samsung, omap,
    at91, imx, ...

    * tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
    ARM: sa1100: clean up of the clock support
    ARM: pxa: add dummy clock for sa1100-rtc
    RTC: sa1100: support sa1100, pxa and mmp soc families
    RTC: sa1100: remove redundant code of setting alarm
    RTC: sa1100: Clean out ost register
    Input: zylonite-wm97xx - replace IRQ_GPIO() with gpio_to_irq()
    pcmcia: pxa: replace IRQ_GPIO() with gpio_to_irq()
    ARM: EXYNOS: Modified files for SPI consolidation work
    ARM: S5P64X0: Enable SDHCI support
    ARM: S5P64X0: Add lookup of sdhci-s3c clocks using generic names
    ARM: S5P64X0: Add HSMMC setup for host Controller
    ARM: EXYNOS: Add USB OHCI support to ORIGEN board
    USB: Add Samsung Exynos OHCI diver
    ARM: EXYNOS: Add USB OHCI support to SMDKV310 board
    ARM: EXYNOS: Add USB OHCI device
    net: macb: fix build break with !CONFIG_OF
    i2c: tegra: Support DVC controller in device tree
    i2c: tegra: Add __devinit/exit to probe/remove
    net/at91_ether: use gpio_is_valid for phy IRQ line
    ARM: at91/net: add macb ethernet controller in 9g45/9g20 DT
    ...

    Linus Torvalds
     
  • Cleanups on various subarchitectures

    Cleanup patches for various ARM platforms and some of their associated
    drivers, the bulk of these is for mach-91.

    Arnd ended up pulling in the restart branch from Russell in order to
    fix up some simple but annoying merge conflicts.

    * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits)
    arm/at91: fix build of stamp9g20
    ARM: u300: delete memory.h
    MAINTAINERS: add maintainer entry for Picochip picoxcell
    ARM: picoxcell: move io mappings to common.c
    ARM: picoxcell: don't reserve irq_descs
    ARM: picoxcell: remove mach/memory.h
    ARM: at91: delete the pcontrol_g20_defconfig
    arm/tegra: Remove code that's ifndef CONFIG_ARM_GIC
    arm/tegra: remove unused defines
    arm/tegra: fix variable formatting in makefile
    ARM: davinci: vpif: move code to driver core header from platform
    ARM: at91/gpio: fix display of number of irq setuped
    ARM: at91/gpio: drop PIN_BASE
    ARM: at91/udc: use gpio_is_valid to check the gpio
    ARM: at91/ohci: use gpio_is_valid to check the gpio
    ARM: at91/nand: use gpio_is_valid to check the gpio
    ARM: at91/mmc: use gpio_is_valid to check the gpio
    ARM: at91/ide: use gpio_is_valid to check the gpio
    ARM: at91/pata: use gpio_is_valid to check the gpio
    ARM: at91/soc: use gpio_is_valid to check the gpio
    ...

    Linus Torvalds
     
  • Conflicts:
    arch/arm/mach-mxs/include/mach/common.h

    Pull in previous samsung conflict merges and do a trivial
    merge of an mxs double-add conflict.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

09 Jan, 2012

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)
    Kconfig: acpi: Fix typo in comment.
    misc latin1 to utf8 conversions
    devres: Fix a typo in devm_kfree comment
    btrfs: free-space-cache.c: remove extra semicolon.
    fat: Spelling s/obsolate/obsolete/g
    SCSI, pmcraid: Fix spelling error in a pmcraid_err() call
    tools/power turbostat: update fields in manpage
    mac80211: drop spelling fix
    types.h: fix comment spelling for 'architectures'
    typo fixes: aera -> area, exntension -> extension
    devices.txt: Fix typo of 'VMware'.
    sis900: Fix enum typo 'sis900_rx_bufer_status'
    decompress_bunzip2: remove invalid vi modeline
    treewide: Fix comment and string typo 'bufer'
    hyper-v: Update MAINTAINERS
    treewide: Fix typos in various parts of the kernel, and fix some comments.
    clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR
    gpio: Kconfig: drop unknown symbol 'CS5535_GPIO'
    leds: Kconfig: Fix typo 'D2NET_V2'
    sound: Kconfig: drop unknown symbol ARCH_CLPS7500
    ...

    Fix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new
    kconfig additions, close to removed commented-out old ones)

    Linus Torvalds
     

08 Jan, 2012

1 commit

  • Conflicts:
    arch/arm/mach-exynos/common.c

    The common.c file gets changes from rmk/stable-devel (part of
    next/cleanup), rmk/restart, samsung/dt and follow-on branches
    from the samsung tree.

    Pulling it all together here hopefully avoids having to do
    even more conflicting merge changesets in this one file. What
    a mess!

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

07 Jan, 2012

1 commit

  • Conflicts:
    arch/arm/mach-at91/at91cap9.c
    arch/arm/mach-at91/at91sam9260.c
    arch/arm/mach-at91/at91sam9261.c
    arch/arm/mach-at91/at91sam9263.c
    arch/arm/mach-at91/at91sam9g45.c
    arch/arm/mach-at91/at91sam9rl.c
    arch/arm/mach-exynos/cpu.c
    arch/arm/mach-shmobile/board-kota2.c

    This resolves a bunch of conflicts between the arm-soc tree
    and changes from the arm tree that have gone upstream.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

05 Jan, 2012

4 commits


28 Dec, 2011

4 commits


24 Dec, 2011

5 commits

  • Add default value for CONFIG_ARCH_NR_GPIO to Kconfig and remove the
    definition in gpio.h. We can't remove gpio.h yet as asm/gpio.h still
    includes it.

    Signed-off-by: Peter De Schrijver
    Signed-off-by: Russell King

    Peter De Schrijver (NVIDIA)
     
  • Add default value for CONFIG_ARCH_NR_GPIO to Kconfig and remove the
    definition in gpio.h.

    Signed-off-by: Peter De Schrijver
    Signed-off-by: Russell King

    Peter De Schrijver (NVIDIA)
     
  • Change ARCH_NR_GPIO into a Kconfig variable as suggested by Russel King.
    This makes ARCH_NR_GPIO single zImage friendly. The default value for
    tegra is defined as well.

    Signed-off-by: Peter De Schrijver
    Signed-off-by: Russell King

    Peter De Schrijver (NVIDIA)
     
  • Activation conditions for a workaround should not be encoded in the
    workaround's direct dependencies if this makes otherwise reasonable
    configuration choices impossible.

    This patches uses the SMP/UP patching facilities instead to compile
    out the workaround if the configuration means that it is definitely
    not needed.

    This means that configs for buggy silicon can simply select
    ARM_ERRATA_751472, without preventing a UP kernel from being built
    or duplicatiing knowledge about when to activate the workaround.
    This seems the correct way to do things, because the erratum is a
    property of the silicon, irrespective of what the kernel config
    happens to be.

    Signed-off-by: Dave Martin
    Signed-off-by: Russell King

    Dave Martin
     
  • Activation conditions for a workaround should not be encoded in the
    workaround's direct dependencies if this makes otherwise reasonable
    configuration choices impossible.

    The workaround for erratum 720789 only affects a code path which is
    not active in UP kernels; hence it should be safe to turn on in UP
    kernels, without penalty.

    This patch simply removes the extra dependency on SMP from Kconfig.

    This means that configs for buggy silicon can simply select
    ARM_ERRATA_720789, without preventing a UP kernel from being built
    or duplicatiing knowledge about when to activate the workaround.

    Signed-off-by: Dave Martin
    Acked-by: Will Deacon
    Signed-off-by: Russell King

    Dave Martin
     

21 Dec, 2011

1 commit


20 Dec, 2011

1 commit


19 Dec, 2011

4 commits

  • If running in the Normal World on a TrustZone-enabled SoC, Linux
    does not have complete control over the L2 cache controller
    configuration. The kernel cannot work reliably on such platforms
    without the l2x0 cache support code built in.

    This patch unconditionally enables l2x0 support for the Highbank
    SoC.

    Thanks to Rob Herring for this suggestion. [1]

    [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2011-November/074495.html

    Signed-off-by: Dave Martin
    Acked-by: Rob Herring

    Dave Martin
     
  • Making SMP depend on (huge list of MACH_ and ARCH_ configs) is
    bothersome to maintain and likely to lead to merge conflicts.

    This patch moves the knowledge of which platforms are SMP-capable
    to the individual machines. To enable this, a new HAVE_SMP config
    option is introduced to allow machines to indicate that they can
    run in a SMP configuration.

    Signed-off-by: Dave Martin
    Acked-by: Linus Walleij
    (for nomadik, ux500)
    Acked-by: Tony Lindgren
    (for omap)
    Acked-by: Kukjin Kim
    (for exynos)
    Acked-by: Sascha Hauer
    (for imx)
    Acked-by: Olof Johansson
    (for tegra)

    Dave Martin
     
  • Making CACHE_L2X0 depend on (huge list of MACH_ and ARCH_ configs)
    is bothersome to maintain and likely to lead to merge conflicts.

    This patch moves the knowledge of which platforms have a L2x0 or
    PL310 cache controller to the individual machines. To enable this,
    a new MIGHT_HAVE_CACHE_L2X0 config option is introduced to allow
    machines to indicate that they may have such a cache controller
    independently of each other.

    Boards/SoCs which cannot reliably operate without the L2 cache
    controller support will need to select CACHE_L2X0 directly from
    their own Kconfigs instead. This applies to some TrustZone-enabled
    boards where Linux runs in the Normal World, for example.

    Signed-off-by: Dave Martin
    Acked-by: Anton Vorontsov
    (for cns3xxx)
    Acked-by: Tony Lindgren
    (for omap)
    Acked-by: Shawn Guo
    (for imx)
    Acked-by: Kukjin Kim
    (for exynos)
    Acked-by: Sascha Hauer
    (for imx)
    Acked-by: Olof Johansson
    (for tegra)

    Dave Martin
     
  • Last merge window the memory maps for U300 were simplified so
    we can now safely delete memory.h.

    Acked-by: Nicolas Pitre
    Signed-off-by: Linus Walleij

    Linus Walleij
     

18 Dec, 2011

1 commit


13 Dec, 2011

3 commits


09 Dec, 2011

1 commit


08 Dec, 2011

1 commit


06 Dec, 2011

2 commits

  • Conflicts:
    drivers/net/ethernet/cadence/Kconfig

    Arnd Bergmann
     
  • Commit 1b9f95f8ade9 (ARM: prepare for removal of a bunch of
    files) introduced CONFIG_PHYS_OFFSET but the Kconfig hex prompt did not
    provide a default value.

    This has the undesired side effect of breaking a reportedly used
    trick for updating defconfigs on the fly for routine buildtesting
    across all arch and all platforms, i.e.

    cp /path/to/somedefconfig .config ; yes "" | make oldconfig

    because the config system will endlessly loop until a valid address is
    provided.

    However we can't just pick a random default value since it is likely to
    be wrong for the majority of the boards as the right answer for this
    option is quite varied. So the fact that the config system insists on
    having a proper value be entered is actually a good thing.

    It turns out that only at91x40_defconfig has this problem because it has
    CONFIG_MMU=n. However, in the !MMU case, there is already a CONFIG_DRAM_BASE
    value that can be used here. So let's use that as a default in that case
    and suppress the redundant CONFIG_PHYS_OFFSET prompt.

    Eventually the DRAM_BASE config option could simply be replaced by
    PHYS_OFFSET directly, but that's a larger change better suited for later.

    Reported-by: Paul Gortmaker
    Signed-off-by: Nicolas Pitre
    Acked-by: Uwe Kleine-König
    Signed-off-by: Russell King

    Nicolas Pitre
     

29 Nov, 2011

1 commit


21 Nov, 2011

2 commits

  • The Kconfig options for the PL310 errata workarounds do not use a
    consistent naming scheme for either the config option or the bool
    description.

    This patch tidies up the options by ensuring that the bool descriptions
    are prefixed with "PL310 errata:" and the config options are prefixed
    with PL310_ERRATA_, making it much clearer in menuconfig as to what the
    workarounds are for.

    Signed-off-by: Will Deacon
    Signed-off-by: Russell King

    Will Deacon
     
  • This patch implements a workaround for PL310 erratum 769419. On
    revisions of the PL310 prior to r3p2, the Store Buffer does not
    automatically drain. This can cause normal, non-cacheable writes to be
    retained when the memory system is idle, leading to suboptimal I/O
    performance for drivers using coherent DMA.

    This patch adds an optional wmb() call to the cpu_idle loop. On systems
    with an outer cache, this causes an explicit flush of the store buffer.

    Cc: stable@vger.kernel.org
    Acked-by: Catalin Marinas
    Tested-by: Marc Zyngier
    Signed-off-by: Will Deacon
    Signed-off-by: Russell King

    Will Deacon
     

15 Nov, 2011

1 commit