[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7053dfed-5eff-7182-bc85-0437a4074c82@linux.intel.com>
Date: Tue, 18 Nov 2025 11:41:37 +0200 (EET)
From: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
To: Manivannan Sadhasivam <manivannan.sadhasivam@....qualcomm.com>
cc: Rob Herring <robh@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Jiri Slaby <jirislaby@...nel.org>, Nathan Chancellor <nathan@...nel.org>,
Nicolas Schier <nicolas.schier@...ux.dev>,
Hans de Goede <hansg@...nel.org>, Mark Pearson <mpearson-lenovo@...ebb.ca>,
"Derek J. Clark" <derekjohn.clark@...il.com>,
Manivannan Sadhasivam <mani@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Marcel Holtmann <marcel@...tmann.org>,
Luiz Augusto von Dentz <luiz.dentz@...il.com>,
Bartosz Golaszewski <brgl@...ev.pl>,
linux-serial <linux-serial@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>, linux-kbuild@...r.kernel.org,
platform-driver-x86@...r.kernel.org, linux-pci@...r.kernel.org,
devicetree@...r.kernel.org, linux-arm-msm@...r.kernel.org,
linux-bluetooth@...r.kernel.org, linux-pm@...r.kernel.org,
Stephan Gerhold <stephan.gerhold@...aro.org>,
Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
Subject: Re: [PATCH 3/9] serdev: Allow passing the serdev device name to
serdev_device_add()
On Wed, 12 Nov 2025, Manivannan Sadhasivam via B4 Relay wrote:
> From: Manivannan Sadhasivam <manivannan.sadhasivam@....qualcomm.com>
>
> Instead of always setting the serdev device name from 'struct device' name,
> allow the callers to pass an optional name and set it as the serdev device
> name.
>
> This will be used by the future callers passing the serdev device ID as the
> name.
>
> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@....qualcomm.com>
> ---
> drivers/platform/x86/dell/dell-uart-backlight.c | 2 +-
> .../platform/x86/lenovo/yoga-tab2-pro-1380-fastcharger.c | 2 +-
> drivers/platform/x86/x86-android-tablets/core.c | 2 +-
> drivers/tty/serdev/core.c | 13 +++++++++----
> include/linux/serdev.h | 2 +-
> 5 files changed, 13 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/platform/x86/dell/dell-uart-backlight.c b/drivers/platform/x86/dell/dell-uart-backlight.c
> index f323a667dc2d2c7dec9fb284515bc3b6b984b7b9..f076cfac2bc5ec14899d6622d084bae2ffecfa3c 100644
> --- a/drivers/platform/x86/dell/dell-uart-backlight.c
> +++ b/drivers/platform/x86/dell/dell-uart-backlight.c
> @@ -354,7 +354,7 @@ static int dell_uart_bl_pdev_probe(struct platform_device *pdev)
> if (!serdev)
> return -ENOMEM;
>
> - ret = serdev_device_add(serdev);
> + ret = serdev_device_add(serdev, NULL);
> if (ret) {
> dev_err(&pdev->dev, "error %d adding serdev\n", ret);
> serdev_device_put(serdev);
> diff --git a/drivers/platform/x86/lenovo/yoga-tab2-pro-1380-fastcharger.c b/drivers/platform/x86/lenovo/yoga-tab2-pro-1380-fastcharger.c
> index 8551ab4d2c7dbc3a8d0b2f50071d4460a3ee65e9..5e568fe1162d1563183713f8d5c71c59ff7667a1 100644
> --- a/drivers/platform/x86/lenovo/yoga-tab2-pro-1380-fastcharger.c
> +++ b/drivers/platform/x86/lenovo/yoga-tab2-pro-1380-fastcharger.c
> @@ -260,7 +260,7 @@ static int yt2_1380_fc_pdev_probe(struct platform_device *pdev)
> /* The fwnode is a managed node, so it will be auto-put on serdev_device_put() */
> fwnode_handle_get(dev_fwnode(&serdev->dev));
>
> - ret = serdev_device_add(serdev);
> + ret = serdev_device_add(serdev, NULL);
> if (ret) {
> serdev_device_put(serdev);
> return dev_err_probe(&pdev->dev, ret, "adding serdev\n");
> diff --git a/drivers/platform/x86/x86-android-tablets/core.c b/drivers/platform/x86/x86-android-tablets/core.c
> index 6588fae303562b7dc9a1a8d281b167e44f0d3e84..96140f5d4f79240f44cb4530ee63777f783c6aaf 100644
> --- a/drivers/platform/x86/x86-android-tablets/core.c
> +++ b/drivers/platform/x86/x86-android-tablets/core.c
> @@ -316,7 +316,7 @@ static __init int x86_instantiate_serdev(const struct x86_dev_info *dev_info, in
> ACPI_COMPANION_SET(&serdev->dev, serdev_adev);
> acpi_device_set_enumerated(serdev_adev);
>
> - ret = serdev_device_add(serdev);
> + ret = serdev_device_add(serdev, NULL);
> if (ret) {
> dev_err(&serdev->dev, "error %d adding serdev\n", ret);
> serdev_device_put(serdev);
> diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c
> index 2b5582cd5063a87c9a6c99f83a8ab071637eae57..76b89dd0720f89dbe34e205b905ef24d9f94d770 100644
> --- a/drivers/tty/serdev/core.c
> +++ b/drivers/tty/serdev/core.c
> @@ -121,14 +121,19 @@ static int serdev_device_match(struct device *dev, const struct device_driver *d
> /**
> * serdev_device_add() - add a device previously constructed via serdev_device_alloc()
> * @serdev: serdev_device to be added
> + * @name: name of the serdev device (optional)
> */
> -int serdev_device_add(struct serdev_device *serdev)
> +int serdev_device_add(struct serdev_device *serdev, const char *name)
> +
> {
> struct serdev_controller *ctrl = serdev->ctrl;
> struct device *parent = serdev->dev.parent;
> int err;
>
> - dev_set_name(&serdev->dev, "%s-%d", dev_name(parent), serdev->nr);
> + if (name)
> + dev_set_name(&serdev->dev, "%s", name);
> + else
> + dev_set_name(&serdev->dev, "%s-%d", dev_name(parent), serdev->nr);
>
> /* Only a single slave device is currently supported. */
> if (ctrl->serdev) {
> @@ -544,7 +549,7 @@ static int of_serdev_register_devices(struct serdev_controller *ctrl)
>
> device_set_node(&serdev->dev, of_fwnode_handle(node));
>
> - err = serdev_device_add(serdev);
> + err = serdev_device_add(serdev, NULL);
> if (err) {
> dev_err(&serdev->dev,
> "failure adding device. status %pe\n",
> @@ -692,7 +697,7 @@ static acpi_status acpi_serdev_register_device(struct serdev_controller *ctrl,
> ACPI_COMPANION_SET(&serdev->dev, adev);
> acpi_device_set_enumerated(adev);
>
> - err = serdev_device_add(serdev);
> + err = serdev_device_add(serdev, NULL);
> if (err) {
> dev_err(&serdev->dev,
> "failure adding ACPI serdev device. status %pe\n",
> diff --git a/include/linux/serdev.h b/include/linux/serdev.h
> index ee42e293445d928a311bd3c120e609214f89a5dd..3b87909b199af74d619b4fe548c5c9c994e7bc15 100644
> --- a/include/linux/serdev.h
> +++ b/include/linux/serdev.h
> @@ -163,7 +163,7 @@ static inline void serdev_controller_put(struct serdev_controller *ctrl)
> }
>
> struct serdev_device *serdev_device_alloc(struct serdev_controller *);
> -int serdev_device_add(struct serdev_device *);
> +int serdev_device_add(struct serdev_device *serdev, const char *name);
> void serdev_device_remove(struct serdev_device *);
>
> struct serdev_controller *serdev_controller_alloc(struct device *host,
>
>
Acked-by: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
--
i.
Powered by blists - more mailing lists