14 Jun, 2020

1 commit

  • Since commit 84af7a6194e4 ("checkpatch: kconfig: prefer 'help' over
    '---help---'"), the number of '---help---' has been gradually
    decreasing, but there are still more than 2400 instances.

    This commit finishes the conversion. While I touched the lines,
    I also fixed the indentation.

    There are a variety of indentation styles found.

    a) 4 spaces + '---help---'
    b) 7 spaces + '---help---'
    c) 8 spaces + '---help---'
    d) 1 space + 1 tab + '---help---'
    e) 1 tab + '---help---' (correct indentation)
    f) 1 tab + 1 space + '---help---'
    g) 1 tab + 2 spaces + '---help---'

    In order to convert all of them to 1 tab + 'help', I ran the
    following commend:

    $ find . -name 'Kconfig*' | xargs sed -i 's/^[[:space:]]*---help---/\thelp/'

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

10 Jun, 2020

1 commit

  • Patch series "mm: consolidate definitions of page table accessors", v2.

    The low level page table accessors (pXY_index(), pXY_offset()) are
    duplicated across all architectures and sometimes more than once. For
    instance, we have 31 definition of pgd_offset() for 25 supported
    architectures.

    Most of these definitions are actually identical and typically it boils
    down to, e.g.

    static inline unsigned long pmd_index(unsigned long address)
    {
    return (address >> PMD_SHIFT) & (PTRS_PER_PMD - 1);
    }

    static inline pmd_t *pmd_offset(pud_t *pud, unsigned long address)
    {
    return (pmd_t *)pud_page_vaddr(*pud) + pmd_index(address);
    }

    These definitions can be shared among 90% of the arches provided
    XYZ_SHIFT, PTRS_PER_XYZ and xyz_page_vaddr() are defined.

    For architectures that really need a custom version there is always
    possibility to override the generic version with the usual ifdefs magic.

    These patches introduce include/linux/pgtable.h that replaces
    include/asm-generic/pgtable.h and add the definitions of the page table
    accessors to the new header.

    This patch (of 12):

    The linux/mm.h header includes to allow inlining of the
    functions involving page table manipulations, e.g. pte_alloc() and
    pmd_alloc(). So, there is no point to explicitly include
    in the files that include .

    The include statements in such cases are remove with a simple loop:

    for f in $(git grep -l "include ") ; do
    sed -i -e '/include / d' $f
    done

    Signed-off-by: Mike Rapoport
    Signed-off-by: Andrew Morton
    Cc: Arnd Bergmann
    Cc: Borislav Petkov
    Cc: Brian Cain
    Cc: Catalin Marinas
    Cc: Chris Zankel
    Cc: "David S. Miller"
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Ungerer
    Cc: Guan Xuetao
    Cc: Guo Ren
    Cc: Heiko Carstens
    Cc: Helge Deller
    Cc: Ingo Molnar
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Matthew Wilcox
    Cc: Matt Turner
    Cc: Max Filippov
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Mike Rapoport
    Cc: Nick Hu
    Cc: Paul Walmsley
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Russell King
    Cc: Stafford Horne
    Cc: Thomas Bogendoerfer
    Cc: Thomas Gleixner
    Cc: Tony Luck
    Cc: Vincent Chen
    Cc: Vineet Gupta
    Cc: Will Deacon
    Cc: Yoshinori Sato
    Link: http://lkml.kernel.org/r/20200514170327.31389-1-rppt@kernel.org
    Link: http://lkml.kernel.org/r/20200514170327.31389-2-rppt@kernel.org
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     

19 Mar, 2020

1 commit

  • request_irq() is preferred over setup_irq(). Invocations of setup_irq()
    occur after memory allocators are ready.

    Per tglx[1], setup_irq() existed in olden days when allocators were not
    ready by the time early interrupts were initialized.

    Hence replace setup_irq() by request_irq().

    [1] https://lkml.kernel.org/r/alpine.DEB.2.20.1710191609480.1971@nanos

    Signed-off-by: afzal mohammed
    Signed-off-by: Russell King

    afzal mohammed
     

28 Oct, 2019

