mbox series

[v5,0/1] I2C controller support for KEBA PLCs

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

Message

Gerhard Engleder Aug. 9, 2024, 5:23 a.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.

v5:
- simplify (ret != 0) (Andi Shyti)
- change KI2C_RECOVERY_CLK_CNT to (9 * 2) (Andi Shyti)
- change KI2C_RECOVERY_NDELAY to KI2C_RECOVERY_UDELAY (Andi Shyti)
- rework reset while loop to for loop (Andi Shyti)
- use dev_err() for errors (Andi Shyti)
- don't define int i within for loop (Andi Shyti)
- use else if within read loop (Andi Shyti)
- remove unnecessary parenthesis of (ret < 0) ? ... (Andi Shyti)
- reduce ki2c->client_size in case of failed device registration (Andi Shyti)
- don't use ',' after delimiters (Andi Shyti)
- remove platform_data from comment

v4:
- first patch 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 | 598 ++++++++++++++++++++++++++++++++++
 3 files changed, 610 insertions(+)
 create mode 100644 drivers/i2c/busses/i2c-keba.c

Comments

Gerhard Engleder Aug. 27, 2024, 6:15 p.m. UTC | #1
On 09.08.24 07:23, 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.
> 
> v5:
> - simplify (ret != 0) (Andi Shyti)
> - change KI2C_RECOVERY_CLK_CNT to (9 * 2) (Andi Shyti)
> - change KI2C_RECOVERY_NDELAY to KI2C_RECOVERY_UDELAY (Andi Shyti)
> - rework reset while loop to for loop (Andi Shyti)
> - use dev_err() for errors (Andi Shyti)
> - don't define int i within for loop (Andi Shyti)
> - use else if within read loop (Andi Shyti)
> - remove unnecessary parenthesis of (ret < 0) ? ... (Andi Shyti)
> - reduce ki2c->client_size in case of failed device registration (Andi Shyti)
> - don't use ',' after delimiters (Andi Shyti)
> - remove platform_data from comment
> 
> v4:
> - first patch 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 | 598 ++++++++++++++++++++++++++++++++++
>   3 files changed, 610 insertions(+)
>   create mode 100644 drivers/i2c/busses/i2c-keba.c
> 

Hello Andi,

are there any reasons why this patch does not make any progress?
Did I miss something? Or is it hanging just because of holiday season?

Thanks,
Gerhard
Andi Shyti Sept. 10, 2024, 9:05 a.m. UTC | #2
Hi Gerhard,

On Tue, Aug 27, 2024 at 08:15:04PM GMT, Gerhard Engleder wrote:
> On 09.08.24 07:23, Gerhard Engleder wrote:

...

> > 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 | 598 ++++++++++++++++++++++++++++++++++
> >   3 files changed, 610 insertions(+)
> >   create mode 100644 drivers/i2c/busses/i2c-keba.c
> > 
> 
> Hello Andi,
> 
> are there any reasons why this patch does not make any progress?
> Did I miss something? Or is it hanging just because of holiday season?

Sorry for having taken so long, now it's merged to i2c/i2c-host.

I took the liberty of changing only 'slave' to 'target' in one
comment to align with the new inclusive I2C naming convention.

Thanks,
Andi
Gerhard Engleder Sept. 13, 2024, 12:12 p.m. UTC | #3
On 10.09.24 11:05, Andi Shyti wrote:
> Hi Gerhard,
> 
> On Tue, Aug 27, 2024 at 08:15:04PM GMT, Gerhard Engleder wrote:
>> On 09.08.24 07:23, Gerhard Engleder wrote:
> 
> ...
> 
>>> 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 | 598 ++++++++++++++++++++++++++++++++++
>>>    3 files changed, 610 insertions(+)
>>>    create mode 100644 drivers/i2c/busses/i2c-keba.c
>>>
>>
>> Hello Andi,
>>
>> are there any reasons why this patch does not make any progress?
>> Did I miss something? Or is it hanging just because of holiday season?
> 
> Sorry for having taken so long, now it's merged to i2c/i2c-host.
> 
> I took the liberty of changing only 'slave' to 'target' in one
> comment to align with the new inclusive I2C naming convention.

Thank you!