OSDN Git Service

drm/pci: Hide legacy PCI functions from non-legacy code
authorThomas Zimmermann <tzimmermann@suse.de>
Tue, 3 Dec 2019 10:03:56 +0000 (11:03 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Thu, 5 Dec 2019 07:44:04 +0000 (08:44 +0100)
Declarations of drm_legacy_pci_{init,exit}() are being moved to
drm_legacy.h. CONFIG_DRM_LEGACY protects the implementation.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191203100406.9674-3-tzimmermann@suse.de
drivers/gpu/drm/drm_pci.c
include/drm/drm_legacy.h
include/drm/drm_pci.h

index 40a2015..f2e43d3 100644 (file)
@@ -282,6 +282,8 @@ err_free:
 }
 EXPORT_SYMBOL(drm_get_pci_dev);
 
+#ifdef CONFIG_DRM_LEGACY
+
 /**
  * drm_legacy_pci_init - shadow-attach a legacy DRM PCI driver
  * @driver: DRM device driver
@@ -354,3 +356,5 @@ 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
index 58dc0c0..5745710 100644 (file)
@@ -38,7 +38,9 @@
 #include <drm/drm_hashtab.h>
 
 struct drm_device;
+struct drm_driver;
 struct file;
+struct pci_driver;
 
 /*
  * Legacy Support for palateontologic DRM drivers
@@ -188,8 +190,33 @@ do {                                                                               \
 void drm_legacy_idlelock_take(struct drm_lock_data *lock);
 void drm_legacy_idlelock_release(struct drm_lock_data *lock);
 
-/* drm_pci.c dma alloc wrappers */
+/* drm_pci.c */
+
+#ifdef CONFIG_PCI
+
 void __drm_legacy_pci_free(struct drm_device *dev, drm_dma_handle_t * dmah);
+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);
+
+#else
+
+static inline void __drm_legacy_pci_free(struct drm_device *dev,
+                                        drm_dma_handle_t *dmah)
+{
+}
+
+static inline int drm_legacy_pci_init(struct drm_driver *driver,
+                                     struct pci_driver *pdriver)
+{
+       return -EINVAL;
+}
+
+static inline void drm_legacy_pci_exit(struct drm_driver *driver,
+                                      struct pci_driver *pdriver)
+{
+}
+
+#endif
 
 /* drm_memory.c */
 void drm_legacy_ioremap(struct drm_local_map *map, struct drm_device *dev);
index 029352f..9031e21 100644 (file)
@@ -38,7 +38,6 @@ struct drm_dma_handle;
 struct drm_device;
 struct drm_driver;
 struct drm_master;
-struct pci_device;
 
 #ifdef CONFIG_PCI
 
@@ -50,9 +49,6 @@ int drm_get_pci_dev(struct pci_dev *pdev,
                    const struct pci_device_id *ent,
                    struct drm_driver *driver);
 
-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);
-
 #else
 
 static inline struct drm_dma_handle *drm_pci_alloc(struct drm_device *dev,
@@ -73,17 +69,6 @@ static inline int drm_get_pci_dev(struct pci_dev *pdev,
        return -ENOSYS;
 }
 
-static inline int drm_legacy_pci_init(struct drm_driver *driver,
-                                     struct pci_driver *pdriver)
-{
-       return -EINVAL;
-}
-
-static inline void drm_legacy_pci_exit(struct drm_driver *driver,
-                                      struct pci_driver *pdriver)
-{
-}
-
 #endif
 
 #endif /* _DRM_PCI_H_ */