1 commit

  • Move the pcibios_report_status to include to remove the
    following sparse warning and to remove the extra definition in the
    footbrdige dc21285.c driver:

    arch/arm/kernel/bios32.c:59:6: warning: symbol 'pcibios_report_status' was not declared. Should it be static?

    Signed-off-by: Ben Dooks
    Signed-off-by: Russell King

    Ben Dooks
     

19 Jun, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation #

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4122 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Kate Stewart
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

21 May, 2019

1 commit


23 Nov, 2018

1 commit

  • There is no good reason to duplicate the PCI menu in every architecture.
    Instead provide a selectable HAVE_PCI symbol that indicates availability
    of PCI support, and a FORCE_PCI symbol to for PCI on and the handle the
    rest in drivers/pci.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Palmer Dabbelt
    Acked-by: Max Filippov
    Acked-by: Thomas Gleixner
    Acked-by: Bjorn Helgaas
    Acked-by: Geert Uytterhoeven
    Acked-by: Paul Burton
    Signed-off-by: Masahiro Yamada

    Christoph Hellwig
     

13 Jun, 2018

1 commit

  • The kzalloc() function has a 2-factor argument form, kcalloc(). This
    patch replaces cases of:

    kzalloc(a * b, gfp)

    with:
    kcalloc(a * b, gfp)

    as well as handling cases of:

    kzalloc(a * b * c, gfp)

    with:

    kzalloc(array3_size(a, b, c), gfp)

    as it's slightly less ugly than:

    kzalloc_array(array_size(a, b), c, gfp)

    This does, however, attempt to ignore constant size factors like:

    kzalloc(4 * 1024, gfp)

    though any constants defined via macros get caught up in the conversion.

    Any factors with a sizeof() of "unsigned char", "char", and "u8" were
    dropped, since they're redundant.

    The Coccinelle script used for this was:

    // Fix redundant parens around sizeof().
    @@
    type TYPE;
    expression THING, E;
    @@

    (
    kzalloc(
    - (sizeof(TYPE)) * E
    + sizeof(TYPE) * E
    , ...)
    |
    kzalloc(
    - (sizeof(THING)) * E
    + sizeof(THING) * E
    , ...)
    )

    // Drop single-byte sizes and redundant parens.
    @@
    expression COUNT;
    typedef u8;
    typedef __u8;
    @@

    (
    kzalloc(
    - sizeof(u8) * (COUNT)
    + COUNT
    , ...)
    |
    kzalloc(
    - sizeof(__u8) * (COUNT)
    + COUNT
    , ...)
    |
    kzalloc(
    - sizeof(char) * (COUNT)
    + COUNT
    , ...)
    |
    kzalloc(
    - sizeof(unsigned char) * (COUNT)
    + COUNT
    , ...)
    |
    kzalloc(
    - sizeof(u8) * COUNT
    + COUNT
    , ...)
    |
    kzalloc(
    - sizeof(__u8) * COUNT
    + COUNT
    , ...)
    |
    kzalloc(
    - sizeof(char) * COUNT
    + COUNT
    , ...)
    |
    kzalloc(
    - sizeof(unsigned char) * COUNT
    + COUNT
    , ...)
    )

    // 2-factor product with sizeof(type/expression) and identifier or constant.
    @@
    type TYPE;
    expression THING;
    identifier COUNT_ID;
    constant COUNT_CONST;
    @@

    (
    - kzalloc
    + kcalloc
    (
    - sizeof(TYPE) * (COUNT_ID)
    + COUNT_ID, sizeof(TYPE)
    , ...)
    |
    - kzalloc
    + kcalloc
    (
    - sizeof(TYPE) * COUNT_ID
    + COUNT_ID, sizeof(TYPE)
    , ...)
    |
    - kzalloc
    + kcalloc
    (
    - sizeof(TYPE) * (COUNT_CONST)
    + COUNT_CONST, sizeof(TYPE)
    , ...)
    |
    - kzalloc
    + kcalloc
    (
    - sizeof(TYPE) * COUNT_CONST
    + COUNT_CONST, sizeof(TYPE)
    , ...)
    |
    - kzalloc
    + kcalloc
    (
    - sizeof(THING) * (COUNT_ID)
    + COUNT_ID, sizeof(THING)
    , ...)
    |
    - kzalloc
    + kcalloc
    (
    - sizeof(THING) * COUNT_ID
    + COUNT_ID, sizeof(THING)
    , ...)
    |
    - kzalloc
    + kcalloc
    (
    - sizeof(THING) * (COUNT_CONST)
    + COUNT_CONST, sizeof(THING)
    , ...)
    |
    - kzalloc
    + kcalloc
    (
    - sizeof(THING) * COUNT_CONST
    + COUNT_CONST, sizeof(THING)
    , ...)
    )

    // 2-factor product, only identifiers.
    @@
    identifier SIZE, COUNT;
    @@

    - kzalloc
    + kcalloc
    (
    - SIZE * COUNT
    + COUNT, SIZE
    , ...)

    // 3-factor product with 1 sizeof(type) or sizeof(expression), with
    // redundant parens removed.
    @@
    expression THING;
    identifier STRIDE, COUNT;
    type TYPE;
    @@

    (
    kzalloc(
    - sizeof(TYPE) * (COUNT) * (STRIDE)
    + array3_size(COUNT, STRIDE, sizeof(TYPE))
    , ...)
    |
    kzalloc(
    - sizeof(TYPE) * (COUNT) * STRIDE
    + array3_size(COUNT, STRIDE, sizeof(TYPE))
    , ...)
    |
    kzalloc(
    - sizeof(TYPE) * COUNT * (STRIDE)
    + array3_size(COUNT, STRIDE, sizeof(TYPE))
    , ...)
    |
    kzalloc(
    - sizeof(TYPE) * COUNT * STRIDE
    + array3_size(COUNT, STRIDE, sizeof(TYPE))
    , ...)
    |
    kzalloc(
    - sizeof(THING) * (COUNT) * (STRIDE)
    + array3_size(COUNT, STRIDE, sizeof(THING))
    , ...)
    |
    kzalloc(
    - sizeof(THING) * (COUNT) * STRIDE
    + array3_size(COUNT, STRIDE, sizeof(THING))
    , ...)
    |
    kzalloc(
    - sizeof(THING) * COUNT * (STRIDE)
    + array3_size(COUNT, STRIDE, sizeof(THING))
    , ...)
    |
    kzalloc(
    - sizeof(THING) * COUNT * STRIDE
    + array3_size(COUNT, STRIDE, sizeof(THING))
    , ...)
    )

    // 3-factor product with 2 sizeof(variable), with redundant parens removed.
    @@
    expression THING1, THING2;
    identifier COUNT;
    type TYPE1, TYPE2;
    @@

    (
    kzalloc(
    - sizeof(TYPE1) * sizeof(TYPE2) * COUNT
    + array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))
    , ...)
    |
    kzalloc(
    - sizeof(TYPE1) * sizeof(THING2) * (COUNT)
    + array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))
    , ...)
    |
    kzalloc(
    - sizeof(THING1) * sizeof(THING2) * COUNT
    + array3_size(COUNT, sizeof(THING1), sizeof(THING2))
    , ...)
    |
    kzalloc(
    - sizeof(THING1) * sizeof(THING2) * (COUNT)
    + array3_size(COUNT, sizeof(THING1), sizeof(THING2))
    , ...)
    |
    kzalloc(
    - sizeof(TYPE1) * sizeof(THING2) * COUNT
    + array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))
    , ...)
    |
    kzalloc(
    - sizeof(TYPE1) * sizeof(THING2) * (COUNT)
    + array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))
    , ...)
    )

    // 3-factor product, only identifiers, with redundant parens removed.
    @@
    identifier STRIDE, SIZE, COUNT;
    @@

    (
    kzalloc(
    - (COUNT) * STRIDE * SIZE
    + array3_size(COUNT, STRIDE, SIZE)
    , ...)
    |
    kzalloc(
    - COUNT * (STRIDE) * SIZE
    + array3_size(COUNT, STRIDE, SIZE)
    , ...)
    |
    kzalloc(
    - COUNT * STRIDE * (SIZE)
    + array3_size(COUNT, STRIDE, SIZE)
    , ...)
    |
    kzalloc(
    - (COUNT) * (STRIDE) * SIZE
    + array3_size(COUNT, STRIDE, SIZE)
    , ...)
    |
    kzalloc(
    - COUNT * (STRIDE) * (SIZE)
    + array3_size(COUNT, STRIDE, SIZE)
    , ...)
    |
    kzalloc(
    - (COUNT) * STRIDE * (SIZE)
    + array3_size(COUNT, STRIDE, SIZE)
    , ...)
    |
    kzalloc(
    - (COUNT) * (STRIDE) * (SIZE)
    + array3_size(COUNT, STRIDE, SIZE)
    , ...)
    |
    kzalloc(
    - COUNT * STRIDE * SIZE
    + array3_size(COUNT, STRIDE, SIZE)
    , ...)
    )

    // Any remaining multi-factor products, first at least 3-factor products,
    // when they're not all constants...
    @@
    expression E1, E2, E3;
    constant C1, C2, C3;
    @@

    (
    kzalloc(C1 * C2 * C3, ...)
    |
    kzalloc(
    - (E1) * E2 * E3
    + array3_size(E1, E2, E3)
    , ...)
    |
    kzalloc(
    - (E1) * (E2) * E3
    + array3_size(E1, E2, E3)
    , ...)
    |
    kzalloc(
    - (E1) * (E2) * (E3)
    + array3_size(E1, E2, E3)
    , ...)
    |
    kzalloc(
    - E1 * E2 * E3
    + array3_size(E1, E2, E3)
    , ...)
    )

    // And then all remaining 2 factors products when they're not all constants,
    // keeping sizeof() as the second factor argument.
    @@
    expression THING, E1, E2;
    type TYPE;
    constant C1, C2, C3;
    @@

    (
    kzalloc(sizeof(THING) * C2, ...)
    |
    kzalloc(sizeof(TYPE) * C2, ...)
    |
    kzalloc(C1 * C2 * C3, ...)
    |
    kzalloc(C1 * C2, ...)
    |
    - kzalloc
    + kcalloc
    (
    - sizeof(TYPE) * (E2)
    + E2, sizeof(TYPE)
    , ...)
    |
    - kzalloc
    + kcalloc
    (
    - sizeof(TYPE) * E2
    + E2, sizeof(TYPE)
    , ...)
    |
    - kzalloc
    + kcalloc
    (
    - sizeof(THING) * (E2)
    + E2, sizeof(THING)
    , ...)
    |
    - kzalloc
    + kcalloc
    (
    - sizeof(THING) * E2
    + E2, sizeof(THING)
    , ...)
    |
    - kzalloc
    + kcalloc
    (
    - (E1) * E2
    + E1, E2
    , ...)
    |
    - kzalloc
    + kcalloc
    (
    - (E1) * (E2)
    + E1, E2
    , ...)
    |
    - kzalloc
    + kcalloc
    (
    - E1 * E2
    + E1, E2
    , ...)
    )

    Signed-off-by: Kees Cook

    Kees Cook
     

