We have DRM drivers that operate on USB devices. So far they had
to store a pointer to the USB device structure. Move the reference
into struct drm_device. Putting the USB device into a union with
the PCI data saves a few bytes. Both should mutually exclusive.

Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
---
 include/drm/drm_device.h | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/include/drm/drm_device.h b/include/drm/drm_device.h
index f4f68e7a9149..9871fcabd720 100644
--- a/include/drm/drm_device.h
+++ b/include/drm/drm_device.h
@@ -25,6 +25,7 @@ struct inode;
 struct pci_dev;
 struct pci_controller;
 
+struct usb_device;
 
 /**
  * enum drm_switch_power - power state of drm device
@@ -283,16 +284,24 @@ struct drm_device {
         */
        spinlock_t event_lock;
 
-       /** @agp: AGP data */
-       struct drm_agp_head *agp;
+       union {
+               struct {
+                       /** @agp: AGP data */
+                       struct drm_agp_head *agp;
 
-       /** @pdev: PCI device structure */
-       struct pci_dev *pdev;
+                       /** @pdev: PCI device structure */
+                       struct pci_dev *pdev;
 
 #ifdef __alpha__
-       /** @hose: PCI hose, only used on ALPHA platforms. */
-       struct pci_controller *hose;
+                       /** @hose: PCI hose, only used on ALPHA platforms. */
+                       struct pci_controller *hose;
 #endif
+               };
+
+               /** @udev: USB device structure */
+               struct usb_device *udev;
+       };
+
        /** @num_crtcs: Number of CRTCs on this device */
        unsigned int num_crtcs;
 
-- 
2.28.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to