rust-for-linux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Zimmermann <tzimmermann@suse.de>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org, Lyude Paul <lyude@redhat.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Danilo Krummrich <dakr@kernel.org>
Cc: "Alexander Lobakin" <aleksander.lobakin@intel.com>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	"Jonathan Cameron" <Jonathan.Cameron@huawei.com>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Lukas Wunner" <lukas@wunner.de>,
	"Mark Brown" <broonie@kernel.org>,
	"Maíra Canal" <mairacanal@riseup.net>,
	"Robin Murphy" <robin.murphy@arm.com>,
	"Simona Vetter" <simona.vetter@ffwll.ch>,
	"Zijun Hu" <quic_zijuhu@quicinc.com>,
	linux-usb@vger.kernel.org, rust-for-linux@vger.kernel.org,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"David Airlie" <airlied@gmail.com>,
	"Simona Vetter" <simona@ffwll.ch>,
	dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v4 8/9] drm/vgem/vgem_drv convert to use faux_device
Date: Wed, 26 Feb 2025 09:18:35 +0100	[thread overview]
Message-ID: <08b1a062-739d-4db6-95a3-11e5ebe8623f@suse.de> (raw)
In-Reply-To: <0e6817b1-d52e-407f-bdb9-93919f849edc@suse.de>



Am 25.02.25 um 12:38 schrieb Thomas Zimmermann:
> Hi
>
> Am 10.02.25 um 13:30 schrieb Greg Kroah-Hartman:
>> The vgem driver does not need to create a platform device, as there is
>> no real platform resources associated it,  it only did so because it was
>> simple to do that in order to get a device to use for resource
>> management of drm resources.  Change the driver to use the faux device
>> instead as this is NOT a real platform device.
>>
>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> Cc: Maxime Ripard <mripard@kernel.org>
>> Cc: Thomas Zimmermann <tzimmermann@suse.de>
>> Cc: David Airlie <airlied@gmail.com>
>> Cc: Simona Vetter <simona@ffwll.ch>
>> Cc: dri-devel@lists.freedesktop.org
>> Reviewed-by: Lyude Paul <lyude@redhat.com>
>> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>
> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
>
> Should this patch be merged through DRM trees?

Louis mentioned that the vkms patch will goes through DRM. If no one 
objects, I'll merge this patch there as well.

Best regards
Thomas

>
> Best regards
> Thomas
>
>> ---
>> v4: - api tweaked due to parent pointer added to faux_device create
>>        function.
>>   v3: new patch in the series.  For an example of the api working, does
>>       not have to be merged at this time, but I can take it if the
>>       maintainers give an ack.
>>   drivers/gpu/drm/vgem/vgem_drv.c | 30 +++++++++++++++---------------
>>   1 file changed, 15 insertions(+), 15 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/vgem/vgem_drv.c 
>> b/drivers/gpu/drm/vgem/vgem_drv.c
>> index 2752ab4f1c97..260c64733972 100644
>> --- a/drivers/gpu/drm/vgem/vgem_drv.c
>> +++ b/drivers/gpu/drm/vgem/vgem_drv.c
>> @@ -32,7 +32,7 @@
>>     #include <linux/dma-buf.h>
>>   #include <linux/module.h>
>> -#include <linux/platform_device.h>
>> +#include <linux/device/faux.h>
>>   #include <linux/shmem_fs.h>
>>   #include <linux/vmalloc.h>
>>   @@ -52,7 +52,7 @@
>>     static struct vgem_device {
>>       struct drm_device drm;
>> -    struct platform_device *platform;
>> +    struct faux_device *faux_dev;
>>   } *vgem_device;
>>     static int vgem_open(struct drm_device *dev, struct drm_file *file)
>> @@ -127,27 +127,27 @@ static const struct drm_driver vgem_driver = {
>>   static int __init vgem_init(void)
>>   {
>>       int ret;
>> -    struct platform_device *pdev;
>> +    struct faux_device *fdev;
>>   -    pdev = platform_device_register_simple("vgem", -1, NULL, 0);
>> -    if (IS_ERR(pdev))
>> -        return PTR_ERR(pdev);
>> +    fdev = faux_device_create("vgem", NULL, NULL);
>> +    if (!fdev)
>> +        return -ENODEV;
>>   -    if (!devres_open_group(&pdev->dev, NULL, GFP_KERNEL)) {
>> +    if (!devres_open_group(&fdev->dev, NULL, GFP_KERNEL)) {
>>           ret = -ENOMEM;
>>           goto out_unregister;
>>       }
>>   -    dma_coerce_mask_and_coherent(&pdev->dev,
>> +    dma_coerce_mask_and_coherent(&fdev->dev,
>>                        DMA_BIT_MASK(64));
>>   -    vgem_device = devm_drm_dev_alloc(&pdev->dev, &vgem_driver,
>> +    vgem_device = devm_drm_dev_alloc(&fdev->dev, &vgem_driver,
>>                        struct vgem_device, drm);
>>       if (IS_ERR(vgem_device)) {
>>           ret = PTR_ERR(vgem_device);
>>           goto out_devres;
>>       }
>> -    vgem_device->platform = pdev;
>> +    vgem_device->faux_dev = fdev;
>>         /* Final step: expose the device/driver to userspace */
>>       ret = drm_dev_register(&vgem_device->drm, 0);
>> @@ -157,19 +157,19 @@ static int __init vgem_init(void)
>>       return 0;
>>     out_devres:
>> -    devres_release_group(&pdev->dev, NULL);
>> +    devres_release_group(&fdev->dev, NULL);
>>   out_unregister:
>> -    platform_device_unregister(pdev);
>> +    faux_device_destroy(fdev);
>>       return ret;
>>   }
>>     static void __exit vgem_exit(void)
>>   {
>> -    struct platform_device *pdev = vgem_device->platform;
>> +    struct faux_device *fdev = vgem_device->faux_dev;
>>         drm_dev_unregister(&vgem_device->drm);
>> -    devres_release_group(&pdev->dev, NULL);
>> -    platform_device_unregister(pdev);
>> +    devres_release_group(&fdev->dev, NULL);
>> +    faux_device_destroy(fdev);
>>   }
>>     module_init(vgem_init);
>

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)


  reply	other threads:[~2025-02-26  8:18 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-10 12:30 [PATCH v4 0/9] Driver core: Add faux bus devices Greg Kroah-Hartman
2025-02-10 12:30 ` [PATCH v4 1/9] driver core: add a faux bus for use when a simple device/bus is needed Greg Kroah-Hartman
2025-02-10 14:29   ` Kurt Borja
2025-02-10 14:45     ` Greg Kroah-Hartman
2025-02-10 14:58       ` Kurt Borja
2025-02-10 15:36         ` Greg Kroah-Hartman
2025-02-10 15:52           ` Kurt Borja
2025-02-11  5:50             ` Greg Kroah-Hartman
2025-02-11 20:06             ` Lyude Paul
2025-02-11 21:57               ` Kurt Borja
2025-02-11 15:29     ` Zijun Hu
2025-02-11 15:49       ` Kurt Borja
2025-02-12  7:39         ` Greg Kroah-Hartman
2025-02-10 17:56   ` Kurt Borja
2025-02-11  7:27     ` Greg Kroah-Hartman
2025-02-11  7:33       ` Greg Kroah-Hartman
2025-02-11  7:43         ` Kurt Borja
2025-02-11  8:17           ` Greg Kroah-Hartman
2025-02-11  8:36             ` Kurt Borja
2025-02-11  2:49   ` Zijun Hu
2025-02-10 12:30 ` [PATCH v4 2/9] rust/kernel: Add faux device bindings Greg Kroah-Hartman
2025-02-10 16:32   ` Benno Lossin
2025-02-10 18:18     ` Danilo Krummrich
2025-02-11  5:52     ` Greg Kroah-Hartman
2025-02-10 18:41   ` Lyude Paul
2025-02-10 21:31   ` Danilo Krummrich
2025-02-12 14:58   ` Gary Guo
2025-02-10 12:30 ` [PATCH v4 3/9] regulator: dummy: convert to use the faux device interface Greg Kroah-Hartman
2025-02-10 12:30 ` [PATCH v4 4/9] x86/microcode: move away from using a fake platform device Greg Kroah-Hartman
2025-02-10 12:30 ` [PATCH v4 5/9] wifi: cfg80211: " Greg Kroah-Hartman
2025-02-10 12:30 ` [PATCH v4 6/9] tlclk: convert to use faux_device Greg Kroah-Hartman
2025-02-10 12:30 ` [PATCH v4 7/9] misc: lis3lv02d: " Greg Kroah-Hartman
2025-02-10 12:30 ` [PATCH v4 8/9] drm/vgem/vgem_drv " Greg Kroah-Hartman
2025-02-25 11:38   ` Thomas Zimmermann
2025-02-26  8:18     ` Thomas Zimmermann [this message]
2025-02-10 12:30 ` [PATCH v4 9/9] drm/vkms: " Greg Kroah-Hartman
2025-02-10 14:37   ` Louis Chauvet
2025-02-10 14:49     ` Greg Kroah-Hartman
2025-02-25 11:41     ` Thomas Zimmermann
2025-02-25 13:51       ` Louis Chauvet
2025-02-26 10:07         ` Greg Kroah-Hartman
2025-03-11 17:20           ` José Expósito
2025-03-11 17:24             ` José Expósito
2025-03-12  6:22             ` Greg KH
2025-03-13 14:22               ` Simona Vetter
2025-03-13 17:20                 ` José Expósito
2025-06-13  8:15                   ` Thomas Zimmermann
2025-06-13 11:55                     ` José Expósito
2025-06-13 12:33                       ` Thomas Zimmermann
2025-06-13 15:28                         ` José Expósito
2025-06-13 15:39                           ` Thomas Zimmermann
2025-02-27 13:06 ` [PATCH v4 0/9] Driver core: Add faux bus devices Louis Chauvet
2025-02-27 15:18   ` Andy Shevchenko
2025-02-27 15:30   ` Greg Kroah-Hartman
2025-02-28 10:38     ` Simona Vetter
2025-02-28 11:27   ` José Expósito

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=08b1a062-739d-4db6-95a3-11e5ebe8623f@suse.de \
    --to=tzimmermann@suse.de \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=airlied@gmail.com \
    --cc=aleksander.lobakin@intel.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=bhelgaas@google.com \
    --cc=broonie@kernel.org \
    --cc=dakr@kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=lukas@wunner.de \
    --cc=lyude@redhat.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mairacanal@riseup.net \
    --cc=mripard@kernel.org \
    --cc=quic_zijuhu@quicinc.com \
    --cc=rafael@kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=simona.vetter@ffwll.ch \
    --cc=simona@ffwll.ch \
    /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;
as well as URLs for NNTP newsgroup(s).