diff --git a/drivers/staging/hikey9xx/Kconfig b/drivers/staging/hikey9xx/Kconfig
index 0e97b5b9a56a..b2ce886e1c4e 100644
--- a/drivers/staging/hikey9xx/Kconfig
+++ b/drivers/staging/hikey9xx/Kconfig
@@ -36,3 +36,6 @@ config REGULATOR_HI6421V600
 	  This driver provides support for the voltage regulators on
 	  HiSilicon Hi6421v600 PMU / Codec IC.
 	  This is used on Kirin 3670 boards, like HiKey 970.
+
+# DRM/KMS driver
+source "drivers/staging/hikey9xx/gpu/Kconfig"
diff --git a/drivers/staging/hikey9xx/Makefile b/drivers/staging/hikey9xx/Makefile
index 9371dcc3d35b..1a848d398ab6 100644
--- a/drivers/staging/hikey9xx/Makefile
+++ b/drivers/staging/hikey9xx/Makefile
@@ -3,3 +3,4 @@
 obj-$(CONFIG_SPMI_HISI3670)		+= hisi-spmi-controller.o
 obj-$(CONFIG_MFD_HI6421_SPMI)		+= hi6421-spmi-pmic.o
 obj-$(CONFIG_REGULATOR_HI6421V600)	+= hi6421v600-regulator.o
+obj-y					+= gpu/
diff --git a/drivers/staging/hikey9xx/gpu/Kconfig b/drivers/staging/hikey9xx/gpu/Kconfig
index 5533ee624f29..957da13bcf81 100644
--- a/drivers/staging/hikey9xx/gpu/Kconfig
+++ b/drivers/staging/hikey9xx/gpu/Kconfig
@@ -1,52 +1,22 @@
-config DRM_HISI_KIRIN
-	tristate "DRM Support for Hisilicon Kirin series SoCs Platform"
+config DRM_HISI_KIRIN9XX
+	tristate "DRM Support for Hisilicon Kirin9xx series SoCs Platform"
 	depends on DRM && OF && ARM64
 	select DRM_KMS_HELPER
 	select DRM_GEM_CMA_HELPER
 	select DRM_KMS_CMA_HELPER
-	select HISI_KIRIN_DW_DSI
-	help
-	  Choose this option if you have a hisilicon Kirin chipsets(hi6220).
-	  If M is selected the module will be called kirin-drm.
-
-config DRM_KIRIN_960
-	tristate "DRM Support for Hisilicon Kirin960 series SoCs Platform"
-	depends on DRM && OF && ARM64
-	select DRM_KMS_HELPER
-	select DRM_GEM_CMA_HELPER
-	select DRM_KMS_CMA_HELPER
-	select HISI_KIRIN_DW_DSI
-	help
-	  Choose this option if you have a hisilicon Kirin chipsets(kirin960).
-	  If M is selected the module will be called kirin-drm.
-
-config HISI_KIRIN_DW_DSI
-	tristate "HiSilicon Kirin specific extensions for Synopsys DW MIPI DSI"
-	depends on DRM_HISI_KIRIN || DRM_KIRIN_960
 	select DRM_MIPI_DSI
-	select DRM_PANEL
 	help
-	 This selects support for HiSilicon Kirin SoC specific extensions for
-	 the Synopsys DesignWare DSI driver. If you want to enable MIPI DSI on
-	 hi6220 based SoC, you should selet this option.
+	  Choose this option if you have a HiSilicon Kirin960 or Kirin970.
+	  If M is selected the module will be called kirin9xx-drm.
 
-config DRM_PANEL_HIKEY960_NTE300NTS
-	tristate "Hikey960 NTE300NTS video mode panel"
-	depends on OF
-	depends on DRM_MIPI_DSI
-	help
-		Say Y here if you want to enable LCD panel driver for Hikey960 boadr.
-		Current support panel: NTE300NTS(1920X1200)
-
-config HISI_FB_970
-	tristate "DRM Support for Hisilicon Kirin970 series SoCs Platform"
-	depends on DRM && OF && ARM64
+config DRM_HISI_KIRIN970
+	bool "Enable support for Hisilicon Kirin970"
 	depends on DRM_MIPI_DSI
+	depends on DRM_HISI_KIRIN9XX
 	help
 	  Choose this option if you have a hisilicon Kirin chipsets(kirin970).
-	  If M is selected the module will be called kirin-drm.
 
-config HDMI_ADV7511_AUDIO
-	tristate "HDMI Support ADV7511 audio"
-	help
-	  Choose this option to support HDMI ADV7511 audio.
+config DRM_HISI_KIRIN9XX_DSI
+	tristate
+	depends on DRM_HISI_KIRIN9XX
+	default y
diff --git a/drivers/staging/hikey9xx/gpu/Makefile b/drivers/staging/hikey9xx/gpu/Makefile
index a5e008365a57..9df7894ccb42 100644
--- a/drivers/staging/hikey9xx/gpu/Makefile
+++ b/drivers/staging/hikey9xx/gpu/Makefile
@@ -1,15 +1,8 @@
-EXTRA_CFLAGS += \
-		-Iinclude/drm
-kirin-drm-y := kirin_fbdev.o \
-		kirin_fb.o \
-		kirin_drm_drv.o \
-		kirin_drm_dss.o \
-		kirin_drm_dpe_utils.o \
-		kirin_drm_overlay_utils.o \
-		kirin_pwm.o \
-		hdmi/adv7535.o \
+# SPDX-License-Identifier: GPL-2.0-only
+kirin9xx-drm-y := kirin9xx_drm_drv.o \
+		  kirin9xx_drm_dss.o \
+		  kirin9xx_drm_dpe_utils.o \
+		  kirin9xx_drm_overlay_utils.o
 
-
-obj-$(CONFIG_HDMI_ADV7511_AUDIO) += hdmi/adv7535_audio.o
-obj-$(CONFIG_DRM_KIRIN_960) += kirin-drm.o
-obj-$(CONFIG_HISI_KIRIN_DW_DSI) += dw_drm_dsi.o
+obj-$(CONFIG_DRM_HISI_KIRIN9XX) += kirin9xx-drm.o kirin9xx_pwm.o
+obj-$(CONFIG_DRM_HISI_KIRIN9XX_DSI) += kirin9xx_dw_drm_dsi.o
