All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 00/11] Add support for MAX7360
@ 2025-03-18 16:26 Mathieu Dubois-Briand
  2025-03-18 16:26 ` [PATCH v5 01/11] dt-bindings: mfd: gpio: Add MAX7360 Mathieu Dubois-Briand
                   ` (11 more replies)
  0 siblings, 12 replies; 69+ messages in thread
From: Mathieu Dubois-Briand @ 2025-03-18 16:26 UTC (permalink / raw)
  To: Lee Jones, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Kamel Bouhara, Linus Walleij, Bartosz Golaszewski,
	Dmitry Torokhov, Uwe Kleine-König, Michael Walle, Mark Brown,
	Greg Kroah-Hartman, Rafael J. Wysocki, Danilo Krummrich
  Cc: devicetree, linux-kernel, linux-gpio, linux-input, linux-pwm,
	andriy.shevchenko, Grégory Clement, Thomas Petazzoni,
	Mathieu Dubois-Briand

This series implements a set of drivers allowing to support the Maxim
Integrated MAX7360 device.

The MAX7360 is an I2C key-switch and led controller, with following
functionalities:
- Keypad controller for a key matrix of up to 8 rows and 8 columns.
- Rotary encoder support, for a single rotary encoder.
- Up to 8 PWM outputs.
- Up to 8 GPIOs with support for interrupts and 6 GPOs.

Chipset pins are shared between all functionalities, so all cannot be
used at the same time.

Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
---
Changes in v5:
- Add pinctrl driver to replace the previous use of request()/free()
  callbacks for PORT pins.
- Remove ngpios property from GPIO device tree bindings.
- Use GPIO valid_mask to mark unusable keypad columns GPOs, instead of
  changing ngpios.
- Drop patches adding support for request()/free() callbacks in GPIO
  regmap and gpio_regmap_get_ngpio().
- Allow gpio_regmap_register() to create the associated regmap IRQ.
- Various fixes in MFD, PWM, GPIO and KEYPAD drivers.
- Link to v4: https://lore.kernel.org/r/20250214-mdb-max7360-support-v4-0-8a35c6dbb966@bootlin.com

Changes in v4:
- Modified the GPIO driver to use gpio-regmap and regmap-irq.
- Add support for request()/free() callbacks in gpio-regmap.
- Add support for status_is_level in regmap-irq.
- Switched the PWM driver to waveform callbacks.
- Various small fixes in MFD, PWM, GPIO drivers and dt bindings.
- Rebased on v6.14-rc2.
- Link to v3: https://lore.kernel.org/r/20250113-mdb-max7360-support-v3-0-9519b4acb0b1@bootlin.com

Changes in v3:
- Fix MFD device tree binding to add gpio child nodes.
- Fix various small issues in device tree bindings.
- Add missing line returns in error messages.
- Use dev_err_probe() when possible.
- Link to v2: https://lore.kernel.org/r/20241223-mdb-max7360-support-v2-0-37a8d22c36ed@bootlin.com

Changes in v2:
- Removing device tree subnodes for keypad, rotary encoder and pwm
  functionalities.
- Fixed dt-bindings syntax and naming.
- Fixed missing handling of requested period in PWM driver.
- Cleanup of the code
- Link to v1: https://lore.kernel.org/r/20241219-mdb-max7360-support-v1-0-8e8317584121@bootlin.com

---
Kamel Bouhara (2):
      mfd: Add max7360 support
      pwm: max7360: Add MAX7360 PWM support

Mathieu Dubois-Briand (9):
      dt-bindings: mfd: gpio: Add MAX7360
      pinctrl: Add MAX7360 pinctrl driver
      regmap: irq: Add support for chips without separate IRQ status
      gpio: regmap: Allow to allocate regmap-irq device
      gpio: regmap: Allow to provide init_valid_mask callback
      gpio: max7360: Add MAX7360 gpio support
      input: keyboard: Add support for MAX7360 keypad
      input: misc: Add support for MAX7360 rotary
      MAINTAINERS: Add entry on MAX7360 driver

 .../bindings/gpio/maxim,max7360-gpio.yaml          |  83 +++++++
 .../devicetree/bindings/mfd/maxim,max7360.yaml     | 170 +++++++++++++
 MAINTAINERS                                        |  13 +
 drivers/base/regmap/regmap-irq.c                   |  97 +++++---
 drivers/gpio/Kconfig                               |  12 +
 drivers/gpio/Makefile                              |   1 +
 drivers/gpio/gpio-max7360.c                        | 246 +++++++++++++++++++
 drivers/gpio/gpio-regmap.c                         |  26 +-
 drivers/input/keyboard/Kconfig                     |  12 +
 drivers/input/keyboard/Makefile                    |   1 +
 drivers/input/keyboard/max7360-keypad.c            | 264 +++++++++++++++++++++
 drivers/input/misc/Kconfig                         |  11 +
 drivers/input/misc/Makefile                        |   1 +
 drivers/input/misc/max7360-rotary.c                | 161 +++++++++++++
 drivers/mfd/Kconfig                                |  14 ++
 drivers/mfd/Makefile                               |   1 +
 drivers/mfd/max7360.c                              | 185 +++++++++++++++
 drivers/pinctrl/Kconfig                            |  11 +
 drivers/pinctrl/Makefile                           |   1 +
 drivers/pinctrl/pinctrl-max7360.c                  | 195 +++++++++++++++
 drivers/pwm/Kconfig                                |  11 +
 drivers/pwm/Makefile                               |   1 +
 drivers/pwm/pwm-max7360.c                          | 194 +++++++++++++++
 include/linux/gpio/regmap.h                        |  22 ++
 include/linux/mfd/max7360.h                        | 112 +++++++++
 include/linux/regmap.h                             |   3 +
 26 files changed, 1813 insertions(+), 35 deletions(-)
