On Wed, Apr 24, 2019 at 01:42:56PM +1000, Dave Airlie wrote: > From: Dave Airlie <airlied@xxxxxxxxxx> > > The legacy device list and pci legacy init/exit don't need to > be built if not supporting legacy. > > Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> > --- > drivers/gpu/drm/drm_pci.c | 8 ++++++-- > include/drm/drm_device.h | 10 +++------- > include/drm/drm_pci.h | 2 ++ > 3 files changed, 11 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/drm_pci.c b/drivers/gpu/drm/drm_pci.c > index 693748ad8b88..a61ef7baba72 100644 > --- a/drivers/gpu/drm/drm_pci.c > +++ b/drivers/gpu/drm/drm_pci.c > @@ -265,9 +265,10 @@ int drm_get_pci_dev(struct pci_dev *pdev, const struct pci_device_id *ent, > > /* No locking needed since shadow-attach is single-threaded since it may > * only be called from the per-driver module init hook. */ > +#if IS_ENABLED(CONFIG_DRM_LEGACY) > if (drm_core_check_feature(dev, DRIVER_LEGACY)) > list_add_tail(&dev->legacy_dev_list, &driver->legacy_dev_list); > - > +#endif > return 0; > > err_agp: > @@ -279,6 +280,7 @@ int drm_get_pci_dev(struct pci_dev *pdev, const struct pci_device_id *ent, > } > EXPORT_SYMBOL(drm_get_pci_dev); > > +#if IS_ENABLED(CONFIG_DRM_LEGACY) > /** > * drm_legacy_pci_init - shadow-attach a legacy DRM PCI driver > * @driver: DRM device driver > @@ -325,7 +327,7 @@ int drm_legacy_pci_init(struct drm_driver *driver, struct pci_driver *pdriver) > return 0; > } > EXPORT_SYMBOL(drm_legacy_pci_init); > - > +#endif > #else > > void drm_pci_agp_destroy(struct drm_device *dev) {} > @@ -337,6 +339,7 @@ int drm_irq_by_busid(struct drm_device *dev, void *data, > } > #endif > > +#if IS_ENABLED(CONFIG_DRM_LEGACY) > /** > * drm_legacy_pci_exit - unregister shadow-attach legacy DRM driver > * @driver: DRM device driver > @@ -362,3 +365,4 @@ void drm_legacy_pci_exit(struct drm_driver *driver, struct pci_driver *pdriver) > DRM_INFO("Module unloaded\n"); > } > EXPORT_SYMBOL(drm_legacy_pci_exit); > +#endif > diff --git a/include/drm/drm_device.h b/include/drm/drm_device.h > index 7f9ef709b2b6..11daabd8ccbc 100644 > --- a/include/drm/drm_device.h > +++ b/include/drm/drm_device.h > @@ -50,13 +50,6 @@ enum switch_power_state { > * may contain multiple heads. > */ > struct drm_device { > - /** > - * @legacy_dev_list: > - * > - * List of devices per driver for stealth attach cleanup > - */ > - struct list_head legacy_dev_list; > - > /** @if_version: Highest interface version set */ > int if_version; > > @@ -307,6 +300,9 @@ struct drm_device { > /* Everything below here is for legacy driver, never use! */ > /* private: */ > #if IS_ENABLED(CONFIG_DRM_LEGACY) > + /* List of devices per driver for stealth attach cleanup */ > + struct list_head legacy_dev_list; > + > /* Context handle management - linked list of context handles */ > struct list_head ctxlist; > > diff --git a/include/drm/drm_pci.h b/include/drm/drm_pci.h > index 8181e9e7cf1d..36b3f2689e16 100644 > --- a/include/drm/drm_pci.h > +++ b/include/drm/drm_pci.h > @@ -43,8 +43,10 @@ struct drm_dma_handle *drm_pci_alloc(struct drm_device *dev, size_t size, > size_t align); > void drm_pci_free(struct drm_device *dev, struct drm_dma_handle * dmah); > > +#if IS_ENABLED(CONFIG_DRM_LEGACY) > int drm_legacy_pci_init(struct drm_driver *driver, struct pci_driver *pdriver); > void drm_legacy_pci_exit(struct drm_driver *driver, struct pci_driver *pdriver); > +#endif I think would be prettier if you stuff this into drm_legacy.h and the code into drm_legacy_misc.c. Out of sight, out of mind and all that :-) With that: Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > #ifdef CONFIG_PCI > int drm_get_pci_dev(struct pci_dev *pdev, > const struct pci_device_id *ent, > -- > 2.21.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel