[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250211-aux-device-create-helper-v3-0-7edb50524909@baylibre.com>
Date: Tue, 11 Feb 2025 18:27:56 +0100
From: Jerome Brunet <jbrunet@...libre.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Dave Ertman <david.m.ertman@...el.com>,
Ira Weiny <ira.weiny@...el.com>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Stephen Boyd <sboyd@...nel.org>,
Arnd Bergmann <arnd@...db.de>,
Danilo Krummrich <dakr@...nel.org>,
Conor Dooley <conor.dooley@...rochip.com>,
Daire McNamara <daire.mcnamara@...rochip.com>,
Philipp Zabel <p.zabel@...gutronix.de>,
Douglas Anderson <dianders@...omium.org>,
Andrzej Hajda <andrzej.hajda@...el.com>,
Neil Armstrong <neil.armstrong@...aro.org>,
Robert Foss <rfoss@...nel.org>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
Jonas Karlman <jonas@...boo.se>,
Jernej Skrabec <jernej.skrabec@...il.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>,
Simona Vetter <simona@...ll.ch>,
Hans de Goede <hdegoede@...hat.com>,
Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
Bryan O'Donoghue <bryan.odonoghue@...aro.org>,
Vladimir Kondratiev <vladimir.kondratiev@...ileye.com>,
Gregory CLEMENT <gregory.clement@...tlin.com>,
Théo Lebrun <theo.lebrun@...tlin.com>,
Michael Turquette <mturquette@...libre.com>,
Abel Vesa <abelvesa@...nel.org>,
Peng Fan <peng.fan@....com>,
Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>,
Kevin Hilman <khilman@...libre.com>,
Martin Blumenstingl <martin.blumenstingl@...glemail.com>
Cc: Jerome Brunet <jbrunet@...libre.com>,
linux-kernel@...r.kernel.org,
linux-riscv@...ts.infradead.org,
dri-devel@...ts.freedesktop.org,
platform-driver-x86@...r.kernel.org,
linux-mips@...r.kernel.org,
linux-clk@...r.kernel.org,
imx@...ts.linux.dev,
linux-arm-kernel@...ts.infradead.org,
linux-amlogic@...ts.infradead.org
Subject: [PATCH v3 0/7] driver core: auxiliary bus: add device creation helper
The suggestion for this change was initially discussed here: [1]
This patchset adds and use a helper to create a simple auxiliary device.
The goal is to remove boilerplate code that tends to get repeated for
simple cases.
Only the last change was tested on actual HW. The other usage of the helper
have only been compile tested with x64_64 allmodconfig. There are many other
simple cases of auxiliary device creation but those tend to use the
'container_of' trick to allocate the auxiliary device. It is possible to
convert these drivers to use the provided helper but the conversion is
slightly more complex.
[1]: https://lore.kernel.org/linux-clk/df0a53ee859e450d84e81547099f5f36.sboyd@kernel.org
Changes in v3:
- Implement Ira's suggestion to use KBUILD_MODNAME by default, same as
auxiliary_driver_register()
- Link to v2: https://lore.kernel.org/r/20250206-aux-device-create-helper-v2-0-fa6a0f326527@baylibre.com
Changes in v2:
- Add usage examples, as requested.
- Add 'id' as function parameter: Adding the example usage showed that
handling IDA allocation was not appropriate and making the usage more
complex for simple use case.
- Also add 'modname' as parameter: Most driver have been using
KBUILD_MODNAME and this actually rarely align with the driver name.
- Link to v1: https://lore.kernel.org/r/20241210-aux-device-create-helper-v1-1-5887f4d89308@baylibre.com
Signed-off-by: Jerome Brunet <jbrunet@...libre.com>
---
Jerome Brunet (7):
driver core: auxiliary bus: add device creation helpers
reset: mpfs: use the auxiliary device creation helper
drm/bridge: ti-sn65dsi86: use the auxiliary device creation helper
platform: arm64: lenovo-yoga-c630: use the auxiliary device creation helper
clk: eyeq: use the auxiliary device creation helper
clk: clk-imx8mp-audiomix: use the auxiliary device creation helper
clk: amlogic: axg-audio: use the auxiliary reset driver - take 2
drivers/base/auxiliary.c | 88 +++++++++++++++++++++++
drivers/clk/clk-eyeq.c | 57 ++++-----------
drivers/clk/imx/clk-imx8mp-audiomix.c | 56 ++-------------
drivers/clk/meson/Kconfig | 2 +-
drivers/clk/meson/axg-audio.c | 114 ++++--------------------------
drivers/gpu/drm/bridge/ti-sn65dsi86.c | 84 ++++++----------------
drivers/platform/arm64/lenovo-yoga-c630.c | 42 ++---------
drivers/reset/reset-mpfs.c | 52 +-------------
include/linux/auxiliary_bus.h | 10 +++
9 files changed, 157 insertions(+), 348 deletions(-)
---
base-commit: 2014c95afecee3e76ca4a56956a936e23283f05b
change-id: 20241210-aux-device-create-helper-93141524e523
Best regards,
--
Jerome
Powered by blists - more mailing lists