aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/udl/udl_drv.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2019-04-05 13:17:15 +1000
committerDave Airlie <airlied@redhat.com>2019-04-24 13:48:45 +1000
commit6ecac85eadb9d4065b9038fa3d3c66d49038e14b (patch)
tree5c01e3067ff528287d512b860ad99ede84e05ad5 /drivers/gpu/drm/udl/udl_drv.h
parentdrm/udl: introduce a macro to convert dev to udl. (diff)
downloadlinux-dev-6ecac85eadb9d4065b9038fa3d3c66d49038e14b.tar.xz
linux-dev-6ecac85eadb9d4065b9038fa3d3c66d49038e14b.zip
drm/udl: move to embedding drm device inside udl device.
This should help with some of the lifetime issues, and move us away from load/unload. Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190405031715.5959-4-airlied@gmail.com
Diffstat (limited to 'drivers/gpu/drm/udl/udl_drv.h')
-rw-r--r--drivers/gpu/drm/udl/udl_drv.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/gpu/drm/udl/udl_drv.h b/drivers/gpu/drm/udl/udl_drv.h
index b3e08e876d62..35c1f33fbc1a 100644
--- a/drivers/gpu/drm/udl/udl_drv.h
+++ b/drivers/gpu/drm/udl/udl_drv.h
@@ -50,8 +50,8 @@ struct urb_list {
struct udl_fbdev;
struct udl_device {
+ struct drm_device drm;
struct device *dev;
- struct drm_device *ddev;
struct usb_device *udev;
struct drm_crtc *crtc;
@@ -71,7 +71,7 @@ struct udl_device {
atomic_t cpu_kcycles_used; /* transpired during pixel processing */
};
-#define to_udl(x) ((x)->dev_private)
+#define to_udl(x) container_of(x, struct udl_device, drm)
struct udl_gem_object {
struct drm_gem_object base;
@@ -104,9 +104,8 @@ struct urb *udl_get_urb(struct drm_device *dev);
int udl_submit_urb(struct drm_device *dev, struct urb *urb, size_t len);
void udl_urb_completion(struct urb *urb);
-int udl_driver_load(struct drm_device *dev, unsigned long flags);
-void udl_driver_unload(struct drm_device *dev);
-void udl_driver_release(struct drm_device *dev);
+int udl_init(struct udl_device *udl);
+void udl_fini(struct drm_device *dev);
int udl_fbdev_init(struct drm_device *dev);
void udl_fbdev_cleanup(struct drm_device *dev);