---
base-commit: a64dcfb451e254085a7daee5fe51bf22959d52d3
change-id: 20241219-mdb-max7360-support-223a8ce45ba3

Best regards,
-- 
Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>


^ permalink raw reply	[flat|nested] 69+ messages in thread

end of thread, other threads:[~2025-03-31  8:48 UTC | newest]

Thread overview: 69+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-18 16:26 [PATCH v5 00/11] Add support for MAX7360 Mathieu Dubois-Briand
2025-03-18 16:26 ` [PATCH v5 01/11] dt-bindings: mfd: gpio: Add MAX7360 Mathieu Dubois-Briand
2025-03-18 17:39   ` Rob Herring
2025-03-19 16:43     ` Mathieu Dubois-Briand
2025-03-31  8:47   ` Mathieu Dubois-Briand
2025-03-18 16:26 ` [PATCH v5 02/11] mfd: Add max7360 support mathieu.dubois-briand
2025-03-19 11:10   ` Andy Shevchenko
2025-03-25 16:26     ` Mathieu Dubois-Briand
2025-03-25 16:40       ` Andy Shevchenko
2025-03-18 16:26 ` [PATCH v5 03/11] pinctrl: Add MAX7360 pinctrl driver Mathieu Dubois-Briand
2025-03-19 11:13   ` Linus Walleij
2025-03-19 11:35   ` Andy Shevchenko
2025-03-18 16:26 ` [PATCH v5 04/11] pwm: max7360: Add MAX7360 PWM support mathieu.dubois-briand
2025-03-19 11:18   ` Andy Shevchenko
2025-03-20  7:50     ` Uwe Kleine-König
2025-03-20 10:48       ` Andy Shevchenko
2025-03-25 14:37         ` Mathieu Dubois-Briand
2025-03-25 15:56           ` Andy Shevchenko
2025-03-26 14:44             ` Mathieu Dubois-Briand
2025-03-26 15:49               ` Andy Shevchenko
2025-03-26 17:46                 ` Uwe Kleine-König
2025-03-27  9:30                   ` Andy Shevchenko
2025-03-27 14:28                 ` Mathieu Dubois-Briand
2025-03-27 17:50                   ` Andy Shevchenko
2025-03-28  8:13                     ` Mathieu Dubois-Briand
2025-03-28 12:35                       ` Andy Shevchenko
2025-03-25 14:29     ` Mathieu Dubois-Briand
2025-03-25 15:41       ` Andy Shevchenko
2025-03-19 12:57   ` kernel test robot
2025-03-20  2:25   ` kernel test robot
2025-03-18 16:26 ` [PATCH v5 05/11] regmap: irq: Add support for chips without separate IRQ status Mathieu Dubois-Briand
2025-03-18 16:39   ` Andy Shevchenko
2025-03-20  8:45     ` Mathieu Dubois-Briand
2025-03-20 11:00       ` Andy Shevchenko
2025-03-18 16:26 ` [PATCH v5 06/11] gpio: regmap: Allow to allocate regmap-irq device Mathieu Dubois-Briand
2025-03-18 16:52   ` Andy Shevchenko
2025-03-20  7:55     ` Mathieu Dubois-Briand
2025-03-20 10:50       ` Andy Shevchenko
2025-03-19  7:15   ` Michael Walle
2025-03-20  8:35     ` Mathieu Dubois-Briand
2025-03-20 10:55       ` Andy Shevchenko
2025-03-25  8:03         ` Michael Walle
2025-03-25  7:50       ` Michael Walle
2025-03-26 11:00         ` Mathieu Dubois-Briand
2025-03-28  9:23           ` Michael Walle
2025-03-18 16:26 ` [PATCH v5 07/11] gpio: regmap: Allow to provide init_valid_mask callback Mathieu Dubois-Briand
2025-03-18 16:53   ` Andy Shevchenko
2025-03-20  8:48     ` Mathieu Dubois-Briand
2025-03-19  7:02   ` Michael Walle
2025-03-20  8:49     ` Mathieu Dubois-Briand
2025-03-18 16:26 ` [PATCH v5 08/11] gpio: max7360: Add MAX7360 gpio support Mathieu Dubois-Briand
2025-03-19 11:50   ` Andy Shevchenko
2025-03-25 14:46     ` Mathieu Dubois-Briand
2025-03-25 15:57       ` Andy Shevchenko
2025-03-19 14:12   ` kernel test robot
2025-03-19 22:34   ` kernel test robot
2025-03-18 16:26 ` [PATCH v5 09/11] input: keyboard: Add support for MAX7360 keypad Mathieu Dubois-Briand
2025-03-19 12:02   ` Andy Shevchenko
2025-03-25 14:57     ` Mathieu Dubois-Briand
2025-03-25 15:58       ` Andy Shevchenko
2025-03-19 15:15   ` kernel test robot
2025-03-18 16:26 ` [PATCH v5 10/11] input: misc: Add support for MAX7360 rotary Mathieu Dubois-Briand
2025-03-19 12:11   ` Andy Shevchenko
2025-03-25 15:56     ` Mathieu Dubois-Briand
2025-03-25 16:11       ` Andy Shevchenko
2025-03-19 16:31   ` kernel test robot
2025-03-20  0:29   ` kernel test robot
2025-03-18 16:26 ` [PATCH v5 11/11] MAINTAINERS: Add entry on MAX7360 driver Mathieu Dubois-Briand
2025-03-19 12:12 ` [PATCH v5 00/11] Add support for MAX7360 Andy Shevchenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.