29 Aug, 2019

1 commit

  • The move of the IXP4xx SoC drivers exposed their config options on all
    platforms.

    Fix this by wrapping them inside an ARCH_IXP4XX or COMPILE_TEST block.

    Link: https://lore.kernel.org/r/20190823090352.12243-1-linus.walleij@linaro.org
    Fixes: fcf2d8978cd538a5 ("ARM: ixp4xx: Move NPE and QMGR to drivers/soc")
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Walleij
    Signed-off-by: Arnd Bergmann

    Geert Uytterhoeven
     

18 Jun, 2019

1 commit


31 May, 2019

2 commits

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of version 2 of the gnu general public license 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 1 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Alexios Zavras
    Reviewed-by: Steve Winslow
    Reviewed-by: Richard Fontana
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190528171438.709316650@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of version 2 of the gnu general public license 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 107 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Richard Fontana
    Reviewed-by: Steve Winslow
    Reviewed-by: Alexios Zavras
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190528171438.615055994@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

21 May, 2019

1 commit


17 May, 2019

1 commit


23 Apr, 2019

10 commits

  • This makes the queue manager driver able to probe from the device
    tree. It only needs to get a memory resource and two interrupts
    and the platform device provides these as resources, so all is
    pretty simple.

    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • This makes the NPE driver able to probe from the device tree.
    It only needs to get three memory resources and the plaform
    device provide these, so all is pretty simple.

    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • Instead of using hardcoded base address implicitly
    obtained through , pass the physical base
    for the QMGR block as a memory resource and remap
    it in the driver.

    Also pass the two IRQs as resources and obtain them
    in the driver.

    Use devm_* accessors and simplify the error path in the
    process. Drop memory region request as this is done by
    the devm_ioremap* functions.

    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • These former inlines turn out to be unused in the kernel.
    If they are needed in the future, they can be resurrected
    by reverting or studying this commit.

    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • These inline functions immediately exploit the static ioremaps
    for the queue manager memory region. This does not work with
    multiplatform where everything need to be dynamically remapped,
    so get rid of these inlines and create new exports for those
    used by other drivers.

    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • Instead of using hardcoded base addresses implicitly
    obtained through , pass the physical base
    for the three NPE blocks as memory resources and remap
    these in the driver.

    Drop the memory request region business, this will
    anyways be done by devm_* remapping functions.

    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • Instead of registering everything related to the QMGR
    unconditionally in the module_init() call (which will
    never work with multiplatform) create a platform device
    and probe the QMGR like any other device.

    Put the device second in the list of devices added for
    the platform so it is there when the dependent network
    and crypto drivers probe later on.

    This probe() path will not be taken unconditionally on
    device tree boots, so remove the DT guard.

    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • Instead of registering everything related to the NPE
    unconditionally in the module_init() call (which will
    never work with multiplatform) create a platform device
    and probe the NPE like any other device.

    Put the device first in the list of devices added for
    the platform so it is there when the dependent network
    and crypto drivers probe later on.

    This probe() path will not be taken unconditionally on
    device tree boots, so remove the DT guard.

    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • This moves the IXP4xx Queue Manager and Network Processing
    Engine headers out of the include path as that is
    incompatible with multiplatform.

    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • The Network Processing Engine and Queue Manager are
    versatile firmware components used by several IXP4xx
    drivers.

    Drivers are relying on getting access to these components
    using headers which does not work with
    multiplatform. We need to find a better place for the
    drivers to live.

    Let's first move them to drivers/soc and the start to
    refactor a bit by passing resources and moving headers.

    This patch introduce static IRQ assignments but that
    will be fixed by later patches in this series.

    Signed-off-by: Linus Walleij

    Linus Walleij