KEBA PLCs use a PCIe FPGA to implement several functions in a common way. This is a first step to include basic support for this FPGA. Under drivers/misc the cp500 PCI driver is added. This drivers creates auxiliary devices for every function inside the FPGA. As a first step it only creates auxiliary devices for the I2C controllers. The I2C controller driver is added under drivers/i2c/busses like all the other I2C controller drivers. This patches enable access to the EEPROMs and to the hardware monitoring chip of KEBA PLCs. v4: - first patch for drivers/misc removed because it is already merged and part of 6.11-rc1 v3: - first patch is already merged to char-misc-next by Greg KH - add AUXILIARY_BUS Kconfig dependency - don't declare int i within for loop (Andi Shyti) - enable I2C controller as late as possible (Andi Shyti) - use devm_i2c_add_adapter (Andi Shyti) - add KI2C_CONTROL_DISABLE (Andi Shyti) v2: - use aux bus (Greg KH) - add Documentation/ABI/ entry for version and keep_cfg sysfs files (Greg KH) - use sysfs_emit (Greg KH) - add some information about I2C controller in commit message (Andi Shyti) - remove old copyright line (Andi Shyti) - sort header alphabetically (Andi Shyti) - rework register defines as suggested (Andi Shyti) - fix block comment style multiple times (Andi Shyti) - add comment that IN_USE bit is a semaphore (Andi Shyti) - add comment that IN_USE bit polling sleeps (Andi Shyti) - addr as first argument of ki2c_wait_for_bit() (Andi Shyti) - avoid compact style for register flag check (Andi Shyti) - move bus reset dev_err's to reset implementation (Andi Shyti) - use dev_err_probe() (Andi Shyti) - fix 'ki2c_devtype defined but not used' (kernel test robot) - fix 'WARNING comparing pointer to 0', twice (kernel test robot) - fix 'Using plain integer as NULL pointer' (kernel test robot) - fix 'symbol cp035_devices was not declared. Should it be static?', 3 times (kernel test robot) Gerhard Engleder (1): i2c: keba: Add KEBA I2C controller support drivers/i2c/busses/Kconfig | 11 + drivers/i2c/busses/Makefile | 1 + drivers/i2c/busses/i2c-keba.c | 593 ++++++++++++++++++++++++++++++++++ 3 files changed, 605 insertions(+) create mode 100644 drivers/i2c/busses/i2c-keba.c -- 2.39.2