public inbox for rust-for-linux@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/4] Introduce Synology Microp driver
@ 2026-03-29 18:02 Markus Probst via B4 Relay
  2026-03-29 18:02 ` [PATCH v5 1/4] dt-bindings: embedded-controller: Add synology microp devices Markus Probst via B4 Relay
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Markus Probst via B4 Relay @ 2026-03-29 18:02 UTC (permalink / raw)
  To: Hans de Goede, Ilpo Järvinen, Bryan O'Donoghue,
	Lee Jones, Pavel Machek, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Miguel Ojeda, Boqun Feng, Gary Guo,
	Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
	Trevor Gross, Danilo Krummrich, Greg Kroah-Hartman,
	Rafael J. Wysocki, Len Brown, Saravana Kannan
  Cc: platform-driver-x86, linux-leds, devicetree, linux-kernel,
	rust-for-linux, linux-acpi, Markus Probst

Synology uses a microcontroller in their NAS devices connected to a
serial port to control certain LEDs, fan speeds, a beeper, to handle
proper shutdown and restart, buttons and fan failures.

This patch series depends on the rust led abstraction [1] and the rust
serdev abstraction [2].

This is only a initial version of the driver able to control LEDs.
The following rust abstractions would be required, to implement the
remaining features:
- hwmon (include/linux/hwmon.h)
- input (include/linux/input.h)
- sysoff handler + hardware protection shutdown (include/linux/reboot.h)

[1] https://lore.kernel.org/rust-for-linux/20260329-rust_leds-v13-0-21a599c5b2d1@posteo.de/
[2] https://lore.kernel.org/rust-for-linux/20260313-rust_serdev-v3-0-c9a3af214f7f@posteo.de/

Signed-off-by: Markus Probst <markus.probst@posteo.de>
---
Changes in v5:
- add esata led support
- use different compatible for each model
- add visibility modifier to of_device_table macro
- fix match data missing when using PRP0001
- Link to v4: https://lore.kernel.org/r/20260320-synology_microp_initial-v4-0-0423ddb83ca4@posteo.de

Changes in v4:
- convert to monolithic driver and moved it into drivers/platform
- removed mfd rust abstraction
- moved dt-bindings to embedded-controller
- Link to v3: https://lore.kernel.org/r/20260313-synology_microp_initial-v3-0-ad6ac463a201@posteo.de

Changes in v3:
- remove `default n` from Kconfig entry, as n is the default already.
- select RUST_SERIAL_DEV_BUS_ABSTRACTIONS in Kconfig
- add mfd rust abstraction
- split core and led parts into their own driver. It should now be considered a
  MFD device.
- split led part of dt binding into its own file
- Link to v2: https://lore.kernel.org/r/20260308-synology_microp_initial-v2-0-9389963f31c5@posteo.de

Changes in v2:
- fix missing tabs in MAINTAINERS file
- remove word binding from patch subject
- add missing signed-off-by
- add missing help entry in Kconfig
- add missing spdx license headers
- remove no-check{,-cpu}-fan properties from the dt-bindings and replace
  them with the check_fan module parameter
- use patternProperties for leds in dt-bindings
- license dt-binding as GPL-2.0-only OR BSD-2-Clause
- move driver from staging tree into mfd tree and mark it as work in
  progress inside Kconfig
- only register alert and usb led if fwnode is present
- Link to v1: https://lore.kernel.org/r/20260306-synology_microp_initial-v1-0-fcffede6448c@posteo.de

---
Markus Probst (4):
      dt-bindings: embedded-controller: Add synology microp devices
      ACPI: of: match PRP0001 in of_match_device
      rust: add visibility to of_device_table macro
      platform: Add initial synology microp driver

 .../synology,ds923p-microp.yaml                    |  65 +++++
 MAINTAINERS                                        |   6 +
 drivers/acpi/bus.c                                 |   7 +-
 drivers/of/device.c                                |   9 +-
 drivers/platform/Kconfig                           |   2 +
 drivers/platform/Makefile                          |   1 +
 drivers/platform/synology_microp/Kconfig           |  13 +
 drivers/platform/synology_microp/Makefile          |   3 +
 drivers/platform/synology_microp/TODO              |   7 +
 drivers/platform/synology_microp/command.rs        |  55 ++++
 drivers/platform/synology_microp/led.rs            | 276 +++++++++++++++++++++
 drivers/platform/synology_microp/model.rs          | 171 +++++++++++++
 .../platform/synology_microp/synology_microp.rs    |  54 ++++
 include/linux/acpi.h                               |  11 +
 rust/kernel/of.rs                                  |   5 +-
 15 files changed, 678 insertions(+), 7 deletions(-)
---
base-commit: d1d81e9d1a4dd846aee9ae77ff9ecc2800d72148
change-id: 20260306-synology_microp_initial-0f7dac7b7496
prerequisite-change-id: 20251217-rust_serdev-ee5481e9085c:v3
prerequisite-patch-id: 52b17274481cc770c257d8f95335293eca32a2c5
prerequisite-patch-id: eec47e5051640d08bcd34a9670b98804449cad52
prerequisite-patch-id: f24b68c71c3f69371e8ac0251efca0a023b31cc4
prerequisite-patch-id: 3dfc1f7e5ecd3e0dd65d676aeb16f55260847b25
prerequisite-change-id: 20251114-rust_leds-a959f7c2f7f9:v13
prerequisite-patch-id: 818700f22dcb9676157c985f82762d7c607b861e
prerequisite-patch-id: b15ffa7d95d9260151bfb116b259c4473f721c82
prerequisite-patch-id: 8c47e0d107530f577a1be0b79f8ee791f95d3cbe



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

end of thread, other threads:[~2026-03-30 23:38 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-29 18:02 [PATCH v5 0/4] Introduce Synology Microp driver Markus Probst via B4 Relay
2026-03-29 18:02 ` [PATCH v5 1/4] dt-bindings: embedded-controller: Add synology microp devices Markus Probst via B4 Relay
2026-03-30  6:51   ` Krzysztof Kozlowski
2026-03-30 23:38     ` Markus Probst
2026-03-29 18:02 ` [PATCH v5 2/4] ACPI: of: match PRP0001 in of_match_device Markus Probst via B4 Relay
2026-03-30  7:00   ` Krzysztof Kozlowski
2026-03-30 19:04     ` Markus Probst
2026-03-30 19:22       ` Rob Herring
2026-03-30 19:24         ` Markus Probst
2026-03-29 18:02 ` [PATCH v5 3/4] rust: add visibility to of_device_table macro Markus Probst via B4 Relay
2026-03-30  7:02   ` Krzysztof Kozlowski
2026-03-29 18:02 ` [PATCH v5 4/4] platform: Add initial synology microp driver Markus Probst via B4 Relay
2026-03-30  6:51   ` Krzysztof Kozlowski
2026-03-30 16:31     ` Conor Dooley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox