public inbox for rust-for-linux@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Danilo Krummrich <dakr@kernel.org>
Cc: "Lyude Paul" <lyude@redhat.com>,
	rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org,
	"Maíra Canal" <mairacanal@riseup.net>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	"Jonathan Cameron" <Jonathan.Cameron@huawei.com>,
	"Zijun Hu" <quic_zijuhu@quicinc.com>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Robin Murphy" <robin.murphy@arm.com>,
	"Alexander Lobakin" <aleksander.lobakin@intel.com>,
	"Lukas Wunner" <lukas@wunner.de>,
	"Bjorn Helgaas" <bhelgaas@google.com>
Subject: Re: [RFC] driver core: add a virtual bus for use when a simple device/bus is needed
Date: Mon, 3 Feb 2025 11:02:27 +0100	[thread overview]
Message-ID: <2025020311-elderly-struck-1d26@gregkh> (raw)
In-Reply-To: <2025020306-overhang-glider-7d42@gregkh>

On Mon, Feb 03, 2025 at 10:39:58AM +0100, Greg Kroah-Hartman wrote:
> --- a/drivers/regulator/dummy.c
> +++ b/drivers/regulator/dummy.c
> @@ -13,7 +13,7 @@
>  
>  #include <linux/err.h>
>  #include <linux/export.h>
> -#include <linux/platform_device.h>
> +#include <linux/device/virtual.h>
>  #include <linux/regulator/driver.h>
>  #include <linux/regulator/machine.h>
>  
> @@ -37,15 +37,15 @@ static const struct regulator_desc dummy_desc = {
>  	.ops = &dummy_ops,
>  };
>  
> -static int dummy_regulator_probe(struct platform_device *pdev)
> +static int dummy_regulator_probe(struct virtual_device *vdev)
>  {
>  	struct regulator_config config = { };
>  	int ret;
>  
> -	config.dev = &pdev->dev;
> +	config.dev = &vdev->dev;
>  	config.init_data = &dummy_initdata;
>  
> -	dummy_regulator_rdev = devm_regulator_register(&pdev->dev, &dummy_desc,
> +	dummy_regulator_rdev = devm_regulator_register(&vdev->dev, &dummy_desc,
>  						       &config);
>  	if (IS_ERR(dummy_regulator_rdev)) {
>  		ret = PTR_ERR(dummy_regulator_rdev);
> @@ -56,36 +56,17 @@ static int dummy_regulator_probe(struct platform_device *pdev)
>  	return 0;
>  }
>  
> -static struct platform_driver dummy_regulator_driver = {
> +struct virtual_driver_ops dummy_regulator_driver = {
>  	.probe		= dummy_regulator_probe,
> -	.driver		= {
> -		.name		= "reg-dummy",
> -		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
> -	},
>  };
>  
> -static struct platform_device *dummy_pdev;
> +static struct virtual_device *dummy_vdev;
>  
>  void __init regulator_dummy_init(void)
>  {
> -	int ret;
> -
> -	dummy_pdev = platform_device_alloc("reg-dummy", -1);
> -	if (!dummy_pdev) {
> +	dummy_vdev = virtual_device_create(&dummy_regulator_driver, "reg-dummy");
> +	if (!dummy_vdev) {

I originally was thinking that many platform_device_alloc() calls could
be replaced with this, but in looking further, I think we can get rid of
almost all calls to platform_device_register_simple() with this api
instead, including most of the use of that in the drm tree where all
that is being used is the device structure and not the platform one at
all.

I'll dig into that later today...

thanks,

greg k-h

  reply	other threads:[~2025-02-03 10:03 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-22 23:49 [PATCH 0/2] rust/kernel: Add bindings for manually creating devices Lyude Paul
2025-01-22 23:49 ` [PATCH 1/2] rust/kernel: Add platform::Device::from_raw() Lyude Paul
2025-01-28 14:35   ` Alice Ryhl
2025-01-22 23:49 ` [PATCH 2/2] rust/kernel: Add platform::ModuleDevice Lyude Paul
2025-01-23  6:23   ` Greg Kroah-Hartman
2025-01-23 10:21     ` Danilo Krummrich
2025-01-23 14:17       ` Greg Kroah-Hartman
2025-01-24 10:52         ` Danilo Krummrich
2025-01-30 21:28           ` [PATCH] WIP: drivers/base: Add virtual_device_create() Lyude Paul
2025-01-30 21:58             ` Lyude Paul
2025-02-01  8:32               ` Greg Kroah-Hartman
2025-01-31  3:34             ` kernel test robot
2025-01-31  8:00             ` Greg Kroah-Hartman
2025-01-31 16:40               ` Greg Kroah-Hartman
2025-01-31 18:43                 ` Danilo Krummrich
2025-02-01  8:00                   ` Greg Kroah-Hartman
2025-02-03  9:39                     ` [RFC] driver core: add a virtual bus for use when a simple device/bus is needed Greg Kroah-Hartman
2025-02-03 10:02                       ` Greg Kroah-Hartman [this message]
2025-02-03 11:01                       ` Danilo Krummrich
2025-02-03 11:25                         ` Greg Kroah-Hartman
2025-02-03 14:33                           ` Greg Kroah-Hartman
2025-02-03 15:32                             ` Simona Vetter
2025-02-03 15:38                               ` Greg Kroah-Hartman
2025-02-03 22:45                             ` Lyude Paul
2025-02-03 21:13                           ` Danilo Krummrich
2025-02-04  6:05                             ` Greg Kroah-Hartman
2025-02-03  9:45                     ` [PATCH] WIP: drivers/base: Add virtual_device_create() Simona Vetter
2025-02-03  9:51                       ` Greg Kroah-Hartman
2025-01-31 16:42               ` Simona Vetter
2025-01-31 10:43             ` Andy Shevchenko
2025-01-24  0:33     ` [PATCH 2/2] rust/kernel: Add platform::ModuleDevice Lyude Paul
2025-01-24 11:02       ` Danilo Krummrich
2025-01-31 16:41         ` Simona Vetter
2025-01-24 21:19       ` Lyude Paul

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2025020311-elderly-struck-1d26@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=aleksander.lobakin@intel.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=bhelgaas@google.com \
    --cc=dakr@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lukas@wunner.de \
    --cc=lyude@redhat.com \
    --cc=mairacanal@riseup.net \
    --cc=quic_zijuhu@quicinc.com \
    --cc=rafael@kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=rust-for-linux@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox