return status;
}
-static struct drm_driver komeda_kms_driver = {
+static const struct drm_driver komeda_kms_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.lastclose = drm_fb_helper_lastclose,
DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(komeda_gem_cma_dumb_create),
DEFINE_DRM_GEM_CMA_FOPS(fops);
-static struct drm_driver hdlcd_driver = {
+static const struct drm_driver hdlcd_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.irq_handler = hdlcd_irq,
.irq_preinstall = hdlcd_irq_preinstall,
#endif //CONFIG_DEBUG_FS
-static struct drm_driver malidp_driver = {
+static const struct drm_driver malidp_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(malidp_dumb_create),
#ifdef CONFIG_DEBUG_FS
#include <drm/armada_drm.h>
#include "armada_ioctlP.h"
-static struct drm_ioctl_desc armada_ioctls[] = {
+static const struct drm_ioctl_desc armada_ioctls[] = {
DRM_IOCTL_DEF_DRV(ARMADA_GEM_CREATE, armada_gem_create_ioctl,0),
DRM_IOCTL_DEF_DRV(ARMADA_GEM_MMAP, armada_gem_mmap_ioctl, 0),
DRM_IOCTL_DEF_DRV(ARMADA_GEM_PWRITE, armada_gem_pwrite_ioctl, 0),
DEFINE_DRM_GEM_FOPS(armada_drm_fops);
-static struct drm_driver armada_drm_driver = {
+static const struct drm_driver armada_drm_driver = {
.lastclose = drm_fb_helper_lastclose,
.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
.date = "20120730",
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.ioctls = armada_ioctls,
+ .num_ioctls = ARRAY_SIZE(armada_ioctls),
.fops = &armada_drm_fops,
};
{
int ret;
- armada_drm_driver.num_ioctls = ARRAY_SIZE(armada_ioctls);
-
ret = platform_driver_register(&armada_lcd_platform_driver);
if (ret)
return ret;
DEFINE_DRM_GEM_CMA_FOPS(fops);
-static struct drm_driver aspeed_gfx_driver = {
+static const struct drm_driver aspeed_gfx_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
DRM_GEM_CMA_DRIVER_OPS,
.fops = &fops,
DEFINE_DRM_GEM_FOPS(ast_fops);
-static struct drm_driver ast_driver = {
+static const struct drm_driver ast_driver = {
.driver_features = DRIVER_ATOMIC |
DRIVER_GEM |
DRIVER_MODESET,
return container_of(dev, struct ast_private, base);
}
-struct ast_private *ast_device_create(struct drm_driver *drv,
+struct ast_private *ast_device_create(const struct drm_driver *drv,
struct pci_dev *pdev,
unsigned long flags);
ast_set_index_reg(ast, AST_IO_CRTC_PORT, 0xa1, 0x04);
}
-struct ast_private *ast_device_create(struct drm_driver *drv,
+struct ast_private *ast_device_create(const struct drm_driver *drv,
struct pci_dev *pdev,
unsigned long flags)
{
DEFINE_DRM_GEM_CMA_FOPS(fops);
-static struct drm_driver atmel_hlcdc_dc_driver = {
+static const struct drm_driver atmel_hlcdc_dc_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.irq_handler = atmel_hlcdc_dc_irq_handler,
.irq_preinstall = atmel_hlcdc_dc_irq_uninstall,
DEFINE_DRM_GEM_FOPS(bochs_fops);
-static struct drm_driver bochs_driver = {
+static const struct drm_driver bochs_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &bochs_fops,
.name = "bochs-drm",
.mmap = etnaviv_gem_mmap,
};
-static struct drm_driver etnaviv_drm_driver = {
+static const struct drm_driver etnaviv_drm_driver = {
.driver_features = DRIVER_GEM | DRIVER_RENDER,
.open = etnaviv_open,
.postclose = etnaviv_postclose,
.release = drm_release,
};
-static struct drm_driver exynos_drm_driver = {
+static const struct drm_driver exynos_drm_driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM
| DRIVER_ATOMIC | DRIVER_RENDER,
.open = exynos_drm_open,
DEFINE_DRM_GEM_CMA_FOPS(fsl_dcu_drm_fops);
-static struct drm_driver fsl_dcu_drm_driver = {
+static const struct drm_driver fsl_dcu_drm_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.load = fsl_dcu_load,
.unload = fsl_dcu_unload,
struct device *dev = &pdev->dev;
struct resource *res;
void __iomem *base;
- struct drm_driver *driver = &fsl_dcu_drm_driver;
struct clk *pix_clk_in;
char pix_clk_name[32];
const char *pix_clk_in_name;
fsl_dev->tcon = fsl_tcon_init(dev);
- drm = drm_dev_alloc(driver, dev);
+ drm = drm_dev_alloc(&fsl_dcu_drm_driver, dev);
if (IS_ERR(drm)) {
ret = PTR_ERR(drm);
goto unregister_pix_clk;
#include "psb_intel_reg.h"
#include "psb_reg.h"
-static struct drm_driver driver;
+static const struct drm_driver driver;
static int psb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent);
/*
.read = drm_read,
};
-static struct drm_driver driver = {
+static const struct drm_driver driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM,
.lastclose = drm_fb_helper_lastclose,
return IRQ_HANDLED;
}
-static struct drm_driver hibmc_driver = {
+static const struct drm_driver hibmc_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &hibmc_fops,
.name = "hibmc",
DEFINE_DRM_GEM_CMA_FOPS(ade_fops);
-static struct drm_driver ade_driver = {
+static const struct drm_driver ade_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &ade_fops,
DRM_GEM_CMA_DRIVER_OPS,
u32 num_planes;
u32 prim_plane;
- struct drm_driver *driver;
+ const struct drm_driver *driver;
const struct drm_crtc_helper_funcs *crtc_helper_funcs;
const struct drm_crtc_funcs *crtc_funcs;
const struct drm_plane_helper_funcs *plane_helper_funcs;
#include "intel_pm.h"
#include "vlv_suspend.h"
-static struct drm_driver driver;
+static const struct drm_driver driver;
static int i915_get_bridge_dev(struct drm_i915_private *dev_priv)
{
DRM_IOCTL_DEF_DRV(I915_GEM_VM_DESTROY, i915_gem_vm_destroy_ioctl, DRM_RENDER_ALLOW),
};
-static struct drm_driver driver = {
+static const struct drm_driver driver = {
/* Don't use MTRRs here; the Xserver or userspace app should
* deal with them for Intel hardware.
*/
i915_params_free(&i915->params);
}
-static struct drm_driver mock_driver = {
+static const struct drm_driver mock_driver = {
.name = "mock",
.driver_features = DRIVER_GEM,
.release = mock_device_release,
.atomic_commit = drm_atomic_helper_commit,
};
-static struct drm_driver dcss_kms_driver = {
+static const struct drm_driver dcss_kms_driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
DRM_GEM_CMA_DRIVER_OPS,
.fops = &dcss_cma_fops,
/* none so far */
};
-static struct drm_driver imx_drm_driver = {
+static const struct drm_driver imx_drm_driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
DRM_GEM_CMA_DRIVER_OPS,
.ioctls = imx_drm_ioctls,
DEFINE_DRM_GEM_CMA_FOPS(ingenic_drm_fops);
-static struct drm_driver ingenic_drm_driver_data = {
+static const struct drm_driver ingenic_drm_driver_data = {
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.name = "ingenic-drm",
.desc = "DRM module for Ingenic SoCs",
* - 1.1.0 - add heap buffer support
*/
-static struct drm_driver lima_drm_driver = {
+static const struct drm_driver lima_drm_driver = {
.driver_features = DRIVER_RENDER | DRIVER_GEM | DRIVER_SYNCOBJ,
.open = lima_drm_driver_open,
.postclose = lima_drm_driver_postclose,
DEFINE_DRM_GEM_CMA_FOPS(drm_fops);
-static struct drm_driver mcde_drm_driver = {
+static const struct drm_driver mcde_drm_driver = {
.driver_features =
DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.lastclose = drm_fb_helper_lastclose,
return drm_gem_prime_import_dev(dev, dma_buf, private->dma_dev);
}
-static struct drm_driver mtk_drm_driver = {
+static const struct drm_driver mtk_drm_driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.dumb_create = mtk_drm_gem_dumb_create,
DEFINE_DRM_GEM_CMA_FOPS(fops);
-static struct drm_driver meson_driver = {
+static const struct drm_driver meson_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
/* IRQ */
DEFINE_DRM_GEM_FOPS(mgag200_driver_fops);
-static struct drm_driver mgag200_driver = {
+static const struct drm_driver mgag200_driver = {
.driver_features = DRIVER_ATOMIC | DRIVER_GEM | DRIVER_MODESET,
.fops = &mgag200_driver_fops,
.name = DRIVER_NAME,
return ret;
}
-static int msm_drm_init(struct device *dev, struct drm_driver *drv)
+static int msm_drm_init(struct device *dev, const struct drm_driver *drv)
{
struct platform_device *pdev = to_platform_device(dev);
struct drm_device *ddev;
.mmap = msm_gem_mmap,
};
-static struct drm_driver msm_driver = {
+static const struct drm_driver msm_driver = {
.driver_features = DRIVER_GEM |
DRIVER_RENDER |
DRIVER_ATOMIC |
DEFINE_DRM_GEM_CMA_FOPS(fops);
-static struct drm_driver mxsfb_driver = {
+static const struct drm_driver mxsfb_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.irq_handler = mxsfb_irq_handler,
.irq_preinstall = mxsfb_irq_disable,
.llseek = noop_llseek,
};
-static struct drm_driver omap_drm_driver = {
+static const struct drm_driver omap_drm_driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM |
DRIVER_ATOMIC | DRIVER_RENDER,
.open = dev_open,
* - 1.0 - initial interface
* - 1.1 - adds HEAP and NOEXEC flags for CREATE_BO
*/
-static struct drm_driver panfrost_drm_driver = {
+static const struct drm_driver panfrost_drm_driver = {
.driver_features = DRIVER_RENDER | DRIVER_GEM | DRIVER_SYNCOBJ,
.open = panfrost_open,
.postclose = panfrost_postclose,
DEFINE_DRM_GEM_CMA_FOPS(drm_fops);
-static struct drm_driver pl111_drm_driver = {
+static const struct drm_driver pl111_drm_driver = {
.driver_features =
DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.ioctls = NULL,
MODULE_DEVICE_TABLE(pci, pciidlist);
-static struct drm_driver kms_driver;
+static const struct drm_driver kms_driver;
bool radeon_device_is_virtual(void);
DRM_IOCTL_DEF_DRV(RADEON_GEM_USERPTR, radeon_gem_userptr_ioctl, DRM_AUTH|DRM_RENDER_ALLOW),
};
-static struct drm_driver kms_driver = {
+static const struct drm_driver kms_driver = {
.driver_features =
DRIVER_GEM | DRIVER_RENDER | DRIVER_MODESET,
.load = radeon_driver_load_kms,
DEFINE_DRM_GEM_CMA_FOPS(rcar_du_fops);
-static struct drm_driver rcar_du_driver = {
+static const struct drm_driver rcar_du_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(rcar_du_dumb_create),
.fops = &rcar_du_fops,
#define DRIVER_MINOR 0
static bool is_support_iommu = true;
-static struct drm_driver rockchip_drm_driver;
+static const struct drm_driver rockchip_drm_driver;
/*
* Attach a (component) device to the shared drm dma mapping from master drm
.release = drm_release,
};
-static struct drm_driver rockchip_drm_driver = {
+static const struct drm_driver rockchip_drm_driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.lastclose = drm_fb_helper_lastclose,
.dumb_create = rockchip_gem_dumb_create,
DEFINE_DRM_GEM_CMA_FOPS(shmob_drm_fops);
-static struct drm_driver shmob_drm_driver = {
+static const struct drm_driver shmob_drm_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET,
.irq_handler = shmob_drm_irq,
DRM_GEM_CMA_DRIVER_OPS,
DEFINE_DRM_GEM_CMA_FOPS(sti_driver_fops);
-static struct drm_driver sti_driver = {
+static const struct drm_driver sti_driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.fops = &sti_driver_fops,
DRM_GEM_CMA_DRIVER_OPS,
DEFINE_DRM_GEM_CMA_FOPS(drv_driver_fops);
-static struct drm_driver drv_driver = {
+static const struct drm_driver drv_driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.name = "stm",
.desc = "STMicroelectronics SoC DRM",
DEFINE_DRM_GEM_CMA_FOPS(sun4i_drv_fops);
-static struct drm_driver sun4i_drv_driver = {
+static const struct drm_driver sun4i_drv_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
/* Generic Operations */
}
#endif
-static struct drm_driver tegra_drm_driver = {
+static const struct drm_driver tegra_drm_driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM |
DRIVER_ATOMIC | DRIVER_RENDER,
.open = tegra_drm_open,
static int host1x_drm_probe(struct host1x_device *dev)
{
- struct drm_driver *driver = &tegra_drm_driver;
struct tegra_drm *tegra;
struct drm_device *drm;
int err;
- drm = drm_dev_alloc(driver, &dev->dev);
+ drm = drm_dev_alloc(&tegra_drm_driver, &dev->dev);
if (IS_ERR(drm))
return PTR_ERR(drm);
DEFINE_DRM_GEM_CMA_FOPS(tidss_fops);
-static struct drm_driver tidss_driver = {
+static const struct drm_driver tidss_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &tidss_fops,
.release = tidss_release,
drm_dev_put(dev);
}
-static int tilcdc_init(struct drm_driver *ddrv, struct device *dev)
+static int tilcdc_init(const struct drm_driver *ddrv, struct device *dev)
{
struct drm_device *ddev;
struct platform_device *pdev = to_platform_device(dev);
DEFINE_DRM_GEM_CMA_FOPS(fops);
-static struct drm_driver tilcdc_driver = {
+static const struct drm_driver tilcdc_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.irq_handler = tilcdc_irq,
DRM_GEM_CMA_DRIVER_OPS,
DEFINE_DRM_GEM_FOPS(cirrus_fops);
-static struct drm_driver cirrus_driver = {
+static const struct drm_driver cirrus_driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.name = DRIVER_NAME,
DEFINE_DRM_GEM_FOPS(gm12u320_fops);
-static struct drm_driver gm12u320_drm_driver = {
+static const struct drm_driver gm12u320_drm_driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.name = DRIVER_NAME,
DEFINE_DRM_GEM_CMA_FOPS(hx8357d_fops);
-static struct drm_driver hx8357d_driver = {
+static const struct drm_driver hx8357d_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &hx8357d_fops,
DRM_GEM_CMA_DRIVER_OPS_VMAP,
DEFINE_DRM_GEM_CMA_FOPS(ili9225_fops);
-static struct drm_driver ili9225_driver = {
+static const struct drm_driver ili9225_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &ili9225_fops,
DRM_GEM_CMA_DRIVER_OPS_VMAP,
DEFINE_DRM_GEM_CMA_FOPS(ili9341_fops);
-static struct drm_driver ili9341_driver = {
+static const struct drm_driver ili9341_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &ili9341_fops,
DRM_GEM_CMA_DRIVER_OPS_VMAP,
DEFINE_DRM_GEM_CMA_FOPS(ili9486_fops);
-static struct drm_driver ili9486_driver = {
+static const struct drm_driver ili9486_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &ili9486_fops,
DRM_GEM_CMA_DRIVER_OPS_VMAP,
DEFINE_DRM_GEM_CMA_FOPS(mi0283qt_fops);
-static struct drm_driver mi0283qt_driver = {
+static const struct drm_driver mi0283qt_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &mi0283qt_fops,
DRM_GEM_CMA_DRIVER_OPS_VMAP,
DEFINE_DRM_GEM_CMA_FOPS(repaper_fops);
-static struct drm_driver repaper_driver = {
+static const struct drm_driver repaper_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &repaper_fops,
DRM_GEM_CMA_DRIVER_OPS_VMAP,
DEFINE_DRM_GEM_CMA_FOPS(st7586_fops);
-static struct drm_driver st7586_driver = {
+static const struct drm_driver st7586_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &st7586_fops,
DRM_GEM_CMA_DRIVER_OPS_VMAP,
DEFINE_DRM_GEM_CMA_FOPS(st7735r_fops);
-static struct drm_driver st7735r_driver = {
+static const struct drm_driver st7735r_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &st7735r_fops,
DRM_GEM_CMA_DRIVER_OPS_VMAP,
DEFINE_DRM_GEM_CMA_FOPS(drm_fops);
-static struct drm_driver tve200_drm_driver = {
+static const struct drm_driver tve200_drm_driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.ioctls = NULL,
.fops = &drm_fops,
DEFINE_DRM_GEM_FOPS(udl_driver_fops);
-static struct drm_driver driver = {
+static const struct drm_driver driver = {
.driver_features = DRIVER_ATOMIC | DRIVER_GEM | DRIVER_MODESET,
/* GEM hooks */
DRM_IOCTL_DEF_DRV(V3D_SUBMIT_CSD, v3d_submit_csd_ioctl, DRM_RENDER_ALLOW | DRM_AUTH),
};
-static struct drm_driver v3d_drm_driver = {
+static const struct drm_driver v3d_drm_driver = {
.driver_features = (DRIVER_GEM |
DRIVER_RENDER |
DRIVER_SYNCOBJ),
MODULE_PARM_DESC(modeset, "Disable/Enable modesetting");
module_param_named(modeset, vbox_modeset, int, 0400);
-static struct drm_driver driver;
+static const struct drm_driver driver;
static const struct pci_device_id pciidlist[] = {
{ PCI_DEVICE(0x80ee, 0xbeef) },
DEFINE_DRM_GEM_FOPS(vbox_fops);
-static struct drm_driver driver = {
+static const struct drm_driver driver = {
.driver_features =
DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.vm_ops = &vgem_gem_vm_ops,
};
-static struct drm_driver vgem_driver = {
+static const struct drm_driver vgem_driver = {
.driver_features = DRIVER_GEM | DRIVER_RENDER,
.open = vgem_open,
.postclose = vgem_postclose,
#include "virtgpu_drv.h"
-static struct drm_driver driver;
+static const struct drm_driver driver;
static int virtio_gpu_modeset = -1;
DEFINE_DRM_GEM_FOPS(virtio_gpu_driver_fops);
-static struct drm_driver driver = {
+static const struct drm_driver driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_RENDER | DRIVER_ATOMIC,
.open = virtio_gpu_driver_open,
.postclose = virtio_gpu_driver_postclose,
drm_atomic_helper_cleanup_planes(dev, old_state);
}
-static struct drm_driver vkms_driver = {
+static const struct drm_driver vkms_driver = {
.driver_features = DRIVER_MODESET | DRIVER_ATOMIC | DRIVER_GEM,
.release = vkms_release,
.fops = &vkms_driver_fops,
.get_unmapped_area = vmw_get_unmapped_area,
};
-static struct drm_driver driver = {
+static const struct drm_driver driver = {
.driver_features =
DRIVER_MODESET | DRIVER_RENDER | DRIVER_ATOMIC,
.ioctls = vmw_ioctls,
.mmap = xen_drm_front_gem_mmap,
};
-static struct drm_driver xen_drm_driver = {
+static const struct drm_driver xen_drm_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.release = xen_drm_drv_release,
.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
DEFINE_DRM_GEM_CMA_FOPS(zynqmp_dpsub_drm_fops);
-static struct drm_driver zynqmp_dpsub_drm_driver = {
+static const struct drm_driver zynqmp_dpsub_drm_driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM |
DRIVER_ATOMIC,
DEFINE_DRM_GEM_CMA_FOPS(zx_drm_fops);
-static struct drm_driver zx_drm_driver = {
+static const struct drm_driver zx_drm_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
DRM_GEM_CMA_DRIVER_OPS,
.fops = &zx_drm_fops,