drm/<drivers>: Constify struct drm_driver
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 4 Nov 2020 10:04:24 +0000 (11:04 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 6 Nov 2020 09:31:26 +0000 (10:31 +0100)
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: Sam Ravnborg <sam@ravnborg.org>
Cc: kernel test robot <lkp@intel.com>
Acked-by: Maxime Ripard <mripard@kernel.org>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel 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: Daniel Vetter <daniel.vetter@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201104100425.1922351-5-daniel.vetter@ffwll.ch
63 files changed:
drivers/gpu/drm/arm/display/komeda/komeda_kms.c
drivers/gpu/drm/arm/hdlcd_drv.c
drivers/gpu/drm/arm/malidp_drv.c
drivers/gpu/drm/armada/armada_drv.c
drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
drivers/gpu/drm/ast/ast_drv.c
drivers/gpu/drm/ast/ast_drv.h
drivers/gpu/drm/ast/ast_main.c
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
drivers/gpu/drm/bochs/bochs_drv.c
drivers/gpu/drm/etnaviv/etnaviv_drv.c
drivers/gpu/drm/exynos/exynos_drm_drv.c
drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
drivers/gpu/drm/gma500/psb_drv.c
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/selftests/mock_gem_device.c
drivers/gpu/drm/imx/dcss/dcss-kms.c
drivers/gpu/drm/imx/imx-drm-core.c
drivers/gpu/drm/ingenic/ingenic-drm-drv.c
drivers/gpu/drm/lima/lima_drv.c
drivers/gpu/drm/mcde/mcde_drv.c
drivers/gpu/drm/mediatek/mtk_drm_drv.c
drivers/gpu/drm/meson/meson_drv.c
drivers/gpu/drm/mgag200/mgag200_drv.c
drivers/gpu/drm/msm/msm_drv.c
drivers/gpu/drm/mxsfb/mxsfb_drv.c
drivers/gpu/drm/omapdrm/omap_drv.c
drivers/gpu/drm/panfrost/panfrost_drv.c
drivers/gpu/drm/pl111/pl111_drv.c
drivers/gpu/drm/radeon/radeon_drv.c
drivers/gpu/drm/rcar-du/rcar_du_drv.c
drivers/gpu/drm/rockchip/rockchip_drm_drv.c
drivers/gpu/drm/shmobile/shmob_drm_drv.c
drivers/gpu/drm/sti/sti_drv.c
drivers/gpu/drm/stm/drv.c
drivers/gpu/drm/sun4i/sun4i_drv.c
drivers/gpu/drm/tegra/drm.c
drivers/gpu/drm/tidss/tidss_drv.c
drivers/gpu/drm/tilcdc/tilcdc_drv.c
drivers/gpu/drm/tiny/cirrus.c
drivers/gpu/drm/tiny/gm12u320.c
drivers/gpu/drm/tiny/hx8357d.c
drivers/gpu/drm/tiny/ili9225.c
drivers/gpu/drm/tiny/ili9341.c
drivers/gpu/drm/tiny/ili9486.c
drivers/gpu/drm/tiny/mi0283qt.c
drivers/gpu/drm/tiny/repaper.c
drivers/gpu/drm/tiny/st7586.c
drivers/gpu/drm/tiny/st7735r.c
drivers/gpu/drm/tve200/tve200_drv.c
drivers/gpu/drm/udl/udl_drv.c
drivers/gpu/drm/v3d/v3d_drv.c
drivers/gpu/drm/vboxvideo/vbox_drv.c
drivers/gpu/drm/vgem/vgem_drv.c
drivers/gpu/drm/virtio/virtgpu_drv.c
drivers/gpu/drm/vkms/vkms_drv.c
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
drivers/gpu/drm/xen/xen_drm_front.c
drivers/gpu/drm/xlnx/zynqmp_dpsub.c
drivers/gpu/drm/zte/zx_drm_drv.c

index 1f66820..6b99df6 100644 (file)
@@ -58,7 +58,7 @@ static irqreturn_t komeda_kms_irq_handler(int irq, void *data)
        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),
