[PATCH 0/3] drm: Store USB device in struct drm_device
Daniel Vetter
daniel at ffwll.ch
Wed Oct 21 20:01:29 UTC 2020
On Wed, Oct 21, 2020 at 03:07:29PM +0200, Thomas Zimmermann wrote:
> The drivers gm12u320 and udl operate on USB devices. They leave the
> PCI device in struct drm_device empty and store the USB device in their
> own driver structure.
>
> Fix this special case and save a few bytes by putting the USB device
> into an anonymous union with the PCI data. It's expected that DRM
> core and helpers only touch the PCI-device field for actual PCI devices.
Uh no.
If you're really concerned about the 8 bytes wasted, use drm_device->dev
instead, and upcast it to the usb device. I think some drivers do this
already (at least on the platform side iirc).
But we had this entire drm_bus midlayer stuff already, and it took forever
to sunset it. I don't want to go back, and saving 8 bytes in a giantic
structure isn't worth that risk imo.
-Daniel
>
> Thomas Zimmermann (3):
> drm: Add reference to USB device to struct drm_device
> drm/tiny/gm12u320: Store USB device in struct drm_device.udev
> drm/udl: Store USB device in struct drm_device.udev
>
> drivers/gpu/drm/tiny/gm12u320.c | 52 +++++++++++++----------------
> drivers/gpu/drm/udl/udl_connector.c | 8 ++---
> drivers/gpu/drm/udl/udl_drv.c | 2 +-
> drivers/gpu/drm/udl/udl_drv.h | 1 -
> drivers/gpu/drm/udl/udl_main.c | 15 +++++----
> include/drm/drm_device.h | 21 ++++++++----
> 6 files changed, 52 insertions(+), 47 deletions(-)
>
> --
> 2.28.0
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list