16 May, 2019

1 commit

  • Pull ARM SoC platform updates from Olof Johansson:
    "SoC updates, mostly refactorings and cleanups of old legacy platforms.

    Major themes this release:

    - Conversion of ixp4xx to a modern platform (drivers, DT, bindings)

    - Moving some of the ep93xx headers around to get it closer to
    multiplatform enabled.

    - Cleanups of Davinci

    This also contains a few patches that were queued up as fixes before
    5.1 but I didn't get sent in before release"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (123 commits)
    ARM: debug-ll: add default address for digicolor
    ARM: u300: regulator: add MODULE_LICENSE()
    ARM: ep93xx: move private headers out of mach/*
    ARM: ep93xx: move pinctrl interfaces into include/linux/soc
    ARM: ep93xx: keypad: stop using mach/platform.h
    ARM: ep93xx: move network platform data to separate header
    ARM: stm32: add AMBA support for stm32 family
    MAINTAINERS: update arch/arm/mach-davinci
    ARM: rockchip: add missing of_node_put in rockchip_smp_prepare_pmu
    ARM: dts: Add queue manager and NPE to the IXP4xx DTSI
    soc: ixp4xx: qmgr: Add DT probe code
    soc: ixp4xx: qmgr: Add DT bindings for IXP4xx qmgr
    soc: ixp4xx: npe: Add DT probe code
    soc: ixp4xx: Add DT bindings for IXP4xx NPE
    soc: ixp4xx: qmgr: Pass resources
    soc: ixp4xx: Remove unused functions
    soc: ixp4xx: Uninline several functions
    soc: ixp4xx: npe: Pass addresses as resources
    ARM: ixp4xx: Turn the QMGR into a platform device
    ARM: ixp4xx: Turn the NPE into a platform device
    ...

    Linus Torvalds
     

15 May, 2019

1 commit

  • Pull MFD updates from Lee Jones:
    "Core Framework:
    - Document (kerneldoc) core mfd_add_devices() API

    New Drivers:
    - Altera SOCFPGA System Manager
    - Maxim MAX77650/77651 PMIC
    - Maxim MAX77663 PMIC
    - ST Multi-Function eXpander (STMFX)

    New Device Support:
    - LEDs support in Intel Cherry Trail Whiskey Cove PMIC
    - RTC support in SAMSUNG Electronics S2MPA01 PMIC
    - SAM9X60 support in Atmel HLCDC (High-end LCD Controller)
    - USB X-Powers AXP 8xx PMICs
    - Integrated Sensor Hub (ISH) in ChromeOS EC
    - USB PD Logger in ChromeOS EC
    - AXP223 in X-Powers AXP series PMICs
    - Power Supply in X-Powers AXP 803 PMICs
    - Comet Lake in Intel Low Power Subsystem
    - Fingerprint MCU in ChromeOS EC
    - Touchpad MCU in ChromeOS EC
    - Move TI LM3532 support to LED

    New Functionality:
    - max77650, max77620: Add/extend DT support
    - max77620 power-off
    - syscon clocking
    - croc_ec host sleep event

    Fix-ups:
    - Trivial; Formatting, spelling, etc; Kconfig, sec-core, ab8500-debugfs
    - Remove unused functionality; rk808, da9063-*
    - SPDX conversion; da9063-*, atmel-*,
    - Adapt/add new register definitions; cs47l35-tables, cs47l90-tables, imx6q-iomuxc-gpr
    - Fix-up DT bindings; ti-lmu, cirrus,lochnagar
    - Simply obtaining driver data; ssbi, t7l66xb, tc6387xb, tc6393xb

    Bug Fixes:
    - Fix incorrect defined values; max77620, da9063
    - Fix device initialisation; twl6040
    - Reset device on init; intel-lpss
    - Fix build warnings when !OF; sun6i-prcm
    - Register OF match tables; tps65912-spi
    - Fix DMI matching; intel_quark_i2c_gpio"

    * tag 'mfd-next-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (65 commits)
    mfd: Use dev_get_drvdata() directly
    mfd: cros_ec: Instantiate properly CrOS Touchpad MCU device
    mfd: cros_ec: Instantiate properly CrOS FP MCU device
    mfd: cros_ec: Update the EC feature codes
    mfd: intel-lpss: Add Intel Comet Lake PCI IDs
    mfd: lochnagar: Add links to binding docs for sound and hwmon
    mfd: ab8500-debugfs: Fix a typo ("deubgfs")
    mfd: imx6sx: Add MQS register definition for iomuxc gpr
    dt-bindings: mfd: LMU: Fix lm3632 dt binding example
    mfd: intel_quark_i2c_gpio: Adjust IOT2000 matching
    mfd: da9063: Fix OTP control register names to match datasheets for DA9063/63L
    mfd: tps65912-spi: Add missing of table registration
    mfd: axp20x: Add USB power supply mfd cell to AXP803
    mfd: sun6i-prcm: Fix build warning for non-OF configurations
    mfd: intel-lpss: Set the device in reset state when init
    platform/chrome: Add support for v1 of host sleep event
    mfd: cros_ec: Add host_sleep_event_v1 command
    mfd: cros_ec: Instantiate the CrOS USB PD logger driver
    mfd: cs47l90: Make DAC_AEC_CONTROL_2 readable
    mfd: cs47l35: Make DAC_AEC_CONTROL_2 readable
    ...

    Linus Torvalds
     

08 May, 2019

1 commit


23 Apr, 2019

1 commit

  • This adds a driver for the IXP4xx GPIO block found in
    the Intel XScale IXP4xx systems.

    The GPIO part of this block is pretty straight-forward and
    just uses the generic MMIO GPIO library.

    The irqchip side of this driver is hierarchical where
    the main irqchip will receive a processed level trigger
    in response to the edge detector of the GPIO block,
    so for this reason the v2 version of the irqdomain API
    is used (as well as in the parent IXP4xx irqchip) and
    masking, unmasking and setting up the type on IRQ
    happens on several levels.

    Currently this GPIO controller will grab the parent
    irqdomain using a special function, but as the platform
    move toward device tree probing, this will not be needed:
    we can just look up the parent irqdomain from the device
    tree.

    Cc: Bartosz Golaszewski
    Signed-off-by: Linus Walleij

    Linus Walleij
     

27 Mar, 2019

1 commit


23 Feb, 2019

1 commit

  • GPIO platform driver for the AMD G-series PCH (eg. on GX-412TC)

    This driver doesn't registers itself automatically, as it needs to
    be provided with platform specific configuration, provided by some
    board driver setup code.

    Didn't implement oftree probing yet, as it's rarely found on x86.

    Cc: linux-gpio@vger.kernel.org
    Cc: linus.walleij@linaro.org
    Cc: bgolaszewski@baylibre.com
    Cc: dvhart@infradead.org
    Cc: platform-driver-x86@vger.kernel.org
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Enrico Weigelt, metux IT consult
    Signed-off-by: Linus Walleij

    Enrico Weigelt, metux IT consult
     

09 Feb, 2019

1 commit


28 Jan, 2019

1 commit


21 Dec, 2018

2 commits

  • This patch adds a driver for Cadence GPIO controller.

    It can be enabled with GPIO_CADENCE Kconfig option.
    It uses generic GPIO infrastructure and works
    as an interrupt controller.
    At the moment it only supports level sensitive irqs.

    Signed-off-by: Jan Kotas
    Signed-off-by: Linus Walleij

    Jan Kotas
     
  • PIOBU pins do not lose their voltage during Backup/Self-refresh.
    This patch adds a simple GPIO controller for them and a
    maintainer for the driver.

    This driver adds support for using the pins as GPIO
    offering the possibility to read/set the voltage.

    Signed-off-by: Andrei Stefanescu
    Signed-off-by: Linus Walleij

    Andrei.Stefanescu@microchip.com
     

10 Oct, 2018

1 commit

  • Add single-register MMIO GPIO driver for complex cases where
    only several fields in register belong to GPIO lines and each GPIO
    line owns a field with different length and on/off value.

    Such CREG GPIOs are used in Synopsys AXS10x and HSDK boards.

    Signed-off-by: Eugeniy Paltsev
    Signed-off-by: Linus Walleij

    Eugeniy Paltsev
     

28 Sep, 2018

1 commit


25 Sep, 2018

1 commit


29 Aug, 2018

1 commit


21 Aug, 2018

1 commit

  • Pull MFD updates from Lee Jones:
    "New Drivers:
    - Add Cirrus Logic Madera Codec (CS47L35, CS47L85 and CS47L90/91) driver
    - Add ChromeOS EC CEC driver
    - Add ROHM BD71837 PMIC driver

    New Device Support:
    - Add support for Dialog Semi DA9063L PMIC variant to DA9063
    - Add support for Intel Ice Lake to Intel-PLSS-PCI
    - Add support for X-Powers AXP806 to AXP20x

    New Functionality:
    - Add support for USB Charging to the ChromeOS Embedded Controller
    - Add support for HDMI CEC to the ChromeOS Embedded Controller
    - Add support for HDMI CEC to Intel HDMI
    - Add support for accessory detection to Madera devices
    - Allow individual pins to be configured via DT' wlf,csnaddr-pd
    - Provide legacy platform specific EEPROM/Watchdog commands; rave-sp

    Fix-upsL
    - Trivial renaming/spelling fixes; cros_ec, da9063-*
    - Convert to Managed Resources (devm_*); da9063-*, ti_am335x_tscadc
    - Transition to helper macros/functions; da9063-*
    - Constify; kempld-core
    - Improve error path/messages; wm8994-core
    - Disable IRQs locally instead of relying on USB subsystem; dln2
    - Remove unused code; rave-sp
    - New exports; sec-core

    Bug Fixes:
    - Fix possible false I2C transaction error; arizona-core
    - Fix declared memory area size; hi655x-pmic
    - Fix checksum type; rave-sp
    - Fix incorrect default serial port configuration: rave-sp
    - Fix incorrect coherent DMA mask for sub-devices; sm501"

    * tag 'mfd-next-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (60 commits)
    mfd: madera: Add register definitions for accessory detect
    mfd: sm501: Set coherent_dma_mask when creating subdevices
    mfd: bd71837: Devicetree bindings for ROHM BD71837 PMIC
    mfd: bd71837: Core driver for ROHM BD71837 PMIC
    media: platform: cros-ec-cec: Fix dependency on MFD_CROS_EC
    mfd: sec-core: Export OF module alias table
    mfd: as3722: Disable auto-power-on when AC OK
    mfd: axp20x: Support AXP806 in I2C mode
    mfd: axp20x: Add self-working mode support for AXP806
    dt-bindings: mfd: axp20x: Add "self-working" mode for AXP806
    mfd: wm8994: Allow to configure CS/ADDR Pulldown from dts
    mfd: wm8994: Allow to configure Speaker Mode Pullup from dts
    mfd: rave-sp: Emulate CMD_GET_STATUS on device that don't support it
    mfd: rave-sp: Add legacy watchdog ping command translation
    mfd: rave-sp: Add legacy EEPROM access command translation
    mfd: rave-sp: Initialize flow control and parity of the port
    mfd: rave-sp: Fix incorrectly specified checksum type
    mfd: rave-sp: Remove unused defines
    mfd: hi655x: Fix regmap area declared size for hi655x
    mfd: ti_am335x_tscadc: Fix struct clk memory leak
    ...

    Linus Torvalds
     

09 Jul, 2018

1 commit


05 Jun, 2018

1 commit

  • This adds support for the GPIOs on Cirrus Logic Madera class codecs.
    Any pins not used for special functions (see the pinctrl driver) can be
    used as general single-bit input or output lines. The number of available
    GPIOs varies between codecs.

    Note that this is part of a composite MFD for these codecs and can only
    be used with the corresponding MFD and other child drivers on those
    silicon. The GPIO block on these codecs does not exist indepedently of
    the rest of the MFD.

    Signed-off-by: Nariman Poushin
    Signed-off-by: Richard Fitzgerald
    Signed-off-by: Charles Keepax
    Acked-by: Linus Walleij
    Signed-off-by: Lee Jones

    Richard Fitzgerald
     

06 Apr, 2018

1 commit

  • Pull GPIO updates from Linus Walleij:
    "This is the bulk of GPIO changes for the v4.17 kernel cycle:

    New drivers:

    - Nintendo Wii GameCube GPIO, known as "Hollywood"

    - Raspberry Pi mailbox service GPIO expander

    - Spreadtrum main SC9860 SoC and IEC GPIO controllers.

    Improvements:

    - Implemented .get_multiple() callback for most of the
    high-performance industrial GPIO cards for the ISA bus.

    - ISA GPIO drivers now select the ISA_BUS_API instead of depending on
    it. This is merged with the same pattern for all the ISA drivers
    and some other Kconfig cleanups related to this.

    Cleanup:

    - Delete the TZ1090 GPIO drivers following the deletion of this SoC
    from the ARM tree.

    - Move the documentation over to driver-api to conform with the rest
    of the kernel documentation build.

    - Continue to make the GPIO drivers include only
    and not the too broad that we
    want to get rid of.

    - Managed to remove VLA allocation from two drivers pending more
    fixes in this area for the next merge window.

    - Misc janitorial fixes"

    * tag 'gpio-v4.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (77 commits)
    gpio: Add Spreadtrum PMIC EIC driver support
    gpio: Add Spreadtrum EIC driver support
    dt-bindings: gpio: Add Spreadtrum EIC controller documentation
    gpio: ath79: Fix potential NULL dereference in ath79_gpio_probe()
    pinctrl: qcom: Don't allow protected pins to be requested
    gpiolib: Support 'gpio-reserved-ranges' property
    gpiolib: Change bitmap allocation to kmalloc_array
    gpiolib: Extract mask allocation into subroutine
    dt-bindings: gpio: Add a gpio-reserved-ranges property
    gpio: mockup: fix a potential crash when creating debugfs entries
    gpio: pca953x: add compatibility for pcal6524 and pcal9555a
    gpio: dwapb: Add support for a bus clock
    gpio: Remove VLA from xra1403 driver
    gpio: Remove VLA from MAX3191X driver
    gpio: ws16c48: Implement get_multiple callback
    gpio: gpio-mm: Implement get_multiple callback
    gpio: 104-idi-48: Implement get_multiple callback
    gpio: 104-dio-48e: Implement get_multiple callback
    gpio: pcie-idio-24: Implement get_multiple/set_multiple callbacks
    gpio: pci-idio-16: Implement get_multiple callback
    ...

    Linus Torvalds
     

27 Mar, 2018

2 commits

  • The Spreadtrum PMIC EIC controller contains only one bank of debounce EIC,
    and this bank contains 16 EICs. Each EIC can only be used as input mode,
    as well as supporting the debounce and the capability to trigger interrupts
    when detecting input signals.

    Signed-off-by: Baolin Wang
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Linus Walleij

    Baolin Wang
     
  • The Spreadtrum digital-chip EIC controller has 4 sub-modules: debounce EIC,
    latch EIC, async EIC and sync EIC, and each sub-module can has multiple
    banks and each bank contains 8 EICs.

    Each EIC can only be used as input mode, and has the capability to trigger
    interrupts when detecting input signals.

    Signed-off-by: Baolin Wang
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Linus Walleij

    Baolin Wang
     

26 Mar, 2018

1 commit


02 Mar, 2018

1 commit


01 Mar, 2018

1 commit

  • Now that arch/metag/ has been removed, along with TZ1090 SoC support,
    remove the TZ1090 GPIO drivers. They are of no value without the
    architecture and SoC platform code.

    Signed-off-by: James Hogan
    Cc: linux-gpio@vger.kernel.org
    Cc: linux-metag@vger.kernel.org
    Signed-off-by: Linus Walleij

    James Hogan
     

22 Feb, 2018

2 commits

  • The Nintendo Wii's chipset (called "Hollywood") has a GPIO controller
    that supports a configurable number of pins (up to 32), interrupts, and
    some special mechanisms to share the controller between the system's
    security processor (an ARM926) and the PowerPC CPU. Pin multiplexing is
    not supported.

    This patch adds a basic driver for this GPIO controller. Interrupt
    support will come in a later patch.

    This patch is based on code developed by Albert Herranz and the GameCube
    Linux Team, file arch/powerpc/platforms/embedded6xx/hlwd-gpio.c,
    available at https://github.com/DeltaResero/GC-Wii-Linux-Kernels, but
    has grown quite dissimilar.

    v3:
    - Do some style cleanups, as suggest by Andy Shevchenko

    v2:
    - Change hlwd_gpio_driver.driver.name to "gpio-hlwd" to match the
    filename (was "hlwd_gpio")
    - Remove unnecessary include of linux/of_gpio.h, as suggested by Linus
    Walleij.
    - Add struct device pointer to context struct to make it possible to use
    dev_info(hlwd->dev, "..."), as suggested by Linus Walleij
    - Use the GPIO_GENERIC library to reduce code size, as suggested by
    Linus Walleij
    - Use iowrite32be instead of __raw_writel for big-endian MMIO access, as
    suggested by Linus Walleij
    - Remove commit message paragraph suggesting to diff against the
    original driver, because it's so different now

    Signed-off-by: Jonathan Neuschäfer
    Cc: Albert Herranz
    Reviewed-by: Segher Boessenkool
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Linus Walleij

    Jonathan Neuschäfer
     
  • Pi3 and Compute Module 3 have a GPIO expander that the
    VPU communicates with.
    There is a mailbox service that now allows control of this
    expander, so add a kernel driver that can make use of it.

    Reviewed-by: Stefan Wahren
    Signed-off-by: Dave Stevenson
    Signed-off-by: Baruch Siach
    Signed-off-by: Linus Walleij

    Dave Stevenson
     

10 Jan, 2018

1 commit

  • The ACCES PCIe-IDIO-24 device provides 56 lines of digital I/O (24 lines
    of optically-isolated non-polarized digital inputs for AC and DC control
    signals, 24 lines of isolated solid state FET digital outputs, and 8
    non-isolated TTL/CMOS compatible programmable I/O). An interrupt is
    generated when any of the inputs change state (low to high or high to
    low).

    Input filter control is not supported by this driver, and input filters
    are deactivated by this driver. These devices are capable of
    get_multiple and set_multiple functionality, but these functions have
    not yet been implemented for this driver. Change-Of-State (COS)
    detection functionality may be configured to fire interrupts on
    exclusively rising/falling edges, but this driver currently only
    implements COS detection for either both edges or none.

    Signed-off-by: William Breathitt Gray
    Signed-off-by: Linus Walleij

    William Breathitt Gray
     

09 Jan, 2018

1 commit

  • This commit adds GPIO driver for Winbond Super I/Os.

    Currently, only W83627UHG model (also known as Nuvoton NCT6627UD)
    is supported but in the future a support for other Winbond models,
    too, can be added to the driver.

    A module parameter "gpios" sets a bitmask of GPIO ports to enable
    (bit 0 is GPIO1, bit 1 is GPIO2, etc.).

    One should be careful which ports one tinkers with since some
    might be managed by the firmware (for functions like powering on and
    off, sleeping, BIOS recovery, etc.) and some of GPIO port pins are
    physically shared with other devices included in the Super I/O chip.

    Signed-off-by: Maciej S. Szmigiero
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Linus Walleij

    Maciej S. Szmigiero
     

07 Dec, 2017

1 commit


15 Nov, 2017

1 commit

  • Pull GPIO updates from Linus Walleij:
    "This is the bulk of GPIO changes for the v4.15 kernel cycle:

    Core:

    - Fix the semantics of raw GPIO to actually be raw. No inversion
    semantics as before, but also no open draining, and allow the raw
    operations to affect lines used for interrupts as the caller
    supposedly knows what they are doing if they are getting the big
    hammer.

    - Rewrote the __inner_function() notation calls to names that make
    more sense. I just find this kind of code disturbing.

    - Drop the .irq_base() field from the gpiochip since now all IRQs are
    mapped dynamically. This is nice.

    - Support for .get_multiple() in the core driver API. This allows us
    to read several GPIO lines with a single register read. This has
    high value for some usecases: it can be used to create
    oscilloscopes and signal analyzers and other things that rely on
    reading several lines at exactly the same instant. Also a generally
    nice optimization. This uses the new assign_bit() macro from the
    bitops lib that was ACKed by Andrew Morton and is implemented for
    two drivers, one of them being the generic MMIO driver so everyone
    using that will be able to benefit from this.

    - Do not allow requests of Open Drain and Open Source setting of a
    GPIO line simultaneously. If the hardware actually supports
    enabling both at the same time the electrical result would be
    disastrous.

    - A new interrupt chip core helper. This will be helpful to deal with
    "banked" GPIOs, which means GPIO controllers with several logical
    blocks of GPIO inside them. This is several gpiochips per device in
    the device model, in contrast to the case when there is a 1-to-1
    relationship between a device and a gpiochip.

    New drivers:

    - Maxim MAX3191x industrial serializer, a very interesting piece of
    professional I/O hardware.

    - Uniphier GPIO driver. This is the GPIO block from the recent
    Socionext (ex Fujitsu and Panasonic) platform.

    - Tegra 186 driver. This is based on the new banked GPIO
    infrastructure.

    Other improvements:

    - Some documentation improvements.

    - Wakeup support for the DesignWare DWAPB GPIO controller.

    - Reset line support on the DesignWare DWAPB GPIO controller.

    - Several non-critical bug fixes and improvements for the Broadcom
    BRCMSTB driver.

    - Misc non-critical bug fixes like exotic errorpaths, removal of dead
    code etc.

    - Explicit comments on fall-through switch() statements"

    * tag 'gpio-v4.15-1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (65 commits)
    gpio: tegra186: Remove tegra186_gpio_lock_class
    gpio: rcar: Add r8a77995 (R-Car D3) support
    pinctrl: bcm2835: Fix some merge fallout
    gpio: Fix undefined lock_dep_class
    gpio: Automatically add lockdep keys
    gpio: Introduce struct gpio_irq_chip.first
    gpio: Disambiguate struct gpio_irq_chip.nested
    gpio: Add Tegra186 support
    gpio: Export gpiochip_irq_{map,unmap}()
    gpio: Implement tighter IRQ chip integration
    gpio: Move lock_key into struct gpio_irq_chip
    gpio: Move irq_valid_mask into struct gpio_irq_chip
    gpio: Move irq_nested into struct gpio_irq_chip
    gpio: Move irq_chained_parent to struct gpio_irq_chip
    gpio: Move irq_default_type to struct gpio_irq_chip
    gpio: Move irq_handler to struct gpio_irq_chip
    gpio: Move irqdomain into struct gpio_irq_chip
    gpio: Move irqchip into struct gpio_irq_chip
    gpio: Introduce struct gpio_irq_chip
    pinctrl: armada-37xx: remove unused variable
    ...

    Linus Torvalds
     

08 Nov, 2017

1 commit

  • Tegra186 has two GPIO controllers that are largely register compatible
    between one another but are completely different from the controller
    found on earlier generations.

    Signed-off-by: Thierry Reding
    Acked-by: Grygorii Strashko
    Signed-off-by: Linus Walleij

    Thierry Reding
     

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
     

23 Oct, 2017

1 commit

  • This GPIO controller is used on UniPhier SoC family.

    It also serves as an interrupt controller, but interrupt signals are
    just delivered to the parent irqchip without any latching or OR'ing.
    This type of hardware can be well described with hierarchy IRQ domain.

    One unfortunate thing for this device is that the interrupt mapping to
    the interrupt parent is not contiguous.

    I asked how DT can describe interrupt mapping between two irqchips [1],
    but I could not find a good solution (at least in the framework level).
    In fact, irqchip drivers using hierarchy domain generally hard-code the
    DT binding of their parent.

    After tackling on several approaches such as hard-code of hwirqs,
    irq_domain_push_irq(), I ended up with a vendor specific property.
    If we come up with a good idea to support this in the framework, we
    can migrate over to it, but we can live with a driver-level solution
    for now.

    [1] https://lkml.org/lkml/2017/7/6/758

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Linus Walleij

    Masahiro Yamada
     

20 Oct, 2017

1 commit

  • The driver was developed for and tested with the MAX31913 built into
    the Revolution Pi by KUNBUS, but should work with all members of the
    MAX3191x family:

    MAX31910: low power
    MAX31911: LED drivers
    MAX31912: LED drivers + 2nd voltage monitor + low power
    MAX31913: LED drivers + 2nd voltage monitor
    MAX31953: LED drivers + 2nd voltage monitor + isolation
    MAX31963: LED drivers + 2nd voltage monitor + isolation + buck regulator

    Cc: Mathias Duckeck
    Signed-off-by: Lukas Wunner
    Signed-off-by: Linus Walleij

    Lukas Wunner
     

22 Aug, 2017

1 commit


14 Aug, 2017

1 commit

  • This patch adds support for TPS68470 GPIOs.
    There are 7 GPIOs and a few sensor related GPIOs.
    These GPIOs can be requested and configured as
    appropriate.

    The GPIOs are also provided with descriptive names.
    However, the typical use case is that the OS GPIO
    driver will interact with TPS68470 GPIO driver
    to configure these GPIOs, as requested by the
    platform firmware.

    Signed-off-by: Rajmohan Mani
    Signed-off-by: Linus Walleij

    Rajmohan Mani
     

08 Jul, 2017

1 commit

  • Pull GPIO updates from Linus Walleij:
    "This is the bulk of GPIO changes for the v4.13 series.

    Some administrativa:

    I have a slew of 8250 serial patches and the new IOT2040 serial+GPIO
    driver coming in through this tree, along with a whole bunch of Exar
    8250 fixes. These are ACKed by Greg and also hit drivers/platform/*
    where they are ACKed by Andy Shevchenko.

    Speaking about drivers/platform/* there is also a bunch of ACPI stuff
    coming through that route, again ACKed by Andy.

    The MCP23S08 changes are coming in here as well. You already have the
    commits in your tree, so this is just a result of sharing an immutable
    branch between pin control and GPIO.

    Core:
    - Export add/remove for lookup tables so that modules can export GPIO
    descriptor tables.
    - Handle GPIO sleep states: it is now possible to flag that a GPIO
    line may loose its state during suspend/resume of the system to
    save power. This is used in the Wolfson Micro Arizona driver.
    - ACPI-based GPIO was tightened up a lot around the edges.
    - Use bitmap_fill() to speed up a loop.

    New drivers:
    - Exar XRA1403 SPI-based GPIO.
    - MVEBU driver now supports Armada 7K and 8K.
    - LP87565 PMIC GPIO.
    - Renesas R-CAR R8A7743 (RZ/G1M).
    - The new IOT2040 8250 serial/GPIO also comes in through this
    changeset.

    Substantial driver changes:
    - Seriously fix the Exar 8250 GPIO portions to work.
    - The MCP23S08 was moved out to a pin control driver.
    - Convert MEVEBU to use regmap for register access.
    - Drop Vulcan support from the Broadcom driver.
    - Serious cleanup and improvement of the mockup driver, giving us a
    better test coverage.

    Misc:
    - Lots of janitorial clean up.
    - A bunch of documentation fixes"

    * tag 'gpio-v4.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (70 commits)
    serial: exar: Add support for IOT2040 device
    gpio-exar/8250-exar: Make set of exported GPIOs configurable
    platform: Accept const properties
    serial: exar: Factor out platform hooks
    gpio-exar/8250-exar: Rearrange gpiochip parenthood
    gpio: exar: Fix iomap request
    gpio-exar/8250-exar: Do not even instantiate a GPIO device for Commtech cards
    serial: uapi: Add support for bus termination
    gpio: rcar: Add R8A7743 (RZ/G1M) support
    gpio: gpio-wcove: Fix GPIO control register offset calculation
    gpio: lp87565: Add support for GPIO
    gpio: dwapb: fix missing first irq for edgeboth irq type
    MAINTAINERS: Take maintainership for GPIO ACPI support
    gpio: exar: Fix reading of directions and values
    gpio: exar: Allocate resources on behalf of the platform device
    gpio-exar/8250-exar: Fix passing in of parent PCI device
    gpio: mockup: use devm_kcalloc() where applicable
    gpio: mockup: add myself as author
    gpio: mockup: improve the error message
    gpio: mockup: don't return magic numbers from probe()
    ...

    Linus Torvalds
     

21 Jun, 2017

1 commit


23 May, 2017

3 commits