• Wolfram Sang's avatar
    Merge tag 'i2c-host-6.12' of... · c24999e6
    Wolfram Sang authored
    Merge tag 'i2c-host-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux into i2c/for-mergewindow
    
    The DesignWare and the Renesas I2C drivers have received most of
    the changes in this pull request.
    
    The first has has undergone through a series of cleanups that
    have been sent to the mailing list a year ago for the first time
    and finally get merged in this pull request. They are many, from
    typos (e.g. i2/i2c), to cosmetics, to refactoring (e.g. move
    inline functions to librarieas) and many others.
    
    Besides that, all the DesignWare Kconfig options have been
    grouped under the I2C_DESIGNWARE_CORE and this required some
    adaptation in many of the kernel configuration files for
    different arm and mips boards.
    
    Follows the list of the rest of the changes grouped by type of
    change.
    
    Cleanups
    --------
    The Qualcomm Geni platform improves the exit path in the runtime
    resume function.
    
    The Intel LJCA driver loses "target_addr" parameter in
    ljca_i2c_stop() because it was unused.
    
    The MediaTek controller intializes the restart_flag in the
    transfer function using the ternary conditional operator ("? :")
    instead of initializing it in different parts.
    
    Constified a few global data structures in the virtio driver.
    
    The Renesas driver simplifies the bus speed handling in the init
    function making it more readable.
    
    Improved an if/else statement in probe function of the Renesas
    R-Car driver.
    
    The iMX/MXC driver switches to using the RUNTIME_PM_OPS() instead
    of SET_RUNTIME_PM_OPS().
    
    Still in the iMX/MXC driver a comma ',' has been replaced by a
    semicolon ';', while in different drivers the ',' has been
    removed from the '{ }' delimiters.
    
    Finally three devm_clk_get_enabled() have been used to simplify
    the devm_clk_get/clk_prepare_enable tuple in the Renesas EMEV2,
    Ingenic and MPC drivers.
    
    Refactors
    ---------
    The Nuvoton fixes a potential out of boundary array access. This
    is not a bug fix because the issue could never occur due to
    hardware not having the properties listed in the array. The
    change makes the driver more future proof and, at the same time,
    silences code analyzers.
    
    Improvements
    ------------
    The Renesas I2C (riic) driver undergoes several patches improving
    the runtime power management handling.
    
    The Intel i801 driver uses a more descriptive adapter's name to
    show the presence of the IDF feature.
    
    In the Intel Denverton (ismt) adapter the pending transactions
    are killed when irq's can't complete their handling, triggering a
    timeout. This could have been considered as a bug fix, but
    because, standing to Vasily, it's very sporadic, I preferred
    considering the patch rather as an improvement.
    
    New Feature
    -----------
    The Renesas I2C (riic) driver now supports the fast mode plus.
    
    New support
    -----------
    Added support for:
    
        - Renesas R9A08G045
        - Rockchip RK3576
        - KEBA I2C
        - Theobroma Systems Mule Multiplexer.
    
    The Keba comes with a new driver, i2c-keba.c.
    The Mule is an i2c multiplexer and it also comes with a new
    driver, mux/i2c-mux-mule.c.
    
    Core patch
    ----------
    This pull request includes also a patch in the I2C framework, in
    i2c-core-base.c where the runtime PM functions have been replaced
    in order to allow to be accessed during the device add.
    
    Devicetree
    ----------
    Some cleanups in the devicetree, as well. nVidia and Qualcomm
    bindings improve their "if:then:" blocks. While the aspeed
    binding loses the "multi-master" property because it was
    redundant.
    
    The i2c-sprd binding has been converted to YAML.
    c24999e6
i2c-core-base.c 72.5 KB