diff --git a/platformminigbm.cpp b/platformminigbm.cpp
index 2040768..dce1d11 100644
--- a/platformminigbm.cpp
+++ b/platformminigbm.cpp
@@ -17,7 +17,7 @@
 #define LOG_TAG "hwc-platform-drm-minigbm"
 
 #include "platformminigbm.h"
-#include "drmresources.h"
+#include "drmdevice.h"
 #include "platform.h"
 
 #include <drm/drm_fourcc.h>
@@ -31,7 +31,7 @@
 
 namespace android {
 
-Importer *Importer::CreateInstance(DrmResources *drm) {
+Importer *Importer::CreateInstance(DrmDevice *drm) {
   DrmMinigbmImporter *importer = new DrmMinigbmImporter(drm);
   if (!importer)
     return NULL;
@@ -45,7 +45,7 @@
   return importer;
 }
 
-DrmMinigbmImporter::DrmMinigbmImporter(DrmResources *drm)
+DrmMinigbmImporter::DrmMinigbmImporter(DrmDevice *drm)
     : DrmGenericImporter(drm), drm_(drm) {
 }
 
@@ -100,7 +100,7 @@
   return ret;
 }
 
-std::unique_ptr<Planner> Planner::CreateInstance(DrmResources *) {
+std::unique_ptr<Planner> Planner::CreateInstance(DrmDevice *) {
   std::unique_ptr<Planner> planner(new Planner);
   planner->AddStage<PlanStageGreedy>();
   return planner;
diff --git a/platformminigbm.h b/platformminigbm.h
index f5807b9..25f8404 100644
--- a/platformminigbm.h
+++ b/platformminigbm.h
@@ -17,7 +17,7 @@
 #ifndef ANDROID_PLATFORM_DRM_MINIGBM_H_
 #define ANDROID_PLATFORM_DRM_MINIGBM_H_
 
-#include "drmresources.h"
+#include "drmdevice.h"
 #include "platform.h"
 #include "platformdrmgeneric.h"
 
@@ -27,7 +27,7 @@
 
 class DrmMinigbmImporter : public DrmGenericImporter {
  public:
-  DrmMinigbmImporter(DrmResources *drm);
+  DrmMinigbmImporter(DrmDevice *drm);
   ~DrmMinigbmImporter() override;
 
   int Init();
@@ -35,7 +35,7 @@
   int ImportBuffer(buffer_handle_t handle, hwc_drm_bo_t *bo) override;
 
  private:
-  DrmResources *drm_;
+  DrmDevice *drm_;
 
   const gralloc_module_t *gralloc_;
 };
