1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Copyright (C) 2025 Icenowy Zheng <uwu@icenowy.me> 4 */ 5 6 #ifndef _VS_DRM_H_ 7 #define _VS_DRM_H_ 8 9 #include <linux/platform_device.h> 10 #include <linux/types.h> 11 12 #include <drm/drm_device.h> 13 14 struct vs_dc; 15 16 struct vs_drm_dev { 17 struct drm_device base; 18 19 struct vs_dc *dc; 20 struct vs_crtc *crtcs[VSDC_MAX_OUTPUTS]; 21 }; 22 23 int vs_drm_initialize(struct vs_dc *dc, struct platform_device *pdev); 24 void vs_drm_finalize(struct vs_dc *dc); 25 void vs_drm_shutdown_handler(struct vs_dc *dc); 26 void vs_drm_handle_irq(struct vs_dc *dc, u32 irqs); 27 28 #endif /* _VS_DRM_H_ */ 29