mbox series

[v2,0/2] I2C controller support for KEBA PLCs

Message ID 20240630194740.7137-1-gerhard@engleder-embedded.com
Headers show
Series I2C controller support for KEBA PLCs | expand

Message

Gerhard Engleder June 30, 2024, 7:47 p.m. UTC
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.

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 (2):
  misc: keba: Add basic KEBA CP500 system FPGA support
  i2c: keba: Add KEBA I2C controller support

 .../ABI/stable/sysfs-driver-misc-cp500        |  25 +
 drivers/i2c/busses/Kconfig                    |  10 +
 drivers/i2c/busses/Makefile                   |   1 +
 drivers/i2c/busses/i2c-keba.c                 | 595 ++++++++++++++++++
 drivers/misc/Kconfig                          |   1 +
 drivers/misc/Makefile                         |   1 +
 drivers/misc/keba/Kconfig                     |  12 +
 drivers/misc/keba/Makefile                    |   3 +
 drivers/misc/keba/cp500.c                     | 458 ++++++++++++++
 include/linux/misc/keba.h                     |  25 +
 10 files changed, 1131 insertions(+)
 create mode 100644 Documentation/ABI/stable/sysfs-driver-misc-cp500
 create mode 100644 drivers/i2c/busses/i2c-keba.c
 create mode 100644 drivers/misc/keba/Kconfig
 create mode 100644 drivers/misc/keba/Makefile
 create mode 100644 drivers/misc/keba/cp500.c
 create mode 100644 include/linux/misc/keba.h

Comments

Greg KH July 4, 2024, 10:30 a.m. UTC | #1
On Sun, Jun 30, 2024 at 09:47:38PM +0200, Gerhard Engleder wrote:
> 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.

I've applied patch 1/2 to my char-misc tree, nice work!

I'll wait for an ack from the i2c maintainers before applying that one,
or it can come in through the i2c tree after 6.11-rc1 is out.

thanks,

greg k-h