14 Nov, 2017

1 commit

  • Pull timer updates from Thomas Gleixner:
    "Yet another big pile of changes:

    - More year 2038 work from Arnd slowly reaching the point where we
    need to think about the syscalls themself.

    - A new timer function which allows to conditionally (re)arm a timer
    only when it's either not running or the new expiry time is sooner
    than the armed expiry time. This allows to use a single timer for
    multiple timeout requirements w/o caring about the first expiry
    time at the call site.

    - A new NMI safe accessor to clock real time for the printk timestamp
    work. Can be used by tracing, perf as well if required.

    - A large number of timer setup conversions from Kees which got
    collected here because either maintainers requested so or they
    simply got ignored. As Kees pointed out already there are a few
    trivial merge conflicts and some redundant commits which was
    unavoidable due to the size of this conversion effort.

    - Avoid a redundant iteration in the timer wheel softirq processing.

    - Provide a mechanism to treat RTC implementations depending on their
    hardware properties, i.e. don't inflict the write at the 0.5
    seconds boundary which originates from the PC CMOS RTC to all RTCs.
    No functional change as drivers need to be updated separately.

    - The usual small updates to core code clocksource drivers. Nothing
    really exciting"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (111 commits)
    timers: Add a function to start/reduce a timer
    pstore: Use ktime_get_real_fast_ns() instead of __getnstimeofday()
    timer: Prepare to change all DEFINE_TIMER() callbacks
    netfilter: ipvs: Convert timers to use timer_setup()
    scsi: qla2xxx: Convert timers to use timer_setup()
    block/aoe: discover_timer: Convert timers to use timer_setup()
    ide: Convert timers to use timer_setup()
    drbd: Convert timers to use timer_setup()
    mailbox: Convert timers to use timer_setup()
    crypto: Convert timers to use timer_setup()
    drivers/pcmcia: omap1: Fix error in automated timer conversion
    ARM: footbridge: Fix typo in timer conversion
    drivers/sgi-xp: Convert timers to use timer_setup()
    drivers/pcmcia: Convert timers to use timer_setup()
    drivers/memstick: Convert timers to use timer_setup()
    drivers/macintosh: Convert timers to use timer_setup()
    hwrng/xgene-rng: Convert timers to use timer_setup()
    auxdisplay: Convert timers to use timer_setup()
    sparc/led: Convert timers to use timer_setup()
    mips: ip22/32: Convert timers to use timer_setup()
    ...

    Linus Torvalds
     