index faa8a5a..81ae923 100644 (file)
@@ -234,7 +234,7 @@ static void hdlcd_debugfs_init(struct drm_minor *minor)
 
 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,
index 69fee05..fceda01 100644 (file)
@@ -561,7 +561,7 @@ static void malidp_debugfs_init(struct drm_minor *minor)
 
 #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
index 22247cf..44fe9f9 100644 (file)
@@ -27,7 +27,7 @@
 #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),
@@ -35,7 +35,7 @@ static struct drm_ioctl_desc armada_ioctls[] = {
 
 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,
@@ -48,6 +48,7 @@ static struct drm_driver armada_drm_driver = {
        .date                   = "20120730",
        .driver_features        = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
        .ioctls                 = armada_ioctls,
+       .num_ioctls = ARRAY_SIZE(armada_ioctls),
        .fops                   = &armada_drm_fops,
 };
 
@@ -275,8 +276,6 @@ static int __init armada_drm_init(void)
 {
        int ret;
 
-       armada_drm_driver.num_ioctls = ARRAY_SIZE(armada_ioctls);
-
        ret = platform_driver_register(&armada_lcd_platform_driver);
        if (ret)
                return ret;
index 771ad71..457ec04 100644 (file)
@@ -191,7 +191,7 @@ static void aspeed_gfx_unload(struct drm_device *drm)
 
 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,
index f0b4af1..667b450 100644 (file)
@@ -49,7 +49,7 @@ module_param_named(modeset, ast_modeset, int, 0400);
 
 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,
index 467049c..33e596a 100644 (file)
@@ -159,7 +159,7 @@ static inline struct ast_private *to_ast_private(struct drm_device *dev)
        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);
 
index 77066bc..45dd818 100644 (file)
@@ -392,7 +392,7 @@ static void ast_device_release(void *data)
        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)
 {
index 871293d..98fb53b 100644 (file)
@@ -815,7 +815,7 @@ static void atmel_hlcdc_dc_irq_uninstall(struct drm_device *dev)
 
 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,
index e18c51d..fd45422 100644 (file)
@@ -57,7 +57,7 @@ err:
 
 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",
index aa270b7..7604e3c 100644 (file)
@@ -480,7 +480,7 @@ static const struct file_operations fops = {
        .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,
index fe46680..e60257f 100644 (file)
@@ -113,7 +113,7 @@ static const struct file_operations exynos_drm_driver_fops = {
        .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,
index abbc1dd..7528e8a 100644 (file)
@@ -134,7 +134,7 @@ static irqreturn_t fsl_dcu_drm_irq(int irq, void *arg)
 
 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,
@@ -234,7 +234,6 @@ static int fsl_dcu_drm_probe(struct platform_device *pdev)
        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;
@@ -304,7 +303,7 @@ static int fsl_dcu_drm_probe(struct platform_device *pdev)
 
        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;
index b13376a..6e7197d 100644 (file)
@@ -34,7 +34,7 @@
 #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);
 
 /*
@@ -491,7 +491,7 @@ static const struct file_operations psb_gem_fops = {
        .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,
 
index fee6fe8..d845657 100644 (file)
@@ -43,7 +43,7 @@ static irqreturn_t hibmc_drm_interrupt(int irq, void *arg)
        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",
index d84d41f..aa6c53f 100644 (file)
@@ -918,7 +918,7 @@ static const struct drm_mode_config_funcs ade_mode_config_funcs = {
 
 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,
index dee8ec2..386d137 100644 (file)
@@ -40,7 +40,7 @@ struct kirin_drm_data {
        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;
index 45e719c..b15d206 100644 (file)
@@ -86,7 +86,7 @@
 #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)
 {
@@ -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),
 };
 
-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.
         */
index 9220c9d..e946bd2 100644 (file)
@@ -81,7 +81,7 @@ out:
        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,
index b72e5ce..b549ce5 100644 (file)
@@ -26,7 +26,7 @@ static const struct drm_mode_config_funcs dcss_drm_mode_config_funcs = {
        .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,
index 7d00c49..bffa4a5 100644 (file)
@@ -144,7 +144,7 @@ static const struct drm_ioctl_desc imx_drm_ioctls[] = {
        /* 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,
index b9c156e..9bfdec3 100644 (file)
@@ -716,7 +716,7 @@ static void ingenic_drm_disable_vblank(struct drm_crtc *crtc)
 
 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",
index ab46012..d497af9 100644 (file)
@@ -261,7 +261,7 @@ DEFINE_DRM_GEM_FOPS(lima_drm_driver_fops);
  * - 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,
index f9b5f45..870626e 100644 (file)
@@ -178,7 +178,7 @@ static int mcde_modeset_init(struct drm_device *drm)
 
 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,
index 7f3398a..2e8065b 100644 (file)
@@ -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);
 }
 
-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,
index 8b9c8dd..dc8509c 100644 (file)
@@ -90,7 +90,7 @@ static int meson_dumb_create(struct drm_file *file, struct drm_device *dev,
 
 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 */
index 771b26a..0f07f25 100644 (file)
@@ -28,7 +28,7 @@ module_param_named(modeset, mgag200_modeset, int, 0400);
 
 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,
index aa45097..f8fd31e 100644 (file)
@@ -393,7 +393,7 @@ static int msm_init_vram(struct drm_device *dev)
        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;
@@ -984,7 +984,7 @@ static const struct file_operations fops = {
        .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 |
index 35122ae..6faf17b 100644 (file)
@@ -289,7 +289,7 @@ static irqreturn_t mxsfb_irq_handler(int irq, void *data)
 
 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,
index 2e598b8..e9951b7 100644 (file)
@@ -533,7 +533,7 @@ static const struct file_operations omapdriver_fops = {
        .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,
index 6e5deda..ef8703d 100644 (file)
@@ -548,7 +548,7 @@ DEFINE_DRM_GEM_FOPS(panfrost_drm_driver_fops);
  * - 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,
index ecef8a2..9bf30c1 100644 (file)
@@ -213,7 +213,7 @@ pl111_gem_import_sg_table(struct drm_device *dev,
 
 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,
index 9c11e36..bfadb79 100644 (file)
@@ -297,7 +297,7 @@ static struct pci_device_id 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);
 
@@ -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),
 };
 
-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,
index 447be99..600056d 100644 (file)
@@ -507,7 +507,7 @@ MODULE_DEVICE_TABLE(of, rcar_du_of_table);
 
 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,
index b7654f5..212bd87 100644 (file)
@@ -35,7 +35,7 @@
 #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
@@ -209,7 +209,7 @@ static const struct file_operations rockchip_drm_driver_fops = {
        .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,
index 26a15c2..0a02b70 100644 (file)
@@ -128,7 +128,7 @@ static irqreturn_t shmob_drm_irq(int irq, void *arg)
 
 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,
index 3f54efa..c7efb43 100644 (file)
@@ -130,7 +130,7 @@ static void sti_mode_config_init(struct drm_device *dev)
 
 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,
index 411103f..222869b 100644 (file)
@@ -53,7 +53,7 @@ static int stm_gem_cma_dumb_create(struct drm_file *file,
 
 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",
index 29861fc..9150293 100644 (file)
@@ -40,7 +40,7 @@ static int drm_sun4i_gem_dumb_create(struct drm_file *file_priv,
 
 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 */
index f0f581c..19ffb06 100644 (file)
@@ -847,7 +847,7 @@ static void tegra_debugfs_init(struct drm_minor *minor)
 }
 #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,
@@ -1081,12 +1081,11 @@ static bool host1x_drm_wants_iommu(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 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);
 
index 9179ea1..66e3c86 100644 (file)
@@ -108,7 +108,7 @@ static void tidss_release(struct drm_device *ddev)
 
 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,
index 3d7e4db..f1d3a9f 100644 (file)
@@ -166,7 +166,7 @@ static void tilcdc_fini(struct drm_device *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 platform_device *pdev = to_platform_device(dev);
@@ -452,7 +452,7 @@ static void tilcdc_debugfs_init(struct drm_minor *minor)
 
 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,
index 744a8e3..4f39980 100644 (file)
@@ -536,7 +536,7 @@ static int cirrus_mode_config_init(struct cirrus_device *cirrus)
 
 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,
index cc39767..5a953c4 100644 (file)
@@ -600,7 +600,7 @@ static const uint64_t gm12u320_pipe_modifiers[] = {
 
 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,
index 0998309..c6525cd 100644 (file)
@@ -193,7 +193,7 @@ static const struct drm_display_mode yx350hv15_mode = {
 
 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,
index 97a7726..8e98962 100644 (file)
@@ -337,7 +337,7 @@ static const struct drm_display_mode ili9225_mode = {
 
 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,
index d39c39d..6ce97f0 100644 (file)
@@ -149,7 +149,7 @@ static const struct drm_display_mode yx240qv29_mode = {
 
 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,
index 403af68..d7ce40e 100644 (file)
@@ -162,7 +162,7 @@ static const struct drm_display_mode waveshare_mode = {
 
 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,
index 2131b42..ff77f98 100644 (file)
@@ -153,7 +153,7 @@ static const struct drm_display_mode mi0283qt_mode = {
 
 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,
index 2e01cf0..11c602f 100644 (file)
@@ -936,7 +936,7 @@ static const u8 repaper_e2271cs021_cs[] = { 0x00, 0x00, 0x00, 0x7f,
 
 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,
index d05de03..ff5cf60 100644 (file)
@@ -277,7 +277,7 @@ static const struct drm_display_mode st7586_mode = {
 
 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,
index c0bc2a1..faaba0a 100644 (file)
@@ -154,7 +154,7 @@ static const struct st7735r_cfg rh128128t_cfg = {
 
 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,
index b5259cb..07140e0 100644 (file)
@@ -137,7 +137,7 @@ finish:
 
 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,
index 96d4317..46df4d0 100644 (file)
@@ -34,7 +34,7 @@ static int udl_usb_resume(struct usb_interface *interface)
 
 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 */
index 9f7c261..2da0c11 100644 (file)
@@ -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),
 };
 
-static struct drm_driver v3d_drm_driver = {
+static const struct drm_driver v3d_drm_driver = {
        .driver_features = (DRIVER_GEM |
                            DRIVER_RENDER |
                            DRIVER_SYNCOBJ),
index cf2e3e6..f3eac72 100644 (file)
@@ -26,7 +26,7 @@ static int vbox_modeset = -1;
 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) },
@@ -175,7 +175,7 @@ static struct pci_driver vbox_pci_driver = {
 
 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,
 
index fa54a6d..3e9b7a4 100644 (file)
@@ -415,7 +415,7 @@ static const struct drm_gem_object_funcs vgem_gem_object_funcs = {
        .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,
index 86330f1..27f13bd 100644 (file)
@@ -37,7 +37,7 @@
 
 #include "virtgpu_drv.h"
 
-static struct drm_driver driver;
+static const struct drm_driver driver;
 
 static int virtio_gpu_modeset = -1;
 
@@ -190,7 +190,7 @@ MODULE_AUTHOR("Alon Levy");
 
 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,
index 25faba5..1a1b5bc 100644 (file)
@@ -78,7 +78,7 @@ static void vkms_atomic_commit_tail(struct drm_atomic_state *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,
        .release                = vkms_release,
        .fops                   = &vkms_driver_fops,
index 0c42d2c..216daf9 100644 (file)
@@ -1469,7 +1469,7 @@ static const struct file_operations vmwgfx_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,
index 98b6d2b..30d9adf 100644 (file)
@@ -483,7 +483,7 @@ static const struct file_operations xen_drm_dev_fops = {
        .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,
index f3ffc37..0c1c502 100644 (file)
@@ -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);
 
-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,
 
index 31014a4..5506336 100644 (file)
@@ -34,7 +34,7 @@ static const struct drm_mode_config_funcs zx_drm_mode_config_funcs = {
 
 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,