• Linus Torvalds's avatar
    Merge tag 'i2c-for-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 4e2c9cd7
    Linus Torvalds authored
    Pull i2c updates from Wolfram Sang:
     "I2C core:
    
       - finally remove the I2C_COMPAT symbol after 15 years of deprecation
    
       - lock client addresses during initialization to prevent race
         conditions between different kinds of instantiation
    
       - use scoped foreach OF child loops
    
       - testunit cleanups and documentation improvements, as well as two
         new tests, one for repeated start and one for triggering SMBusAlert
         interrupts
    
      I2C host drivers:
    
       - DesignWare and Renesas I2C driver updates.
    
         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.
    
       - 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
    
      Cleanups:
    
       - improve the exit path in the runtime resume function for the
         Qualcomm Geni platform
    
       - get rid of the unused "target_addr" parameter in the Intel LJCA
         driver
    
       - intialize the restart_flag in the MediaTek controller in one single
         place
    
       - constify a few global data structures in the virtio driver
    
       - simplify the bus speed handling in the Renesas driver init function
         making it more readable
    
       - improved probe function of the Renesas R-Car driver
    
       - switch the iMX/MXC driver to use RUNTIME_PM_OPS() instead of
         SET_RUNTIME_PM_OPS()
    
       - iMX/MXC driver cleanups
    
       - use devm_clk_get_enabled() to simplify the Renesas EMEV2, Ingenic
         and MPC drivers
    
      Refactoring:
    
       - Fix a potential out of boundary array access in the Nuvoton driver.
    
         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:
    
       - several patches improving the runtime power management handling of
         the Renesas I2C (riic) driver
    
       - use a more descriptive adapter name in the Intel i801 driver to
         show the presence of the IDF feature
    
       - kill pending transactions when irq's can't complete their handling
         in the Intel Denverton (ismt) driver, triggering a timeout
    
      New Feature:
    
       - support fast mode plus in the Renesas I2C (riic) driver
    
      New support:
    
       - Added support for:
          - Renesas R9A08G045
          - Rockchip RK3576
          - KEBA I2C
          - Theobroma Systems Mule Multiplexer.
    
       - new i2c-keba.c driver
    
       - new driver for The Mule i2c multiplexer
    
      Core I2C framework:
    
       - move runtime PM functions in order to allow them to be accessed
         during device add
    
      Devicetree:
    
       - nVidia and Qualcomm binding improvements
    
       - get rid of redundant "multi-master" property in the aspeed binding
    
       - convert i2c-sprd binding to YAML
    
      AT24 updates:
    
      - document a new model from giantec in DT bindings"
    
    * tag 'i2c-for-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (69 commits)
      i2c: designware: Use pci_get_drvdata()
      i2c: designware: Propagate firmware node
      i2c: designware: Uninline i2c_dw_probe()
      i2c: ljca: Remove unused "target_addr" parameter
      i2c: keba: Add KEBA I2C controller support
      i2c: i801: Use a different adapter-name for IDF adapters
      i2c: core: Setup i2c_adapter runtime-pm before calling device_add()
      dt-bindings: i2c: i2c-sprd: convert to YAML
      i2c: ismt: kill transaction in hardware on timeout
      i2c: designware: Group all DesignWare drivers under a single option
      net: txgbe: Fix I2C Kconfig dependencies
      RISC-V: configs: enable I2C_DESIGNWARE_CORE with I2C_DESIGNWARE_PLATFORM
      mips: configs: enable I2C_DESIGNWARE_CORE with I2C_DESIGNWARE_PLATFORM
      arm64: defconfig: enable I2C_DESIGNWARE_CORE with I2C_DESIGNWARE_PLATFORM
      ARM: configs: enable I2C_DESIGNWARE_CORE with I2C_DESIGNWARE_PLATFORM
      ARC: configs: enable I2C_DESIGNWARE_CORE with I2C_DESIGNWARE_PLATFORM
      i2c: virtio: Constify struct i2c_algorithm and struct virtio_device_id
      i2c: rcar: tidyup priv->devtype handling on rcar_i2c_probe()
      i2c: imx: Convert comma to semicolon
      i2c: jz4780: Use devm_clk_get_enabled() helpers
      ...
    4e2c9cd7
i2c-aspeed.c 32.8 KB