07 Nov, 2017

1 commit


03 Nov, 2017

1 commit


02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

25 Dec, 2016

1 commit


26 Aug, 2016

1 commit

  • Document the UNCACHEABLE_ADDR definitions for footbridge and SA1100
    so that we know where they're located and/or what they're accessing.
    Change RiscPC to calculate the UNCACHEABLE_ADDR value from FLUSH_BASE
    as that's where we locate that.

    UNCACHEABLE_ADDR is used to perform an uncached access (ARMv4
    terminology) necessary to force a CPU clock-switch to the memory-
    speed clock, as required for entering WFI.

    Signed-off-by: Russell King

    Russell King
     

23 Feb, 2016

1 commit

  • All drivers that are relevant for rpc or footbridge have stopped
    using virt_to_bus a while ago, so we can remove it and avoid some
    harmless randconfig warnings for drivers that we do not care about:

    drivers/atm/zatm.c: In function 'poll_rx':
    drivers/atm/zatm.c:401:18: warning: 'bus_to_virt' is deprecated [-Wdeprecated-declarations]
    skb = ((struct rx_buffer_head *) bus_to_virt(here[2]))->skb;

    FWIW, the remaining drivers using this are:

    ATM: firestream, zatm, ambassador, horizon
    ISDN: hisax/netjet
    V4L: STA2X11, zoran
    Net: Appletalk LTPC, Tulip DE4x5, Toshiba IrDA
    WAN: comtrol sv11, cosa, lanmedia, sealevel
    SCSI: DPT_I2O, buslogic
    VME: CA91C142

    My best guess is that all of the above are so hopelessly obsolete that
    we are best off removing all of them form the kernel, but that can be
    done another time.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Russell King

    Arnd Bergmann
     

