Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm: Don't export internal module variables

Drivers really have no business touching these. Noticed because
exynose _did_ touch the vblank off delay, which could potentially
affect other drivers.

drm_debug is an exception since it's used in macros and inline
functions.

Note that this reduces the timeout on exynos from 50s to 5s.
Apparently this was done to paper over a vblank get/put race in
exynos, but really should be fixed properly somewhere else. Spotted by
David.

v2: Drop bonghits changes. Note to self: Don't submit patches
before first coffee.

Cc: Inki Dae <inki.dae@samsung.com>
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

-10
-4
drivers/gpu/drm/drm_stub.c
··· 38 38 EXPORT_SYMBOL(drm_debug); 39 39 40 40 unsigned int drm_rnodes = 0; /* 1 to enable experimental render nodes API */ 41 - EXPORT_SYMBOL(drm_rnodes); 42 41 43 42 /* 1 to allow user space to request universal planes (experimental) */ 44 43 unsigned int drm_universal_planes = 0; 45 - EXPORT_SYMBOL(drm_universal_planes); 46 44 47 45 unsigned int drm_vblank_offdelay = 5000; /* Default to 5000 msecs. */ 48 - EXPORT_SYMBOL(drm_vblank_offdelay); 49 46 50 47 unsigned int drm_timestamp_precision = 20; /* Default to 20 usecs. */ 51 - EXPORT_SYMBOL(drm_timestamp_precision); 52 48 53 49 /* 54 50 * Default to use monotonic timestamps for wait-for-vblank and page-flip
-4
drivers/gpu/drm/exynos/exynos_drm_drv.c
··· 39 39 #define DRIVER_MAJOR 1 40 40 #define DRIVER_MINOR 0 41 41 42 - #define VBLANK_OFF_DELAY 50000 43 - 44 42 static struct platform_device *exynos_drm_pdev; 45 43 46 44 static DEFINE_MUTEX(drm_component_lock); ··· 100 102 101 103 /* setup possible_clones. */ 102 104 exynos_drm_encoder_setup(dev); 103 - 104 - drm_vblank_offdelay = VBLANK_OFF_DELAY; 105 105 106 106 platform_set_drvdata(dev->platformdev, dev); 107 107
-2
drivers/gpu/drm/exynos/exynos_drm_drv.h
··· 40 40 struct exynos_drm_overlay; 41 41 struct drm_connector; 42 42 43 - extern unsigned int drm_vblank_offdelay; 44 - 45 43 /* This enumerates device type. */ 46 44 enum exynos_drm_device_type { 47 45 EXYNOS_DEVICE_TYPE_NONE,