17 Jan, 2018

1 commit

  • commit aa1f10e85b0ab53dee85d8e293c8159d18d293a8 upstream.

    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
    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