16 Dec, 2015

1 commit

  • Footbridge has two debug ports that are handled a bit differently:

    The 8250 port uses the normal debug/8250.S implementation that is shared
    with a lot of other platforms, but it relies on the DEBUG_UART_8250
    option to be turned on automatically instead of being selected by
    DEBUG_FOOTBRIDGE_COM1 as we do for most other platforms. I'm changing
    this to use a 'select' and change the dependency to the debug symbol
    rather than the platform symbol for consistency.

    The DC21285 UART has a separate top-level option, and relies on
    the traditional include/mach/debug-macro.S method. With the s3c64xx
    multiplatform series queued up for 4.5, it is now the last one that does
    this, so by moving this file to include/debug/dc21285.S, we can get
    all platforms to do things the same way.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

16 Sep, 2015

1 commit

  • Most interrupt flow handlers do not use the irq argument. Those few
    which use it can retrieve the irq number from the irq descriptor.

    Remove the argument.

    Search and replace was done with coccinelle and some extra helper
    scripts around it. Thanks to Julia for her help!

    Signed-off-by: Thomas Gleixner
    Cc: Julia Lawall
    Cc: Jiang Liu

    Thomas Gleixner
     

28 Jul, 2015

1 commit

  • set_irq_flags is ARM specific with custom flags which have genirq
    equivalents. Convert drivers to use the genirq interfaces directly, so we
    can kill off set_irq_flags. The translation of flags is as follows:

    IRQF_VALID -> !IRQ_NOREQUEST
    IRQF_PROBE -> !IRQ_NOPROBE
    IRQF_NOAUTOEN -> IRQ_NOAUTOEN

    For IRQs managed by an irqdomain, the irqdomain core code handles clearing
    and setting IRQ_NOREQUEST already, so there is no need to do this in
    .map() functions and we can simply remove the set_irq_flags calls. Some
    users also modify IRQ_NOPROBE and this has been maintained although it
    is not clear that is really needed. There appears to be a great deal of
    blind copy and paste of this code.

    Signed-off-by: Rob Herring
    Cc: Russell King
    Cc: Sekhar Nori
    Cc: Kevin Hilman
    Cc: Jason Cooper
    Cc: Andrew Lunn
    Cc: Sebastian Hesselbarth
    Cc: Gregory Clement
    Acked-by: Hans Ulli Kroll
    Acked-by: Shawn Guo
    Cc: Sascha Hauer
    Cc: Imre Kaloz
    Acked-by: Krzysztof Halasa
    Cc: Greg Ungerer
    Cc: Roland Stigge
    Cc: Tony Lindgren
    Cc: Daniel Mack
    Cc: Haojian Zhuang
    Cc: Robert Jarzmik
    Cc: Simtec Linux Team
    Cc: Kukjin Kim
    Cc: Krzysztof Kozlowski
    Acked-by: Wan ZongShun
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-omap@vger.kernel.org
    Cc: linux-samsung-soc@vger.kernel.org
    Tested-by: Kevin Hilman
    Signed-off-by: Olof Johansson

    Rob Herring
     

17 Jul, 2015

1 commit


06 May, 2015

1 commit


02 Oct, 2014

1 commit

  • Clearing obj-y, obj-m, obj-n, obj- in each Makefile is
    a useless habit.

    They are non-exported variables; therefore they are always empty
    whenever descending into each subdirectory.
    (Moreorver, obj-y and obj-m are also set to empty at the beginning
    of scripts/Makefile.build)

    Signed-off-by: Masahiro Yamada
    Acked-by: Nicolas Ferre
    Acked-by: Peter Foley
    Acked-by: Linus Walleij
    Signed-off-by: Michal Marek

    Masahiro Yamada
     

30 Jul, 2014

1 commit

  • The platforms selecting NEED_MACH_MEMORY_H defined the start address of
    their physical memory in the respective . With
    ARM_PATCH_PHYS_VIRT=y (which is quite common today) this is useless
    though because the definition isn't used but determined dynamically.

    So remove the definitions from all and provide the
    Kconfig symbol PHYS_OFFSET with the respective defaults in case
    ARM_PATCH_PHYS_VIRT isn't enabled.

    This allows to drop the dependency of PHYS_OFFSET on !NEED_MACH_MEMORY_H
    which prevents compiling an integrator nommu-kernel.
    (CONFIG_PAGE_OFFSET which has "default PHYS_OFFSET if !MMU" expanded to
    "0x" because CONFIG_PHYS_OFFSET doesn't exist as INTEGRATOR selects
    NEED_MACH_MEMORY_H.)

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Russell King

    Uwe Kleine-König
     

01 Jun, 2014

