Commit 70a59dd8 authored by Daniel Vetter's avatar Daniel Vetter

drm/<drivers>: Constify struct drm_driver

Only the following drivers aren't converted:
- amdgpu, because of the driver_feature mangling due to virt support.
  Subsequent patch will address this.
- nouveau, because DRIVER_ATOMIC uapi is still not the default on the
  platforms where it's supported (i.e. again driver_feature mangling)
- vc4, again because of driver_feature mangling
- qxl, because the ioctl table is somewhere else and moving that is
  maybe a bit too much, hence the num_ioctls assignment prevents a
  const driver structure.
- arcpgu, because that is stuck behind a pending tiny-fication series
  from me.
- legacy drivers, because legacy requires non-const drm_driver.

Note that for armada I also went ahead and made the ioctl array const.

Only cc'ing the driver people who've not been converted (everyone else
is way too much).

v2: Fix one misplaced const static, should be static const (0day)

v3:
- Improve commit message (Sam)
Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
Cc: kernel test robot <lkp@intel.com>
Acked-by: default avatarMaxime Ripard <mripard@kernel.org>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: virtualization@lists.linux-foundation.org
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Leo Li <sunpeng.li@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Eric Anholt <eric@anholt.net>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: nouveau@lists.freedesktop.org
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201104100425.1922351-5-daniel.vetter@ffwll.ch
parent 8f5c7aa0
...@@ -58,7 +58,7 @@ static irqreturn_t komeda_kms_irq_handler(int irq, void *data) ...@@ -58,7 +58,7 @@ static irqreturn_t komeda_kms_irq_handler(int irq, void *data)
return status; 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.lastclose = drm_fb_helper_lastclose, .lastclose = drm_fb_helper_lastclose,
DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(komeda_gem_cma_dumb_create), DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(komeda_gem_cma_dumb_create),
......
...@@ -234,7 +234,7 @@ static void hdlcd_debugfs_init(struct drm_minor *minor) ...@@ -234,7 +234,7 @@ static void hdlcd_debugfs_init(struct drm_minor *minor)
DEFINE_DRM_GEM_CMA_FOPS(fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.irq_handler = hdlcd_irq, .irq_handler = hdlcd_irq,
.irq_preinstall = hdlcd_irq_preinstall, .irq_preinstall = hdlcd_irq_preinstall,
......
...@@ -561,7 +561,7 @@ static void malidp_debugfs_init(struct drm_minor *minor) ...@@ -561,7 +561,7 @@ static void malidp_debugfs_init(struct drm_minor *minor)
#endif //CONFIG_DEBUG_FS #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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(malidp_dumb_create), DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(malidp_dumb_create),
#ifdef CONFIG_DEBUG_FS #ifdef CONFIG_DEBUG_FS
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
#include <drm/armada_drm.h> #include <drm/armada_drm.h>
#include "armada_ioctlP.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_CREATE, armada_gem_create_ioctl,0),
DRM_IOCTL_DEF_DRV(ARMADA_GEM_MMAP, armada_gem_mmap_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), DRM_IOCTL_DEF_DRV(ARMADA_GEM_PWRITE, armada_gem_pwrite_ioctl, 0),
...@@ -35,7 +35,7 @@ static struct drm_ioctl_desc armada_ioctls[] = { ...@@ -35,7 +35,7 @@ static struct drm_ioctl_desc armada_ioctls[] = {
DEFINE_DRM_GEM_FOPS(armada_drm_fops); 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, .lastclose = drm_fb_helper_lastclose,
.prime_handle_to_fd = drm_gem_prime_handle_to_fd, .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
.prime_fd_to_handle = drm_gem_prime_fd_to_handle, .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
...@@ -48,6 +48,7 @@ static struct drm_driver armada_drm_driver = { ...@@ -48,6 +48,7 @@ static struct drm_driver armada_drm_driver = {
.date = "20120730", .date = "20120730",
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.ioctls = armada_ioctls, .ioctls = armada_ioctls,
.num_ioctls = ARRAY_SIZE(armada_ioctls),
.fops = &armada_drm_fops, .fops = &armada_drm_fops,
}; };
...@@ -275,8 +276,6 @@ static int __init armada_drm_init(void) ...@@ -275,8 +276,6 @@ static int __init armada_drm_init(void)
{ {
int ret; int ret;
armada_drm_driver.num_ioctls = ARRAY_SIZE(armada_ioctls);
ret = platform_driver_register(&armada_lcd_platform_driver); ret = platform_driver_register(&armada_lcd_platform_driver);
if (ret) if (ret)
return ret; return ret;
......
...@@ -191,7 +191,7 @@ static void aspeed_gfx_unload(struct drm_device *drm) ...@@ -191,7 +191,7 @@ static void aspeed_gfx_unload(struct drm_device *drm)
DEFINE_DRM_GEM_CMA_FOPS(fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
DRM_GEM_CMA_DRIVER_OPS, DRM_GEM_CMA_DRIVER_OPS,
.fops = &fops, .fops = &fops,
......
...@@ -49,7 +49,7 @@ module_param_named(modeset, ast_modeset, int, 0400); ...@@ -49,7 +49,7 @@ module_param_named(modeset, ast_modeset, int, 0400);
DEFINE_DRM_GEM_FOPS(ast_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_features = DRIVER_ATOMIC |
DRIVER_GEM | DRIVER_GEM |
DRIVER_MODESET, DRIVER_MODESET,
......
...@@ -159,7 +159,7 @@ static inline struct ast_private *to_ast_private(struct drm_device *dev) ...@@ -159,7 +159,7 @@ static inline struct ast_private *to_ast_private(struct drm_device *dev)
return container_of(dev, struct ast_private, base); 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, struct pci_dev *pdev,
unsigned long flags); unsigned long flags);
......
...@@ -392,7 +392,7 @@ static void ast_device_release(void *data) ...@@ -392,7 +392,7 @@ static void ast_device_release(void *data)
ast_set_index_reg(ast, AST_IO_CRTC_PORT, 0xa1, 0x04); 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, struct pci_dev *pdev,
unsigned long flags) unsigned long flags)
{ {
......
...@@ -815,7 +815,7 @@ static void atmel_hlcdc_dc_irq_uninstall(struct drm_device *dev) ...@@ -815,7 +815,7 @@ static void atmel_hlcdc_dc_irq_uninstall(struct drm_device *dev)
DEFINE_DRM_GEM_CMA_FOPS(fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.irq_handler = atmel_hlcdc_dc_irq_handler, .irq_handler = atmel_hlcdc_dc_irq_handler,
.irq_preinstall = atmel_hlcdc_dc_irq_uninstall, .irq_preinstall = atmel_hlcdc_dc_irq_uninstall,
......
...@@ -57,7 +57,7 @@ static int bochs_load(struct drm_device *dev) ...@@ -57,7 +57,7 @@ static int bochs_load(struct drm_device *dev)
DEFINE_DRM_GEM_FOPS(bochs_fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &bochs_fops, .fops = &bochs_fops,
.name = "bochs-drm", .name = "bochs-drm",
......
...@@ -480,7 +480,7 @@ static const struct file_operations fops = { ...@@ -480,7 +480,7 @@ static const struct file_operations fops = {
.mmap = etnaviv_gem_mmap, .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, .driver_features = DRIVER_GEM | DRIVER_RENDER,
.open = etnaviv_open, .open = etnaviv_open,
.postclose = etnaviv_postclose, .postclose = etnaviv_postclose,
......
...@@ -113,7 +113,7 @@ static const struct file_operations exynos_drm_driver_fops = { ...@@ -113,7 +113,7 @@ static const struct file_operations exynos_drm_driver_fops = {
.release = drm_release, .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_features = DRIVER_MODESET | DRIVER_GEM
| DRIVER_ATOMIC | DRIVER_RENDER, | DRIVER_ATOMIC | DRIVER_RENDER,
.open = exynos_drm_open, .open = exynos_drm_open,
......
...@@ -134,7 +134,7 @@ static irqreturn_t fsl_dcu_drm_irq(int irq, void *arg) ...@@ -134,7 +134,7 @@ static irqreturn_t fsl_dcu_drm_irq(int irq, void *arg)
DEFINE_DRM_GEM_CMA_FOPS(fsl_dcu_drm_fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.load = fsl_dcu_load, .load = fsl_dcu_load,
.unload = fsl_dcu_unload, .unload = fsl_dcu_unload,
...@@ -234,7 +234,6 @@ static int fsl_dcu_drm_probe(struct platform_device *pdev) ...@@ -234,7 +234,6 @@ static int fsl_dcu_drm_probe(struct platform_device *pdev)
struct device *dev = &pdev->dev; struct device *dev = &pdev->dev;
struct resource *res; struct resource *res;
void __iomem *base; void __iomem *base;
struct drm_driver *driver = &fsl_dcu_drm_driver;
struct clk *pix_clk_in; struct clk *pix_clk_in;
char pix_clk_name[32]; char pix_clk_name[32];
const char *pix_clk_in_name; const char *pix_clk_in_name;
...@@ -304,7 +303,7 @@ static int fsl_dcu_drm_probe(struct platform_device *pdev) ...@@ -304,7 +303,7 @@ static int fsl_dcu_drm_probe(struct platform_device *pdev)
fsl_dev->tcon = fsl_tcon_init(dev); 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)) { if (IS_ERR(drm)) {
ret = PTR_ERR(drm); ret = PTR_ERR(drm);
goto unregister_pix_clk; goto unregister_pix_clk;
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
#include "psb_intel_reg.h" #include "psb_intel_reg.h"
#include "psb_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); static int psb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent);
/* /*
...@@ -491,7 +491,7 @@ static const struct file_operations psb_gem_fops = { ...@@ -491,7 +491,7 @@ static const struct file_operations psb_gem_fops = {
.read = drm_read, .read = drm_read,
}; };
static struct drm_driver driver = { static const struct drm_driver driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM, .driver_features = DRIVER_MODESET | DRIVER_GEM,
.lastclose = drm_fb_helper_lastclose, .lastclose = drm_fb_helper_lastclose,
......
...@@ -43,7 +43,7 @@ static irqreturn_t hibmc_drm_interrupt(int irq, void *arg) ...@@ -43,7 +43,7 @@ static irqreturn_t hibmc_drm_interrupt(int irq, void *arg)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
static struct drm_driver hibmc_driver = { static const struct drm_driver hibmc_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &hibmc_fops, .fops = &hibmc_fops,
.name = "hibmc", .name = "hibmc",
......
...@@ -918,7 +918,7 @@ static const struct drm_mode_config_funcs ade_mode_config_funcs = { ...@@ -918,7 +918,7 @@ static const struct drm_mode_config_funcs ade_mode_config_funcs = {
DEFINE_DRM_GEM_CMA_FOPS(ade_fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &ade_fops, .fops = &ade_fops,
DRM_GEM_CMA_DRIVER_OPS, DRM_GEM_CMA_DRIVER_OPS,
......
...@@ -40,7 +40,7 @@ struct kirin_drm_data { ...@@ -40,7 +40,7 @@ struct kirin_drm_data {
u32 num_planes; u32 num_planes;
u32 prim_plane; 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_helper_funcs *crtc_helper_funcs;
const struct drm_crtc_funcs *crtc_funcs; const struct drm_crtc_funcs *crtc_funcs;
const struct drm_plane_helper_funcs *plane_helper_funcs; const struct drm_plane_helper_funcs *plane_helper_funcs;
......
...@@ -86,7 +86,7 @@ ...@@ -86,7 +86,7 @@
#include "intel_pm.h" #include "intel_pm.h"
#include "vlv_suspend.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) static int i915_get_bridge_dev(struct drm_i915_private *dev_priv)
{ {
...@@ -1737,7 +1737,7 @@ static const struct drm_ioctl_desc i915_ioctls[] = { ...@@ -1737,7 +1737,7 @@ static const struct drm_ioctl_desc i915_ioctls[] = {
DRM_IOCTL_DEF_DRV(I915_GEM_VM_DESTROY, i915_gem_vm_destroy_ioctl, DRM_RENDER_ALLOW), 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 /* Don't use MTRRs here; the Xserver or userspace app should
* deal with them for Intel hardware. * deal with them for Intel hardware.
*/ */
......
...@@ -81,7 +81,7 @@ static void mock_device_release(struct drm_device *dev) ...@@ -81,7 +81,7 @@ static void mock_device_release(struct drm_device *dev)
i915_params_free(&i915->params); i915_params_free(&i915->params);
} }
static struct drm_driver mock_driver = { static const struct drm_driver mock_driver = {
.name = "mock", .name = "mock",
.driver_features = DRIVER_GEM, .driver_features = DRIVER_GEM,
.release = mock_device_release, .release = mock_device_release,
......
...@@ -26,7 +26,7 @@ static const struct drm_mode_config_funcs dcss_drm_mode_config_funcs = { ...@@ -26,7 +26,7 @@ static const struct drm_mode_config_funcs dcss_drm_mode_config_funcs = {
.atomic_commit = drm_atomic_helper_commit, .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, .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
DRM_GEM_CMA_DRIVER_OPS, DRM_GEM_CMA_DRIVER_OPS,
.fops = &dcss_cma_fops, .fops = &dcss_cma_fops,
......
...@@ -144,7 +144,7 @@ static const struct drm_ioctl_desc imx_drm_ioctls[] = { ...@@ -144,7 +144,7 @@ static const struct drm_ioctl_desc imx_drm_ioctls[] = {
/* none so far */ /* 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, .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
DRM_GEM_CMA_DRIVER_OPS, DRM_GEM_CMA_DRIVER_OPS,
.ioctls = imx_drm_ioctls, .ioctls = imx_drm_ioctls,
......
...@@ -716,7 +716,7 @@ static void ingenic_drm_disable_vblank(struct drm_crtc *crtc) ...@@ -716,7 +716,7 @@ static void ingenic_drm_disable_vblank(struct drm_crtc *crtc)
DEFINE_DRM_GEM_CMA_FOPS(ingenic_drm_fops); 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, .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.name = "ingenic-drm", .name = "ingenic-drm",
.desc = "DRM module for Ingenic SoCs", .desc = "DRM module for Ingenic SoCs",
......
...@@ -261,7 +261,7 @@ DEFINE_DRM_GEM_FOPS(lima_drm_driver_fops); ...@@ -261,7 +261,7 @@ DEFINE_DRM_GEM_FOPS(lima_drm_driver_fops);
* - 1.1.0 - add heap buffer support * - 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, .driver_features = DRIVER_RENDER | DRIVER_GEM | DRIVER_SYNCOBJ,
.open = lima_drm_driver_open, .open = lima_drm_driver_open,
.postclose = lima_drm_driver_postclose, .postclose = lima_drm_driver_postclose,
......
...@@ -178,7 +178,7 @@ static int mcde_modeset_init(struct drm_device *drm) ...@@ -178,7 +178,7 @@ static int mcde_modeset_init(struct drm_device *drm)
DEFINE_DRM_GEM_CMA_FOPS(drm_fops); 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_features =
DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC, DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.lastclose = drm_fb_helper_lastclose, .lastclose = drm_fb_helper_lastclose,
......
...@@ -321,7 +321,7 @@ struct drm_gem_object *mtk_drm_gem_prime_import(struct drm_device *dev, ...@@ -321,7 +321,7 @@ struct drm_gem_object *mtk_drm_gem_prime_import(struct drm_device *dev,
return drm_gem_prime_import_dev(dev, dma_buf, private->dma_dev); 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, .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.dumb_create = mtk_drm_gem_dumb_create, .dumb_create = mtk_drm_gem_dumb_create,
......
...@@ -90,7 +90,7 @@ static int meson_dumb_create(struct drm_file *file, struct drm_device *dev, ...@@ -90,7 +90,7 @@ static int meson_dumb_create(struct drm_file *file, struct drm_device *dev,
DEFINE_DRM_GEM_CMA_FOPS(fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
/* IRQ */ /* IRQ */
......
...@@ -28,7 +28,7 @@ module_param_named(modeset, mgag200_modeset, int, 0400); ...@@ -28,7 +28,7 @@ module_param_named(modeset, mgag200_modeset, int, 0400);
DEFINE_DRM_GEM_FOPS(mgag200_driver_fops); 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, .driver_features = DRIVER_ATOMIC | DRIVER_GEM | DRIVER_MODESET,
.fops = &mgag200_driver_fops, .fops = &mgag200_driver_fops,
.name = DRIVER_NAME, .name = DRIVER_NAME,
......
...@@ -393,7 +393,7 @@ static int msm_init_vram(struct drm_device *dev) ...@@ -393,7 +393,7 @@ static int msm_init_vram(struct drm_device *dev)
return ret; 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 platform_device *pdev = to_platform_device(dev);
struct drm_device *ddev; struct drm_device *ddev;
...@@ -984,7 +984,7 @@ static const struct file_operations fops = { ...@@ -984,7 +984,7 @@ static const struct file_operations fops = {
.mmap = msm_gem_mmap, .mmap = msm_gem_mmap,
}; };
static struct drm_driver msm_driver = { static const struct drm_driver msm_driver = {
.driver_features = DRIVER_GEM | .driver_features = DRIVER_GEM |
DRIVER_RENDER | DRIVER_RENDER |
DRIVER_ATOMIC | DRIVER_ATOMIC |
......
...@@ -289,7 +289,7 @@ static irqreturn_t mxsfb_irq_handler(int irq, void *data) ...@@ -289,7 +289,7 @@ static irqreturn_t mxsfb_irq_handler(int irq, void *data)
DEFINE_DRM_GEM_CMA_FOPS(fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.irq_handler = mxsfb_irq_handler, .irq_handler = mxsfb_irq_handler,
.irq_preinstall = mxsfb_irq_disable, .irq_preinstall = mxsfb_irq_disable,
......
...@@ -533,7 +533,7 @@ static const struct file_operations omapdriver_fops = { ...@@ -533,7 +533,7 @@ static const struct file_operations omapdriver_fops = {
.llseek = noop_llseek, .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_features = DRIVER_MODESET | DRIVER_GEM |
DRIVER_ATOMIC | DRIVER_RENDER, DRIVER_ATOMIC | DRIVER_RENDER,
.open = dev_open, .open = dev_open,
......
...@@ -548,7 +548,7 @@ DEFINE_DRM_GEM_FOPS(panfrost_drm_driver_fops); ...@@ -548,7 +548,7 @@ DEFINE_DRM_GEM_FOPS(panfrost_drm_driver_fops);
* - 1.0 - initial interface * - 1.0 - initial interface
* - 1.1 - adds HEAP and NOEXEC flags for CREATE_BO * - 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, .driver_features = DRIVER_RENDER | DRIVER_GEM | DRIVER_SYNCOBJ,
.open = panfrost_open, .open = panfrost_open,
.postclose = panfrost_postclose, .postclose = panfrost_postclose,
......
...@@ -213,7 +213,7 @@ pl111_gem_import_sg_table(struct drm_device *dev, ...@@ -213,7 +213,7 @@ pl111_gem_import_sg_table(struct drm_device *dev,
DEFINE_DRM_GEM_CMA_FOPS(drm_fops); 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_features =
DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC, DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.ioctls = NULL, .ioctls = NULL,
......
...@@ -297,7 +297,7 @@ static struct pci_device_id pciidlist[] = { ...@@ -297,7 +297,7 @@ static struct pci_device_id pciidlist[] = {
MODULE_DEVICE_TABLE(pci, pciidlist); MODULE_DEVICE_TABLE(pci, pciidlist);
static struct drm_driver kms_driver; static const struct drm_driver kms_driver;
bool radeon_device_is_virtual(void); bool radeon_device_is_virtual(void);
...@@ -629,7 +629,7 @@ static const struct drm_ioctl_desc radeon_ioctls_kms[] = { ...@@ -629,7 +629,7 @@ static const struct drm_ioctl_desc radeon_ioctls_kms[] = {
DRM_IOCTL_DEF_DRV(RADEON_GEM_USERPTR, radeon_gem_userptr_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 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_features =
DRIVER_GEM | DRIVER_RENDER | DRIVER_MODESET, DRIVER_GEM | DRIVER_RENDER | DRIVER_MODESET,
.load = radeon_driver_load_kms, .load = radeon_driver_load_kms,
......
...@@ -507,7 +507,7 @@ MODULE_DEVICE_TABLE(of, rcar_du_of_table); ...@@ -507,7 +507,7 @@ MODULE_DEVICE_TABLE(of, rcar_du_of_table);
DEFINE_DRM_GEM_CMA_FOPS(rcar_du_fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(rcar_du_dumb_create), DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(rcar_du_dumb_create),
.fops = &rcar_du_fops, .fops = &rcar_du_fops,
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#define DRIVER_MINOR 0 #define DRIVER_MINOR 0
static bool is_support_iommu = true; 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 * Attach a (component) device to the shared drm dma mapping from master drm
...@@ -209,7 +209,7 @@ static const struct file_operations rockchip_drm_driver_fops = { ...@@ -209,7 +209,7 @@ static const struct file_operations rockchip_drm_driver_fops = {
.release = drm_release, .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, .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.lastclose = drm_fb_helper_lastclose, .lastclose = drm_fb_helper_lastclose,
.dumb_create = rockchip_gem_dumb_create, .dumb_create = rockchip_gem_dumb_create,
......
...@@ -128,7 +128,7 @@ static irqreturn_t shmob_drm_irq(int irq, void *arg) ...@@ -128,7 +128,7 @@ static irqreturn_t shmob_drm_irq(int irq, void *arg)
DEFINE_DRM_GEM_CMA_FOPS(shmob_drm_fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET,
.irq_handler = shmob_drm_irq, .irq_handler = shmob_drm_irq,
DRM_GEM_CMA_DRIVER_OPS, DRM_GEM_CMA_DRIVER_OPS,
......
...@@ -130,7 +130,7 @@ static void sti_mode_config_init(struct drm_device *dev) ...@@ -130,7 +130,7 @@ static void sti_mode_config_init(struct drm_device *dev)
DEFINE_DRM_GEM_CMA_FOPS(sti_driver_fops); 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, .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.fops = &sti_driver_fops, .fops = &sti_driver_fops,
DRM_GEM_CMA_DRIVER_OPS, DRM_GEM_CMA_DRIVER_OPS,
......
...@@ -53,7 +53,7 @@ static int stm_gem_cma_dumb_create(struct drm_file *file, ...@@ -53,7 +53,7 @@ static int stm_gem_cma_dumb_create(struct drm_file *file,
DEFINE_DRM_GEM_CMA_FOPS(drv_driver_fops); 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, .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.name = "stm", .name = "stm",
.desc = "STMicroelectronics SoC DRM", .desc = "STMicroelectronics SoC DRM",
......
...@@ -40,7 +40,7 @@ static int drm_sun4i_gem_dumb_create(struct drm_file *file_priv, ...@@ -40,7 +40,7 @@ static int drm_sun4i_gem_dumb_create(struct drm_file *file_priv,
DEFINE_DRM_GEM_CMA_FOPS(sun4i_drv_fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
/* Generic Operations */ /* Generic Operations */
......
...@@ -847,7 +847,7 @@ static void tegra_debugfs_init(struct drm_minor *minor) ...@@ -847,7 +847,7 @@ static void tegra_debugfs_init(struct drm_minor *minor)
} }
#endif #endif
static struct drm_driver tegra_drm_driver = { static const struct drm_driver tegra_drm_driver = {
.driver_features = DRIVER_MODESET | DRIVER_GEM | .driver_features = DRIVER_MODESET | DRIVER_GEM |
DRIVER_ATOMIC | DRIVER_RENDER, DRIVER_ATOMIC | DRIVER_RENDER,
.open = tegra_drm_open, .open = tegra_drm_open,
...@@ -1081,12 +1081,11 @@ static bool host1x_drm_wants_iommu(struct host1x_device *dev) ...@@ -1081,12 +1081,11 @@ static bool host1x_drm_wants_iommu(struct host1x_device *dev)
static int host1x_drm_probe(struct host1x_device *dev) static int host1x_drm_probe(struct host1x_device *dev)
{ {
struct drm_driver *driver = &tegra_drm_driver;
struct tegra_drm *tegra; struct tegra_drm *tegra;
struct drm_device *drm; struct drm_device *drm;
int err; int err;
drm = drm_dev_alloc(driver, &dev->dev); drm = drm_dev_alloc(&tegra_drm_driver, &dev->dev);
if (IS_ERR(drm)) if (IS_ERR(drm))
return PTR_ERR(drm); return PTR_ERR(drm);
......
...@@ -108,7 +108,7 @@ static void tidss_release(struct drm_device *ddev) ...@@ -108,7 +108,7 @@ static void tidss_release(struct drm_device *ddev)
DEFINE_DRM_GEM_CMA_FOPS(tidss_fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &tidss_fops, .fops = &tidss_fops,
.release = tidss_release, .release = tidss_release,
......
...@@ -166,7 +166,7 @@ static void tilcdc_fini(struct drm_device *dev) ...@@ -166,7 +166,7 @@ static void tilcdc_fini(struct drm_device *dev)
drm_dev_put(dev); 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 drm_device *ddev;
struct platform_device *pdev = to_platform_device(dev); struct platform_device *pdev = to_platform_device(dev);
...@@ -452,7 +452,7 @@ static void tilcdc_debugfs_init(struct drm_minor *minor) ...@@ -452,7 +452,7 @@ static void tilcdc_debugfs_init(struct drm_minor *minor)
DEFINE_DRM_GEM_CMA_FOPS(fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.irq_handler = tilcdc_irq, .irq_handler = tilcdc_irq,
DRM_GEM_CMA_DRIVER_OPS, DRM_GEM_CMA_DRIVER_OPS,
......
...@@ -536,7 +536,7 @@ static int cirrus_mode_config_init(struct cirrus_device *cirrus) ...@@ -536,7 +536,7 @@ static int cirrus_mode_config_init(struct cirrus_device *cirrus)
DEFINE_DRM_GEM_FOPS(cirrus_fops); 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, .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.name = DRIVER_NAME, .name = DRIVER_NAME,
......
...@@ -600,7 +600,7 @@ static const uint64_t gm12u320_pipe_modifiers[] = { ...@@ -600,7 +600,7 @@ static const uint64_t gm12u320_pipe_modifiers[] = {
DEFINE_DRM_GEM_FOPS(gm12u320_fops); 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, .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.name = DRIVER_NAME, .name = DRIVER_NAME,
......
...@@ -193,7 +193,7 @@ static const struct drm_display_mode yx350hv15_mode = { ...@@ -193,7 +193,7 @@ static const struct drm_display_mode yx350hv15_mode = {
DEFINE_DRM_GEM_CMA_FOPS(hx8357d_fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &hx8357d_fops, .fops = &hx8357d_fops,
DRM_GEM_CMA_DRIVER_OPS_VMAP, DRM_GEM_CMA_DRIVER_OPS_VMAP,
......
...@@ -337,7 +337,7 @@ static const struct drm_display_mode ili9225_mode = { ...@@ -337,7 +337,7 @@ static const struct drm_display_mode ili9225_mode = {
DEFINE_DRM_GEM_CMA_FOPS(ili9225_fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &ili9225_fops, .fops = &ili9225_fops,
DRM_GEM_CMA_DRIVER_OPS_VMAP, DRM_GEM_CMA_DRIVER_OPS_VMAP,
......
...@@ -149,7 +149,7 @@ static const struct drm_display_mode yx240qv29_mode = { ...@@ -149,7 +149,7 @@ static const struct drm_display_mode yx240qv29_mode = {
DEFINE_DRM_GEM_CMA_FOPS(ili9341_fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &ili9341_fops, .fops = &ili9341_fops,
DRM_GEM_CMA_DRIVER_OPS_VMAP, DRM_GEM_CMA_DRIVER_OPS_VMAP,
......
...@@ -162,7 +162,7 @@ static const struct drm_display_mode waveshare_mode = { ...@@ -162,7 +162,7 @@ static const struct drm_display_mode waveshare_mode = {
DEFINE_DRM_GEM_CMA_FOPS(ili9486_fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &ili9486_fops, .fops = &ili9486_fops,
DRM_GEM_CMA_DRIVER_OPS_VMAP, DRM_GEM_CMA_DRIVER_OPS_VMAP,
......
...@@ -153,7 +153,7 @@ static const struct drm_display_mode mi0283qt_mode = { ...@@ -153,7 +153,7 @@ static const struct drm_display_mode mi0283qt_mode = {
DEFINE_DRM_GEM_CMA_FOPS(mi0283qt_fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &mi0283qt_fops, .fops = &mi0283qt_fops,
DRM_GEM_CMA_DRIVER_OPS_VMAP, DRM_GEM_CMA_DRIVER_OPS_VMAP,
......
...@@ -936,7 +936,7 @@ static const u8 repaper_e2271cs021_cs[] = { 0x00, 0x00, 0x00, 0x7f, ...@@ -936,7 +936,7 @@ static const u8 repaper_e2271cs021_cs[] = { 0x00, 0x00, 0x00, 0x7f,
DEFINE_DRM_GEM_CMA_FOPS(repaper_fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &repaper_fops, .fops = &repaper_fops,
DRM_GEM_CMA_DRIVER_OPS_VMAP, DRM_GEM_CMA_DRIVER_OPS_VMAP,
......
...@@ -277,7 +277,7 @@ static const struct drm_display_mode st7586_mode = { ...@@ -277,7 +277,7 @@ static const struct drm_display_mode st7586_mode = {
DEFINE_DRM_GEM_CMA_FOPS(st7586_fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &st7586_fops, .fops = &st7586_fops,
DRM_GEM_CMA_DRIVER_OPS_VMAP, DRM_GEM_CMA_DRIVER_OPS_VMAP,
......
...@@ -154,7 +154,7 @@ static const struct st7735r_cfg rh128128t_cfg = { ...@@ -154,7 +154,7 @@ static const struct st7735r_cfg rh128128t_cfg = {
DEFINE_DRM_GEM_CMA_FOPS(st7735r_fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.fops = &st7735r_fops, .fops = &st7735r_fops,
DRM_GEM_CMA_DRIVER_OPS_VMAP, DRM_GEM_CMA_DRIVER_OPS_VMAP,
......
...@@ -137,7 +137,7 @@ static int tve200_modeset_init(struct drm_device *dev) ...@@ -137,7 +137,7 @@ static int tve200_modeset_init(struct drm_device *dev)
DEFINE_DRM_GEM_CMA_FOPS(drm_fops); 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, .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
.ioctls = NULL, .ioctls = NULL,
.fops = &drm_fops, .fops = &drm_fops,
......
...@@ -34,7 +34,7 @@ static int udl_usb_resume(struct usb_interface *interface) ...@@ -34,7 +34,7 @@ static int udl_usb_resume(struct usb_interface *interface)
DEFINE_DRM_GEM_FOPS(udl_driver_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, .driver_features = DRIVER_ATOMIC | DRIVER_GEM | DRIVER_MODESET,
/* GEM hooks */ /* GEM hooks */
......
...@@ -194,7 +194,7 @@ static const struct drm_ioctl_desc v3d_drm_ioctls[] = { ...@@ -194,7 +194,7 @@ static const struct drm_ioctl_desc v3d_drm_ioctls[] = {
DRM_IOCTL_DEF_DRV(V3D_SUBMIT_CSD, v3d_submit_csd_ioctl, DRM_RENDER_ALLOW | DRM_AUTH), 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_features = (DRIVER_GEM |
DRIVER_RENDER | DRIVER_RENDER |
DRIVER_SYNCOBJ), DRIVER_SYNCOBJ),
......
...@@ -26,7 +26,7 @@ static int vbox_modeset = -1; ...@@ -26,7 +26,7 @@ static int vbox_modeset = -1;
MODULE_PARM_DESC(modeset, "Disable/Enable modesetting"); MODULE_PARM_DESC(modeset, "Disable/Enable modesetting");
module_param_named(modeset, vbox_modeset, int, 0400); 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[] = { static const struct pci_device_id pciidlist[] = {
{ PCI_DEVICE(0x80ee, 0xbeef) }, { PCI_DEVICE(0x80ee, 0xbeef) },
...@@ -175,7 +175,7 @@ static struct pci_driver vbox_pci_driver = { ...@@ -175,7 +175,7 @@ static struct pci_driver vbox_pci_driver = {
DEFINE_DRM_GEM_FOPS(vbox_fops); DEFINE_DRM_GEM_FOPS(vbox_fops);
static struct drm_driver driver = { static const struct drm_driver driver = {
.driver_features = .driver_features =
DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC, DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
......
...@@ -415,7 +415,7 @@ static const struct drm_gem_object_funcs vgem_gem_object_funcs = { ...@@ -415,7 +415,7 @@ static const struct drm_gem_object_funcs vgem_gem_object_funcs = {
.vm_ops = &vgem_gem_vm_ops, .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, .driver_features = DRIVER_GEM | DRIVER_RENDER,
.open = vgem_open, .open = vgem_open,
.postclose = vgem_postclose, .postclose = vgem_postclose,
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
#include "virtgpu_drv.h" #include "virtgpu_drv.h"
static struct drm_driver driver; static const struct drm_driver driver;
static int virtio_gpu_modeset = -1; static int virtio_gpu_modeset = -1;
...@@ -190,7 +190,7 @@ MODULE_AUTHOR("Alon Levy"); ...@@ -190,7 +190,7 @@ MODULE_AUTHOR("Alon Levy");
DEFINE_DRM_GEM_FOPS(virtio_gpu_driver_fops); 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, .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_RENDER | DRIVER_ATOMIC,
.open = virtio_gpu_driver_open, .open = virtio_gpu_driver_open,
.postclose = virtio_gpu_driver_postclose, .postclose = virtio_gpu_driver_postclose,
......
...@@ -78,7 +78,7 @@ static void vkms_atomic_commit_tail(struct drm_atomic_state *old_state) ...@@ -78,7 +78,7 @@ static void vkms_atomic_commit_tail(struct drm_atomic_state *old_state)
drm_atomic_helper_cleanup_planes(dev, old_state); 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, .driver_features = DRIVER_MODESET | DRIVER_ATOMIC | DRIVER_GEM,
.release = vkms_release, .release = vkms_release,
.fops = &vkms_driver_fops, .fops = &vkms_driver_fops,
......
...@@ -1469,7 +1469,7 @@ static const struct file_operations vmwgfx_driver_fops = { ...@@ -1469,7 +1469,7 @@ static const struct file_operations vmwgfx_driver_fops = {
.get_unmapped_area = vmw_get_unmapped_area, .get_unmapped_area = vmw_get_unmapped_area,
}; };
static struct drm_driver driver = { static const struct drm_driver driver = {
.driver_features = .driver_features =
DRIVER_MODESET | DRIVER_RENDER | DRIVER_ATOMIC, DRIVER_MODESET | DRIVER_RENDER | DRIVER_ATOMIC,
.ioctls = vmw_ioctls, .ioctls = vmw_ioctls,
......
...@@ -483,7 +483,7 @@ static const struct file_operations xen_drm_dev_fops = { ...@@ -483,7 +483,7 @@ static const struct file_operations xen_drm_dev_fops = {
.mmap = xen_drm_front_gem_mmap, .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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
.release = xen_drm_drv_release, .release = xen_drm_drv_release,
.prime_handle_to_fd = drm_gem_prime_handle_to_fd, .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
......
...@@ -76,7 +76,7 @@ static const struct drm_mode_config_funcs zynqmp_dpsub_mode_config_funcs = { ...@@ -76,7 +76,7 @@ static const struct drm_mode_config_funcs zynqmp_dpsub_mode_config_funcs = {
DEFINE_DRM_GEM_CMA_FOPS(zynqmp_dpsub_drm_fops); 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_features = DRIVER_MODESET | DRIVER_GEM |
DRIVER_ATOMIC, DRIVER_ATOMIC,
......
...@@ -34,7 +34,7 @@ static const struct drm_mode_config_funcs zx_drm_mode_config_funcs = { ...@@ -34,7 +34,7 @@ static const struct drm_mode_config_funcs zx_drm_mode_config_funcs = {
DEFINE_DRM_GEM_CMA_FOPS(zx_drm_fops); 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, .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
DRM_GEM_CMA_DRIVER_OPS, DRM_GEM_CMA_DRIVER_OPS,
.fops = &zx_drm_fops, .fops = &zx_drm_fops,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment