[PATCH v2 0/5] Congatec Board Controller drivers

Thomas Richard posted 5 patches 2 months, 1 week ago
There is a newer version of this series
MAINTAINERS                   |   9 +
drivers/gpio/Kconfig          |  10 +
drivers/gpio/Makefile         |   1 +
drivers/gpio/gpio-cgbc.c      | 196 ++++++++++++++++++++
drivers/i2c/busses/Kconfig    |  10 +
drivers/i2c/busses/Makefile   |   1 +
drivers/i2c/busses/i2c-cgbc.c | 406 +++++++++++++++++++++++++++++++++++++++++
drivers/mfd/Kconfig           |  12 ++
drivers/mfd/Makefile          |   1 +
drivers/mfd/cgbc-core.c       | 411 ++++++++++++++++++++++++++++++++++++++++++
drivers/watchdog/Kconfig      |  10 +
drivers/watchdog/Makefile     |   1 +
drivers/watchdog/cgbc_wdt.c   | 211 ++++++++++++++++++++++
include/linux/mfd/cgbc.h      |  44 +++++
14 files changed, 1323 insertions(+)
[PATCH v2 0/5] Congatec Board Controller drivers
Posted by Thomas Richard 2 months, 1 week ago
This is a new iteration of the Congatec Board Controller series.

For the MFD driver, the main change is the use of
platform_device_register_simple() which makes the code smaller.

For the GPIO driver the main change is the use of guard() and scope_gard().

For the I2C bus driver, the I2C_FUNC_SMBUS_QUICK flag was unset as the
controller doesn't support smbus quick accesses.

For the Watchdog driver, min_timeout and max_timeout are configured now,
and watchdog_init_timeout() is used to initialize the timeout. 

More details in the changelog.

Best Regards,

Thomas

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
---
Changes in v2:
- mfd: use platform_device_register_simple(), so struct cgbc_platform_data
  and cgbc_create_platform_device() were removed.
- mfd: rename cgbc_detect_device() to cgbc_wait_device().
- mfd: remove the useless abstracted function cgbc_command().
- mfd: set the release session message as warning instead of error.
- mfd: minor fixes (sort includes, add comments, fix some alignments and
  nit ...).
- gpio: use scoped_guard() and guard().
- gpio: use devm_mutex_init().
- i2c: unset the I2C_FUNC_SMBUS_QUICK flag as smbus quick accesses are not
  supported by the controller.
- i2c: rephrase comment for read_maxtime_us.
- i2c: set the invalid frequency message as an info (previously a warning).
- i2c: other minor fixes (sort includes, fix name of i2c_state enum).
- watchdog: add missing includes.
- watchdog: remove warning for the pretimeout.
- watchdog: remove timeout_action and pretimeout_action (ACTION_RESET and
  ACTION_SMI are directly used in cgbc_wdt_start()).
- watchdog: set max_timeout and min_timeout.
- watchdog: use watchdog_init_timeout() to set the timeout.
- Link to v1: https://lore.kernel.org/r/20240503-congatec-board-controller-v1-0-fec5236270e7@bootlin.com

---
Thomas Richard (5):
      mfd: add Congatec Board Controller mfd driver
      gpio: Congatec Board Controller gpio driver
      i2c: Congatec Board Controller i2c bus driver
      watchdog: Congatec Board Controller watchdog timer driver
      MAINTAINERS: Add entry for Congatec Board Controller

 MAINTAINERS                   |   9 +
 drivers/gpio/Kconfig          |  10 +
 drivers/gpio/Makefile         |   1 +
 drivers/gpio/gpio-cgbc.c      | 196 ++++++++++++++++++++
 drivers/i2c/busses/Kconfig    |  10 +
 drivers/i2c/busses/Makefile   |   1 +
 drivers/i2c/busses/i2c-cgbc.c | 406 +++++++++++++++++++++++++++++++++++++++++
 drivers/mfd/Kconfig           |  12 ++
 drivers/mfd/Makefile          |   1 +
 drivers/mfd/cgbc-core.c       | 411 ++++++++++++++++++++++++++++++++++++++++++
 drivers/watchdog/Kconfig      |  10 +
 drivers/watchdog/Makefile     |   1 +
 drivers/watchdog/cgbc_wdt.c   | 211 ++++++++++++++++++++++
 include/linux/mfd/cgbc.h      |  44 +++++
 14 files changed, 1323 insertions(+)
---
base-commit: 83d650136610d87d8ed0626c178ed18879b69564
change-id: 20240503-congatec-board-controller-82c6b84cd4ea

Best regards,
-- 
Thomas Richard <thomas.richard@bootlin.com>