diff options
author | Russell King <rmk+cubox@arm.linux.org.uk> | 2013-10-29 12:19:06 +0000 |
---|---|---|
committer | Russell King <rmk@arm.linux.org.uk> | 2013-10-29 19:21:13 +0000 |
commit | 016419f8fbd22cc978a6963b6d74ac67ebfaf5dc (patch) | |
tree | dbf48e1719b268293b9e16649bd973e6bc57ce43 | |
parent | ca58888be51eec3e96184ae4364fd1a593c12861 (diff) |
Wrap udev structures up in its own structure
Separate out all the udev information into its own structure.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
-rw-r--r-- | src/armada_drm.c | 18 | ||||
-rw-r--r-- | src/armada_drm.h | 10 |
2 files changed, 16 insertions, 12 deletions
diff --git a/src/armada_drm.c b/src/armada_drm.c index ab2755c..600218c 100644 --- a/src/armada_drm.c +++ b/src/armada_drm.c @@ -892,12 +892,12 @@ static void armada_drm_handle_uevent(int fd, pointer data) struct armada_drm_info *drm = GET_DRM_INFO(pScrn); struct udev_device *ud; - ud = udev_monitor_receive_device(drm->udev_monitor); + ud = udev_monitor_receive_device(drm->udev.monitor); if (ud) { dev_t dev = udev_device_get_devnum(ud); const char *hp = udev_device_get_property_value(ud, "HOTPLUG"); - if (dev == drm->drm_dev && hp && strtol(hp, NULL, 10) == 1) + if (dev == drm->udev.drm_dev && hp && strtol(hp, NULL, 10) == 1) RRGetInfo(screenInfo.screens[pScrn->scrnIndex], TRUE); udev_device_unref(ud); @@ -926,7 +926,7 @@ static Bool armada_drm_udev_init(ScrnInfoPtr pScrn) if (fstat(drm->fd, &st) || !S_ISCHR(st.st_mode)) return FALSE; - drm->drm_dev = st.st_rdev; + drm->udev.drm_dev = st.st_rdev; udev = udev_new(); if (!udev) @@ -946,8 +946,8 @@ static Bool armada_drm_udev_init(ScrnInfoPtr pScrn) return FALSE; } - drm->udev_monitor = udev_mon; - drm->udev_handler = xf86AddGeneralHandler(udev_monitor_get_fd(udev_mon), + drm->udev.monitor = udev_mon; + drm->udev.handler = xf86AddGeneralHandler(udev_monitor_get_fd(udev_mon), armada_drm_handle_uevent, pScrn); @@ -956,11 +956,11 @@ static Bool armada_drm_udev_init(ScrnInfoPtr pScrn) static void armada_drm_udev_fini(ScrnInfoPtr pScrn, struct armada_drm_info *drm) { - if (drm->udev_monitor) { - struct udev *udev = udev_monitor_get_udev(drm->udev_monitor); + if (drm->udev.monitor) { + struct udev *udev = udev_monitor_get_udev(drm->udev.monitor); - xf86RemoveGeneralHandler(drm->udev_handler); - udev_monitor_unref(drm->udev_monitor); + xf86RemoveGeneralHandler(drm->udev.handler); + udev_monitor_unref(drm->udev.monitor); udev_unref(udev); } } diff --git a/src/armada_drm.h b/src/armada_drm.h index d231653..f04d350 100644 --- a/src/armada_drm.h +++ b/src/armada_drm.h @@ -26,6 +26,12 @@ struct armada_crtc_info { #define armada_crtc(crtc) \ ((struct armada_crtc_info *)(crtc)->driver_private) +struct drm_udev_info { + struct udev_monitor *monitor; + pointer *handler; + dev_t drm_dev; +}; + struct armada_drm_info { int fd; struct drm_armada_bufmgr *bufmgr; @@ -42,9 +48,7 @@ struct armada_drm_info { Bool accel; #ifdef HAVE_UDEV - struct udev_monitor *udev_monitor; - pointer *udev_handler; - dev_t drm_dev; + struct drm_udev_info udev; #endif CloseScreenProcPtr CloseScreen; |