1 commit

  • memblock is now fully integrated into the kernel and is the prefered
    method for tracking memory. Rather than reinvent the wheel with
    meminfo, migrate to using memblock directly instead of meminfo as
    an intermediate.

    Acked-by: Jason Cooper
    Acked-by: Catalin Marinas
    Acked-by: Santosh Shilimkar
    Acked-by: Kukjin Kim
    Tested-by: Marek Szyprowski
    Tested-by: Leif Lindholm
    Signed-off-by: Laura Abbott
    Signed-off-by: Russell King

    Laura Abbott
     

06 Apr, 2014

2 commits

  • Pull ARM SoC cleanups from Arnd Bergmann:
    "These cleanup patches are mainly move stuff around and should all be
    harmless. They are mainly split out so that other branches can be
    based on top to avoid conflicts.

    Notable changes are:

    - We finally remove all mach/timex.h, after CLOCK_TICK_RATE is no
    longer used (Uwe Kleine-König)
    - The Qualcomm MSM platform is split out into legacy mach-msm and
    new-style mach-qcom, to allow easier maintainance of the new
    hardware support without regressions (Kumar Gala)
    - A rework of some of the Kconfig logic to simplify multiplatform
    support (Rob Herring)
    - Samsung Exynos gets closer to supporting multiplatform (Sachin
    Kamat and others)
    - mach-bcm3528 gets merged into mach-bcm (Stephen Warren)
    - at91 gains some common clock framework support (Alexandre Belloni,
    Jean-Jacques Hiblot and other French people)"

    * tag 'cleanup-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (89 commits)
    ARM: hisi: select HAVE_ARM_SCU only for SMP
    ARM: efm32: allow uncompress debug output
    ARM: prima2: build reset code standalone
    ARM: at91: add PWM clock
    ARM: at91: move sam9261 SoC to common clk
    ARM: at91: prepare common clk transition for sam9261 SoC
    ARM: at91: updated the at91_dt_defconfig with support for the ADS7846
    ARM: at91: dt: sam9261: Device Tree support for the at91sam9261ek
    ARM: at91: dt: defconfig: Added the sam9261 to the list of DT-enabled SOCs
    ARM: at91: dt: Add at91sam9261 dt SoC support
    ARM: at91: switch sam9rl to common clock framework
    ARM: at91/dt: define main clk frequency of at91sam9rlek
    ARM: at91/dt: define at91sam9rl clocks
    ARM: at91: prepare common clk transition for sam9rl SoCs
    ARM: at91: prepare sam9 dt boards transition to common clk
    ARM: at91: dt: sam9rl: Device Tree for the at91sam9rlek
    ARM: at91/defconfig: Add the sam9rl to the list of DT-enabled SOCs
    ARM: at91: Add at91sam9rl DT SoC support
    ARM: at91: prepare at91sam9rl DT transition
    ARM: at91/defconfig: refresh at91sam9260_9g20_defconfig
    ...

    Linus Torvalds
     
  • Pull ARM SoC non-critical bug fixes from Arnd Bergmann:
    "Lots of isolated bug fixes that were not found to be important enough
    to be submitted before the merge window or backported into stable
    kernels.

    The vast majority of these came out of Arnd's randconfig testing and
    just prevents running into build-time bugs in configurations that we
    do not care about in practice"

    * tag 'fixes-non-critical-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (75 commits)
    ARM: at91: fix a typo
    ARM: moxart: fix CPU selection
    ARM: tegra: fix board DT pinmux setup
    ARM: nspire: Fix compiler warning
    IXP4xx: Fix DMA masks.
    Revert "ARM: ixp4xx: Make dma_set_coherent_mask common, correct implementation"
    IXP4xx: Fix Goramo Multilink GPIO conversion.
    Revert "ARM: ixp4xx: fix gpio rework"
    ARM: tegra: make debug_ll code build for ARMv6
    ARM: sunxi: fix build for THUMB2_KERNEL
    ARM: exynos: add missing include of linux/module.h
    ARM: exynos: fix l2x0 saved regs handling
    ARM: samsung: select CRC32 for SAMSUNG_PM_CHECK
    ARM: samsung: select ATAGS where necessary
    ARM: samsung: fix SAMSUNG_PM_DEBUG Kconfig logic
    ARM: samsung: allow serial driver to be disabled
    ARM: s5pv210: enable IDE support in MACH_TORBRECK
    ARM: s5p64x0: fix building with only one soc type
    ARM: s3c64xx: select power domains only when used
    ARM: s3c64xx: MACH_SMDK6400 needs HSMMC1
    ...

    Linus Torvalds
     

22 Mar, 2014

3 commits

  • The global screen_info structure is used to communicate
    data about the console from platform code to the console
    driver, but is only defined on ARM if either the VGA or
    dummy consoles are in use.

    This changes the footbridge code so we don't try to access
    this structure in case it is not defined, which prevents
    a possible randconfig build error.

    Signed-off-by: Arnd Bergmann
    Cc: Russell King

    Arnd Bergmann
     
  • The dc21285.c source file cannot be built when CONFIG_PCI is
    disabled, because it calls a number of PCI core interfaces.

    This changes the Makefile so we don't include this file in the
    build if CONFIG_PCI is disabled. No other code references anything
    defined inside of this file in this case.

    Signed-off-by: Arnd Bergmann
    Cc: Russell King

    Arnd Bergmann
     
  • The ARCH_EBSA285_ADDIN platform does not provide the
    ISA_DMA API, which is required by the floppy driver.

    Let's ensure that the floppy code can only be built
    when ISA_DMA is also enabled, by moving the select
    statement into ARCH_EBSA285_HOST.

    Signed-off-by: Arnd Bergmann
    Cc: Russell King

    Arnd Bergmann
     

12 Mar, 2014

1 commit


19 Feb, 2014

1 commit

  • This cleanup series gets rid of 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 for !ARCH_MULTIPLATFORM, too
    ARM: rpc: stop using
    ARM: ixp4xx: stop using
    input: ixp4xx-beeper: don't use symbols from
    ARM: at91: don't use
    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 explicitly
    ARM/serial: at91: switch atmel serial to use gpiolib

    Signed-off-by: Olof Johansson

    Olof Johansson
     

10 Feb, 2014

1 commit


25 Jan, 2014

1 commit

  • Pull input subsystem updates from Dmitry Torokhov:
    "Just a swath of driver fixes and cleanups, no new drivers this time
    (although ALPS now supports one of the newer protocols, more to come)"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (57 commits)
    Input: wacom - add support for DTU-1031
    Input: wacom - fix wacom->shared guards for dual input devices
    Input: edt_ft5x06 - use devm_* functions where appropriate
    Input: hyperv-keyboard - pass through 0xE1 prefix
    Input: logips2pp - fix spelling s/reciver/receiver/
    Input: delete non-required instances of include
    Input: twl4030-keypad - convert to using managed resources
    Input: twl6040-vibra - remove unneeded check for CONFIG_OF
    Input: twl4030-keypad - add device tree support
    Input: twl6040-vibra - add missing of_node_put
    Input: twl4030-vibra - add missing of_node_put
    Input: i8042 - cleanup SERIO_I8042 dependencies
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on x86
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on unicore32
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on sparc
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO for SH_CAYMAN
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on powerpc
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on mips
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on IA64
    Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on ARM/Footbridge
    ...

    Linus Torvalds
     

22 Jan, 2014

1 commit


03 Jan, 2014

1 commit


29 Dec, 2013

4 commits


21 Dec, 2013

1 commit

  • While isn't used for multi-platform builds since long it
    still is for "normal" builds. As the previous patches fix all sites to
    not make use of this per-platform file, it can go now for good also for
    platforms that are not (yet) converted to multi-platform.

    While at it there are no users of CLOCK_TICK_RATE any more, so also drop
    the dummy #define.

    Signed-off-by: Uwe Kleine-König

    Uwe Kleine-König
     

01 Dec, 2013

1 commit

  • - The LEDs register is write-only: it can't be read-modify-written.
    - The LEDs are write-1-for-off not 0.
    - The check for the platform was inverted.

    Fixes: cf6856d693dd ("ARM: mach-footbridge: retire custom LED code")
    Signed-off-by: Russell King
    Cc: stable@vger.kernel.org

    Russell King