24 Aug, 2020

1 commit

  • Replace the existing /* fall through */ comments and its variants with
    the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
    fall-through markings when it is the case.

    [1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through

    Signed-off-by: Gustavo A. R. Silva

    Gustavo A. R. Silva
     

30 Jun, 2020

1 commit

  • Enables probing via the ACPI PRP0001 route but more is mostly about
    removing examples of this that might get copied into new drivers.

    Also fixes
    drivers/mux/adgs1408.c:112:34: warning: unused variable 'adgs1408_of_match
    as has been reported recently.

    Fixes: e9e40543ad5b ("spi: Add generic SPI multiplexer")
    Reported-by: kbuild test robot
    Signed-off-by: Andy Shevchenko
    Signed-off-by: Peter Rosin
    Link: https://lore.kernel.org/r/20200529145726.5708-1-peda@axentia.se
    Signed-off-by: Greg Kroah-Hartman

    Andy Shevchenko
     

30 Jul, 2019

1 commit

  • Introduce wrappers for {bus/driver/class}_find_device() to
    locate devices by its of_node.

    Cc: Maarten Lankhorst
    Cc: Maxime Ripard
    Cc: dri-devel@lists.freedesktop.org
    Cc: David Airlie
    Cc: Daniel Vetter
    Cc: devicetree@vger.kernel.org
    Cc: Florian Fainelli
    Cc: Frank Rowand
    Cc: Heiko Stuebner
    Cc: Liam Girdwood
    Cc: linux-i2c@vger.kernel.org
    Cc: linux-rockchip@lists.infradead.org
    Cc: linux-spi@vger.kernel.org
    Cc: Mathieu Poirier
    Cc: Rob Herring
    Cc: Srinivas Kandagatla
    Cc: Takashi Iwai
    Cc: Alan Tull
    Cc: linux-fpga@vger.kernel.org
    Cc: Peter Rosin
    Cc: Florian Fainelli
    Cc: Heiner Kallweit
    Cc: "David S. Miller"
    Cc: Andrew Lunn
    Cc: Liam Girdwood
    Cc: "Rafael J. Wysocki"
    Cc: Thor Thayer
    Cc: Jiri Slaby
    Cc: Andrew Lunn
    Cc: Peter Rosin
    Signed-off-by: Suzuki K Poulose
    Acked-by: Lee Jones
    Acked-by: Wolfram Sang # I2C part
    Acked-by: Moritz Fischer # For FPGA part
    Acked-by: Mark Brown
    Link: https://lore.kernel.org/r/20190723221838.12024-3-suzuki.poulose@arm.com
    Signed-off-by: Greg Kroah-Hartman

    Suzuki K Poulose
     

21 Jun, 2019

1 commit


23 Oct, 2018

1 commit

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

    Core changes:

    - A patch series from Hans Verkuil to make it possible to
    enable/disable IRQs on a GPIO line at runtime and drive GPIO lines
    as output without having to put/get them from scratch.

    The irqchip callbacks have been improved so that they can use only
    the fastpatch callbacks to enable/disable irqs like any normal
    irqchip, especially the gpiod_lock_as_irq() has been improved to be
    callable in fastpath context.

    A bunch of rework had to be done to achieve this but it is a big
    win since I never liked to restrict this to slowpath. The only call
    requireing slowpath was try_module_get() and this is kept at the
    .request_resources() slowpath callback. In the GPIO CEC driver this
    is a big win sine a single line is used for both outgoing and
    incoming traffic, and this needs to use IRQs for incoming traffic
    while actively driving the line for outgoing traffic.

    - Janusz Krzysztofik improved the GPIO array API to pass a "cookie"
    (struct gpio_array) and a bitmap for setting or getting multiple
    GPIO lines at once.

    This improvement orginated in a specific need to speed up an OMAP1
    driver and has led to a much better API and real performance gains
    when the state of the array can be used to bypass a lot of checks
    and code when we want things to go really fast.

    The previous code would minimize the number of calls down to the
    driver callbacks assuming the CPU speed was orders of magnitude
    faster than the I/O latency, but this assumption was wrong on
    several platforms: what we needed to do was to profile and improve
    the speed on the hot path of the array functions and this change is
    now completed.

    - Clean out the painful and hard to grasp BNF experiments from the
    device tree bindings. Future approaches are looking into using JSON
    schema for this purpose. (Rob Herring is floating a patch series.)

    New drivers:

    - The RCAR driver now supports r8a774a1 (RZ/G2M).

    - Synopsys GPIO via CREGs driver.

    Major improvements:

    - Modernization of the EP93xx driver to use irqdomain and other
    contemporary concepts.

    - The ingenic driver has been merged into the Ingenic pin control
    driver and removed from the GPIO subsystem.

    - Debounce support in the ftgpio010 driver"

    * tag 'gpio-v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (116 commits)
    gpio: Clarify kerneldoc on gpiochip_set_chained_irqchip()
    gpio: Remove unused 'irqchip' argument to gpiochip_set_cascaded_irqchip()
    gpio: Drop parent irq assignment during cascade setup
    mmc: pwrseq_simple: Fix incorrect handling of GPIO bitmap
    gpio: fix SNPS_CREG kconfig dependency warning
    gpiolib: Initialize gdev field before is used
    gpio: fix kernel-doc after devres.c file rename
    gpio: fix doc string for devm_gpiochip_add_data() to not talk about irq_chip
    gpio: syscon: Fix possible NULL ptr usage
    gpiolib: Show correct direction from the beginning
    pinctrl: msm: Use init_valid_mask exported function
    gpiolib: Add init_valid_mask exported function
    GPIO: add single-register GPIO via CREG driver
    dt-bindings: Document the Synopsys GPIO via CREG bindings
    gpio: mockup: use device properties instead of platform_data
    gpio: Slightly more helpful debugfs
    gpio: omap: Remove set but not used variable 'dev'
    gpio: omap: drop omap_gpio_list
    Accept partial 'gpio-line-names' property.
    gpio: omap: get rid of the conditional PM runtime calls
    ...

    Linus Torvalds
     

12 Oct, 2018

1 commit


13 Sep, 2018

2 commits

  • In order to make use of array info obtained from gpiod_get_array() and
    speed up processing of arrays matching single GPIO chip layout, that
    information must be passed to get/set array functions. Extend the
    functions' API with that additional parameter and update all users.
    Pass NULL if a user builds an array itself from single GPIOs.

    Cc: Jonathan Corbet
    Cc: Miguel Ojeda Sandonis
    Cc: Geert Uytterhoeven
    Cc: Sebastien Bourdelin
    Cc: Lukas Wunner
    Cc: Peter Korsgaard
    Cc: Peter Rosin
    Cc: Andrew Lunn
    Cc: Florian Fainelli
    Cc: "David S. Miller"
    Cc: Rojhalat Ibrahim
    Cc: Dominik Brodowski
    Cc: Russell King
    Cc: Kishon Vijay Abraham I
    Cc: Tony Lindgren
    Cc: Lars-Peter Clausen
    Cc: Michael Hennerich
    Cc: Jonathan Cameron
    Cc: Hartmut Knaack
    Cc: Peter Meerwald-Stadler
    Cc: Greg Kroah-Hartman
    Cc: Jiri Slaby
    Cc: Yegor Yefremov
    Cc: Uwe Kleine-König
    Signed-off-by: Janusz Krzysztofik
    Acked-by: Ulf Hansson
    Signed-off-by: Linus Walleij

    Janusz Krzysztofik
     
  • Most users of get/set array functions iterate consecutive bits of data,
    usually a single integer, while processing array of results obtained
    from, or building an array of values to be passed to those functions.
    Save time wasted on those iterations by changing the functions' API to
    accept bitmaps.

    All current users are updated as well.

    More benefits from the change are expected as soon as planned support
    for accepting/passing those bitmaps directly from/to respective GPIO
    chip callbacks if applicable is implemented.

    Cc: Jonathan Corbet
    Cc: Miguel Ojeda Sandonis
    Cc: Sebastien Bourdelin
    Cc: Lukas Wunner
    Cc: Peter Korsgaard
    Cc: Peter Rosin
    Cc: Andrew Lunn
    Cc: Florian Fainelli
    Cc: "David S. Miller"
    Cc: Rojhalat Ibrahim
    Cc: Dominik Brodowski
    Cc: Russell King
    Cc: Kishon Vijay Abraham I
    Cc: Tony Lindgren
    Cc: Lars-Peter Clausen
    Cc: Michael Hennerich
    Cc: Jonathan Cameron
    Cc: Hartmut Knaack
    Cc: Peter Meerwald-Stadler
    Cc: Greg Kroah-Hartman
    Cc: Jiri Slaby
    Cc: Yegor Yefremov
    Cc: Uwe Kleine-König
    Signed-off-by: Janusz Krzysztofik
    Acked-by: Ulf Hansson
    Reviewed-by: Geert Uytterhoeven
    Tested-by: Geert Uytterhoeven
    Signed-off-by: Linus Walleij

    Janusz Krzysztofik
     

02 Aug, 2018

1 commit


23 Apr, 2018

1 commit


02 Feb, 2018

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the big pull request for char/misc drivers for 4.16-rc1.

    There's a lot of stuff in here. Three new driver subsystems were added
    for various types of hardware busses:

    - siox
    - slimbus
    - soundwire

    as well as a new vboxguest subsystem for the VirtualBox hypervisor
    drivers.

    There's also big updates from the FPGA subsystem, lots of Android
    binder fixes, the usual handful of hyper-v updates, and lots of other
    smaller driver updates.

    All of these have been in linux-next for a long time, with no reported
    issues"

    * tag 'char-misc-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (155 commits)
    char: lp: use true or false for boolean values
    android: binder: use VM_ALLOC to get vm area
    android: binder: Use true and false for boolean values
    lkdtm: fix handle_irq_event symbol for INT_HW_IRQ_EN
    EISA: Delete error message for a failed memory allocation in eisa_probe()
    EISA: Whitespace cleanup
    misc: remove AVR32 dependencies
    virt: vbox: Add error mapping for VERR_INVALID_NAME and VERR_NO_MORE_FILES
    soundwire: Fix a signedness bug
    uio_hv_generic: fix new type mismatch warnings
    uio_hv_generic: fix type mismatch warnings
    auxdisplay: img-ascii-lcd: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
    uio_hv_generic: add rescind support
    uio_hv_generic: check that host supports monitor page
    uio_hv_generic: create send and receive buffers
    uio: document uio_hv_generic regions
    doc: fix documentation about uio_hv_generic
    vmbus: add monitor_id and subchannel_id to sysfs per channel
    vmbus: fix ABI documentation
    uio_hv_generic: use ISR callback method
    ...

    Linus Torvalds
     

09 Jan, 2018

2 commits

  • Remove all free-text license texts.

    This is done on a quest to remove the 700+ different ways that files in
    the kernel describe the GPL license text.

    No copyright headers or other non-license-description text was removed.

    Reviewed-by: Philippe Ombredanne
    Acked-by: Philipp Zabel
    Signed-off-by: Peter Rosin
    Signed-off-by: Greg Kroah-Hartman

    Peter Rosin
     
  • class_find_device already does a get_device on the returned device.
    So the device returned by of_find_mux_chip_by_node is already referenced
    and we should not reference it again (and unref it on error).

    Signed-off-by: Hans de Goede
    Signed-off-by: Peter Rosin
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Hans de Goede
     

29 Aug, 2017

1 commit

  • Make this const as it is only stored in the type field of a device
    structure, which is const.
    Done using Coccinelle.

    Signed-off-by: Bhumika Goyal
    Signed-off-by: Peter Rosin
    Signed-off-by: Greg Kroah-Hartman

    Bhumika Goyal
     

28 Aug, 2017

2 commits


17 Jul, 2017

2 commits


09 Jun, 2017

1 commit

  • COMPILE_TEST makes no sense when I2C is disabled, as the driver cannot compile
    in that configuration:

    drivers/mux/mux-adg792a.c: In function 'adg792a_write_cmd':
    drivers/mux/mux-adg792a.c:34:9: error: implicit declaration of function 'i2c_smbus_write_byte_data'; did you mean 'i2c_set_clientdata'? [-Werror=implicit-function-declaration]
    drivers/mux/mux-adg792a.o: In function `adg792a_driver_init':
    mux-adg792a.c:(.init.text+0x14): undefined reference to `i2c_register_driver'
    drivers/mux/mux-adg792a.o: In function `adg792a_probe':
    mux-adg792a.c:(.text.adg792a_probe+0x94): undefined reference to `i2c_smbus_write_byte_data'
    drivers/mux/mux-adg792a.o: In function `adg792a_set':
    mux-adg792a.c:(.text.adg792a_set+0x80): undefined reference to `i2c_smbus_write_byte_data'

    Fixes: afda08c4caa9 ("mux: adg792a: add mux controller driver for ADG792A/G")
    Signed-off-by: Arnd Bergmann
    Reviewed-by: Peter Rosin
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     

03 Jun, 2017

4 commits

  • This adds a driver for mmio-based syscon multiplexers controlled by
    bitfields in a syscon register range.

    Signed-off-by: Philipp Zabel
    Signed-off-by: Peter Rosin
    Signed-off-by: Greg Kroah-Hartman

    Philipp Zabel
     
  • Analog Devices ADG792A/G is a triple 4:1 mux.

    Reviewed-by: Jonathan Cameron
    Signed-off-by: Peter Rosin
    Signed-off-by: Greg Kroah-Hartman

    Peter Rosin
     
  • The driver builds a single multiplexer controller using a number
    of gpio pins. For N pins, there will be 2^N possible multiplexer
    states. The GPIO pins can be connected (by the hardware) to several
    multiplexers, which in that case will be operated in parallel.

    Reviewed-by: Jonathan Cameron
    Signed-off-by: Peter Rosin
    Reviewed-by: Philipp Zabel
    Signed-off-by: Greg Kroah-Hartman

    Peter Rosin
     
  • Add a new minimalistic subsystem that handles multiplexer controllers.
    When multiplexers are used in various places in the kernel, and the
    same multiplexer controller can be used for several independent things,
    there should be one place to implement support for said multiplexer
    controller.

    A single multiplexer controller can also be used to control several
    parallel multiplexers, that are in turn used by different subsystems
    in the kernel, leading to a need to coordinate multiplexer accesses.
    The multiplexer subsystem handles this coordination.

    Thanks go out to Lars-Peter Clausen, Jonathan Cameron, Rob Herring,
    Wolfram Sang, Paul Gortmaker, Dan Carpenter, Colin Ian King, Greg
    Kroah-Hartman and last but certainly not least to Philipp Zabel for
    helpful comments, reviews, patches and general encouragement!

    Reviewed-by: Jonathan Cameron
    Signed-off-by: Peter Rosin
    Reviewed-by: Philipp Zabel
    Tested-by: Philipp Zabel
    Signed-off-by: Greg Kroah-Hartman

    Peter Rosin