aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2018-09-13 15:20:50 -0400
committerChris Wilson <chris@chris-wilson.co.uk>2018-09-14 12:29:47 -0400
commit69fdf4206a8ba91a277b3d50a3a05b71247635b2 (patch)
tree4f73d2f0c6f9065185b166b214be1a9085d05d9d /drivers/gpu
parent6f19eb21a2ef9a2da938106ccc98e296ee02f4d3 (diff)
drm: Differentiate the lack of an interface from invalid parameter
If the ioctl is not supported on a particular piece of HW/driver combination, report ENOTSUP (aka EOPNOTSUPP) so that it can be easily distinguished from both the lack of the ioctl and from a regular invalid parameter. v2: Across all the kms ioctls we had a mixture of reporting EINVAL, ENODEV and a few ENOTSUPP (most where EINVAL) for a failed drm_core_check_feature(). Update everybody to report ENOTSUPP. v3: ENOTSUPP is an internal errno! It's value (524) does not correspond to a POSIX errno, the one we want is ENOTSUP. However, uapi/asm-generic/errno.h doesn't include ENOTSUP but man errno says "ENOTSUP and EOPNOTSUPP have the same value on Linux, but according to POSIX.1 these error values should be distinct." so use EOPNOTSUPP as its equivalent. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> #v2 Link: https://patchwork.freedesktop.org/patch/msgid/20180913192050.24812-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/drm_atomic_uapi.c2
-rw-r--r--drivers/gpu/drm/drm_bufs.c32
-rw-r--r--drivers/gpu/drm/drm_client.c2
-rw-r--r--drivers/gpu/drm/drm_color_mgmt.c4
-rw-r--r--drivers/gpu/drm/drm_connector.c2
-rw-r--r--drivers/gpu/drm/drm_context.c16
-rw-r--r--drivers/gpu/drm/drm_crtc.c4
-rw-r--r--drivers/gpu/drm/drm_encoder.c2
-rw-r--r--drivers/gpu/drm/drm_framebuffer.c13
-rw-r--r--drivers/gpu/drm/drm_gem.c6
-rw-r--r--drivers/gpu/drm/drm_ioctl.c4
-rw-r--r--drivers/gpu/drm/drm_irq.c4
-rw-r--r--drivers/gpu/drm/drm_lease.c8
-rw-r--r--drivers/gpu/drm/drm_lock.c4
-rw-r--r--drivers/gpu/drm/drm_mode_config.c3
-rw-r--r--drivers/gpu/drm/drm_mode_object.c4
-rw-r--r--drivers/gpu/drm/drm_pci.c4
-rw-r--r--drivers/gpu/drm/drm_plane.c10
-rw-r--r--drivers/gpu/drm/drm_prime.c4
-rw-r--r--drivers/gpu/drm/drm_property.c8
-rw-r--r--drivers/gpu/drm/drm_scatter.c8
-rw-r--r--drivers/gpu/drm/drm_syncobj.c14
-rw-r--r--drivers/gpu/drm/drm_vblank.c4
23 files changed, 82 insertions, 80 deletions
diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c
index 26690a664ec6..d5b7f315098c 100644
--- a/drivers/gpu/drm/drm_atomic_uapi.c
+++ b/drivers/gpu/drm/drm_atomic_uapi.c
@@ -1251,7 +1251,7 @@ int drm_mode_atomic_ioctl(struct drm_device *dev,
1251 1251
1252 /* disallow for drivers not supporting atomic: */ 1252 /* disallow for drivers not supporting atomic: */
1253 if (!drm_core_check_feature(dev, DRIVER_ATOMIC)) 1253 if (!drm_core_check_feature(dev, DRIVER_ATOMIC))
1254 return -EINVAL; 1254 return -EOPNOTSUPP;
1255 1255
1256 /* disallow for userspace that has not enabled atomic cap (even 1256 /* disallow for userspace that has not enabled atomic cap (even
1257 * though this may be a bit overkill, since legacy userspace 1257 * though this may be a bit overkill, since legacy userspace
diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c
index ba8cfe65c65b..7412acaf3cde 100644
--- a/drivers/gpu/drm/drm_bufs.c
+++ b/drivers/gpu/drm/drm_bufs.c
@@ -398,7 +398,7 @@ int drm_legacy_addmap_ioctl(struct drm_device *dev, void *data,
398 398
399 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) && 399 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) &&
400 !drm_core_check_feature(dev, DRIVER_LEGACY)) 400 !drm_core_check_feature(dev, DRIVER_LEGACY))
401 return -EINVAL; 401 return -EOPNOTSUPP;
402 402
403 err = drm_addmap_core(dev, map->offset, map->size, map->type, 403 err = drm_addmap_core(dev, map->offset, map->size, map->type,
404 map->flags, &maplist); 404 map->flags, &maplist);
@@ -444,7 +444,7 @@ int drm_legacy_getmap_ioctl(struct drm_device *dev, void *data,
444 444
445 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) && 445 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) &&
446 !drm_core_check_feature(dev, DRIVER_LEGACY)) 446 !drm_core_check_feature(dev, DRIVER_LEGACY))
447 return -EINVAL; 447 return -EOPNOTSUPP;
448 448
449 idx = map->offset; 449 idx = map->offset;
450 if (idx < 0) 450 if (idx < 0)
@@ -596,7 +596,7 @@ int drm_legacy_rmmap_ioctl(struct drm_device *dev, void *data,
596 596
597 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) && 597 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) &&
598 !drm_core_check_feature(dev, DRIVER_LEGACY)) 598 !drm_core_check_feature(dev, DRIVER_LEGACY))
599 return -EINVAL; 599 return -EOPNOTSUPP;
600 600
601 mutex_lock(&dev->struct_mutex); 601 mutex_lock(&dev->struct_mutex);
602 list_for_each_entry(r_list, &dev->maplist, head) { 602 list_for_each_entry(r_list, &dev->maplist, head) {
@@ -860,7 +860,7 @@ int drm_legacy_addbufs_pci(struct drm_device *dev,
860 struct drm_buf **temp_buflist; 860 struct drm_buf **temp_buflist;
861 861
862 if (!drm_core_check_feature(dev, DRIVER_PCI_DMA)) 862 if (!drm_core_check_feature(dev, DRIVER_PCI_DMA))
863 return -EINVAL; 863 return -EOPNOTSUPP;
864 864
865 if (!dma) 865 if (!dma)
866 return -EINVAL; 866 return -EINVAL;
@@ -1064,7 +1064,7 @@ static int drm_legacy_addbufs_sg(struct drm_device *dev,
1064 struct drm_buf **temp_buflist; 1064 struct drm_buf **temp_buflist;
1065 1065
1066 if (!drm_core_check_feature(dev, DRIVER_SG)) 1066 if (!drm_core_check_feature(dev, DRIVER_SG))
1067 return -EINVAL; 1067 return -EOPNOTSUPP;
1068 1068
1069 if (!dma) 1069 if (!dma)
1070 return -EINVAL; 1070 return -EINVAL;
@@ -1221,10 +1221,10 @@ int drm_legacy_addbufs(struct drm_device *dev, void *data,
1221 int ret; 1221 int ret;
1222 1222
1223 if (!drm_core_check_feature(dev, DRIVER_LEGACY)) 1223 if (!drm_core_check_feature(dev, DRIVER_LEGACY))
1224 return -EINVAL; 1224 return -EOPNOTSUPP;
1225 1225
1226 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA)) 1226 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA))
1227 return -EINVAL; 1227 return -EOPNOTSUPP;
1228 1228
1229#if IS_ENABLED(CONFIG_AGP) 1229#if IS_ENABLED(CONFIG_AGP)
1230 if (request->flags & _DRM_AGP_BUFFER) 1230 if (request->flags & _DRM_AGP_BUFFER)
@@ -1267,10 +1267,10 @@ int __drm_legacy_infobufs(struct drm_device *dev,
1267 int count; 1267 int count;
1268 1268
1269 if (!drm_core_check_feature(dev, DRIVER_LEGACY)) 1269 if (!drm_core_check_feature(dev, DRIVER_LEGACY))
1270 return -EINVAL; 1270 return -EOPNOTSUPP;
1271 1271
1272 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA)) 1272 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA))
1273 return -EINVAL; 1273 return -EOPNOTSUPP;
1274 1274
1275 if (!dma) 1275 if (!dma)
1276 return -EINVAL; 1276 return -EINVAL;
@@ -1352,10 +1352,10 @@ int drm_legacy_markbufs(struct drm_device *dev, void *data,
1352 struct drm_buf_entry *entry; 1352 struct drm_buf_entry *entry;
1353 1353
1354 if (!drm_core_check_feature(dev, DRIVER_LEGACY)) 1354 if (!drm_core_check_feature(dev, DRIVER_LEGACY))
1355 return -EINVAL; 1355 return -EOPNOTSUPP;
1356 1356
1357 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA)) 1357 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA))
1358 return -EINVAL; 1358 return -EOPNOTSUPP;
1359 1359
1360 if (!dma) 1360 if (!dma)
1361 return -EINVAL; 1361 return -EINVAL;
@@ -1400,10 +1400,10 @@ int drm_legacy_freebufs(struct drm_device *dev, void *data,
1400 struct drm_buf *buf; 1400 struct drm_buf *buf;
1401 1401
1402 if (!drm_core_check_feature(dev, DRIVER_LEGACY)) 1402 if (!drm_core_check_feature(dev, DRIVER_LEGACY))
1403 return -EINVAL; 1403 return -EOPNOTSUPP;
1404 1404
1405 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA)) 1405 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA))
1406 return -EINVAL; 1406 return -EOPNOTSUPP;
1407 1407
1408 if (!dma) 1408 if (!dma)
1409 return -EINVAL; 1409 return -EINVAL;
@@ -1455,10 +1455,10 @@ int __drm_legacy_mapbufs(struct drm_device *dev, void *data, int *p,
1455 int i; 1455 int i;
1456 1456
1457 if (!drm_core_check_feature(dev, DRIVER_LEGACY)) 1457 if (!drm_core_check_feature(dev, DRIVER_LEGACY))
1458 return -EINVAL; 1458 return -EOPNOTSUPP;
1459 1459
1460 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA)) 1460 if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA))
1461 return -EINVAL; 1461 return -EOPNOTSUPP;
1462 1462
1463 if (!dma) 1463 if (!dma)
1464 return -EINVAL; 1464 return -EINVAL;
@@ -1545,7 +1545,7 @@ int drm_legacy_dma_ioctl(struct drm_device *dev, void *data,
1545 struct drm_file *file_priv) 1545 struct drm_file *file_priv)
1546{ 1546{
1547 if (!drm_core_check_feature(dev, DRIVER_LEGACY)) 1547 if (!drm_core_check_feature(dev, DRIVER_LEGACY))
1548 return -EINVAL; 1548 return -EOPNOTSUPP;
1549 1549
1550 if (dev->driver->dma_ioctl) 1550 if (dev->driver->dma_ioctl)
1551 return dev->driver->dma_ioctl(dev, data, file_priv); 1551 return dev->driver->dma_ioctl(dev, data, file_priv);
diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c
index baff50a4c234..17d9a64e885e 100644
--- a/drivers/gpu/drm/drm_client.c
+++ b/drivers/gpu/drm/drm_client.c
@@ -82,7 +82,7 @@ int drm_client_new(struct drm_device *dev, struct drm_client_dev *client,
82 82
83 if (!drm_core_check_feature(dev, DRIVER_MODESET) || 83 if (!drm_core_check_feature(dev, DRIVER_MODESET) ||
84 !dev->driver->dumb_create || !dev->driver->gem_prime_vmap) 84 !dev->driver->dumb_create || !dev->driver->gem_prime_vmap)
85 return -ENOTSUPP; 85 return -EOPNOTSUPP;
86 86
87 if (funcs && !try_module_get(funcs->owner)) 87 if (funcs && !try_module_get(funcs->owner))
88 return -ENODEV; 88 return -ENODEV;
diff --git a/drivers/gpu/drm/drm_color_mgmt.c b/drivers/gpu/drm/drm_color_mgmt.c
index b97e2de2c029..581cc3788223 100644
--- a/drivers/gpu/drm/drm_color_mgmt.c
+++ b/drivers/gpu/drm/drm_color_mgmt.c
@@ -242,7 +242,7 @@ int drm_mode_gamma_set_ioctl(struct drm_device *dev,
242 int ret = 0; 242 int ret = 0;
243 243
244 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 244 if (!drm_core_check_feature(dev, DRIVER_MODESET))
245 return -EINVAL; 245 return -EOPNOTSUPP;
246 246
247 crtc = drm_crtc_find(dev, file_priv, crtc_lut->crtc_id); 247 crtc = drm_crtc_find(dev, file_priv, crtc_lut->crtc_id);
248 if (!crtc) 248 if (!crtc)
@@ -320,7 +320,7 @@ int drm_mode_gamma_get_ioctl(struct drm_device *dev,
320 int ret = 0; 320 int ret = 0;
321 321
322 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 322 if (!drm_core_check_feature(dev, DRIVER_MODESET))
323 return -EINVAL; 323 return -EOPNOTSUPP;
324 324
325 crtc = drm_crtc_find(dev, file_priv, crtc_lut->crtc_id); 325 crtc = drm_crtc_find(dev, file_priv, crtc_lut->crtc_id);
326 if (!crtc) 326 if (!crtc)
diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
index 526619f963e5..1e40e5decbe9 100644
--- a/drivers/gpu/drm/drm_connector.c
+++ b/drivers/gpu/drm/drm_connector.c
@@ -1725,7 +1725,7 @@ int drm_mode_getconnector(struct drm_device *dev, void *data,
1725 LIST_HEAD(export_list); 1725 LIST_HEAD(export_list);
1726 1726
1727 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 1727 if (!drm_core_check_feature(dev, DRIVER_MODESET))
1728 return -EINVAL; 1728 return -EOPNOTSUPP;
1729 1729
1730 memset(&u_mode, 0, sizeof(struct drm_mode_modeinfo)); 1730 memset(&u_mode, 0, sizeof(struct drm_mode_modeinfo));
1731 1731
diff --git a/drivers/gpu/drm/drm_context.c b/drivers/gpu/drm/drm_context.c
index f973d287696a..506663c69b0a 100644
--- a/drivers/gpu/drm/drm_context.c
+++ b/drivers/gpu/drm/drm_context.c
@@ -178,7 +178,7 @@ int drm_legacy_getsareactx(struct drm_device *dev, void *data,
178 178
179 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) && 179 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) &&
180 !drm_core_check_feature(dev, DRIVER_LEGACY)) 180 !drm_core_check_feature(dev, DRIVER_LEGACY))
181 return -EINVAL; 181 return -EOPNOTSUPP;
182 182
183 mutex_lock(&dev->struct_mutex); 183 mutex_lock(&dev->struct_mutex);
184 184
@@ -226,7 +226,7 @@ int drm_legacy_setsareactx(struct drm_device *dev, void *data,
226 226
227 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) && 227 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) &&
228 !drm_core_check_feature(dev, DRIVER_LEGACY)) 228 !drm_core_check_feature(dev, DRIVER_LEGACY))
229 return -EINVAL; 229 return -EOPNOTSUPP;
230 230
231 mutex_lock(&dev->struct_mutex); 231 mutex_lock(&dev->struct_mutex);
232 list_for_each_entry(r_list, &dev->maplist, head) { 232 list_for_each_entry(r_list, &dev->maplist, head) {
@@ -330,7 +330,7 @@ int drm_legacy_resctx(struct drm_device *dev, void *data,
330 330
331 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) && 331 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) &&
332 !drm_core_check_feature(dev, DRIVER_LEGACY)) 332 !drm_core_check_feature(dev, DRIVER_LEGACY))
333 return -EINVAL; 333 return -EOPNOTSUPP;
334 334
335 if (res->count >= DRM_RESERVED_CONTEXTS) { 335 if (res->count >= DRM_RESERVED_CONTEXTS) {
336 memset(&ctx, 0, sizeof(ctx)); 336 memset(&ctx, 0, sizeof(ctx));
@@ -364,7 +364,7 @@ int drm_legacy_addctx(struct drm_device *dev, void *data,
364 364
365 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) && 365 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) &&
366 !drm_core_check_feature(dev, DRIVER_LEGACY)) 366 !drm_core_check_feature(dev, DRIVER_LEGACY))
367 return -EINVAL; 367 return -EOPNOTSUPP;
368 368
369 ctx->handle = drm_legacy_ctxbitmap_next(dev); 369 ctx->handle = drm_legacy_ctxbitmap_next(dev);
370 if (ctx->handle == DRM_KERNEL_CONTEXT) { 370 if (ctx->handle == DRM_KERNEL_CONTEXT) {
@@ -411,7 +411,7 @@ int drm_legacy_getctx(struct drm_device *dev, void *data,
411 411
412 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) && 412 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) &&
413 !drm_core_check_feature(dev, DRIVER_LEGACY)) 413 !drm_core_check_feature(dev, DRIVER_LEGACY))
414 return -EINVAL; 414 return -EOPNOTSUPP;
415 415
416 /* This is 0, because we don't handle any context flags */ 416 /* This is 0, because we don't handle any context flags */
417 ctx->flags = 0; 417 ctx->flags = 0;
@@ -437,7 +437,7 @@ int drm_legacy_switchctx(struct drm_device *dev, void *data,
437 437
438 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) && 438 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) &&
439 !drm_core_check_feature(dev, DRIVER_LEGACY)) 439 !drm_core_check_feature(dev, DRIVER_LEGACY))
440 return -EINVAL; 440 return -EOPNOTSUPP;
441 441
442 DRM_DEBUG("%d\n", ctx->handle); 442 DRM_DEBUG("%d\n", ctx->handle);
443 return drm_context_switch(dev, dev->last_context, ctx->handle); 443 return drm_context_switch(dev, dev->last_context, ctx->handle);
@@ -461,7 +461,7 @@ int drm_legacy_newctx(struct drm_device *dev, void *data,
461 461
462 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) && 462 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) &&
463 !drm_core_check_feature(dev, DRIVER_LEGACY)) 463 !drm_core_check_feature(dev, DRIVER_LEGACY))
464 return -EINVAL; 464 return -EOPNOTSUPP;
465 465
466 DRM_DEBUG("%d\n", ctx->handle); 466 DRM_DEBUG("%d\n", ctx->handle);
467 drm_context_switch_complete(dev, file_priv, ctx->handle); 467 drm_context_switch_complete(dev, file_priv, ctx->handle);
@@ -487,7 +487,7 @@ int drm_legacy_rmctx(struct drm_device *dev, void *data,
487 487
488 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) && 488 if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) &&
489 !drm_core_check_feature(dev, DRIVER_LEGACY)) 489 !drm_core_check_feature(dev, DRIVER_LEGACY))
490 return -EINVAL; 490 return -EOPNOTSUPP;
491 491
492 DRM_DEBUG("%d\n", ctx->handle); 492 DRM_DEBUG("%d\n", ctx->handle);
493 if (ctx->handle != DRM_KERNEL_CONTEXT) { 493 if (ctx->handle != DRM_KERNEL_CONTEXT) {
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 2f6c877299e4..5f488aa80bcd 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -405,7 +405,7 @@ int drm_mode_getcrtc(struct drm_device *dev,
405 struct drm_plane *plane; 405 struct drm_plane *plane;
406 406
407 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 407 if (!drm_core_check_feature(dev, DRIVER_MODESET))
408 return -EINVAL; 408 return -EOPNOTSUPP;
409 409
410 crtc = drm_crtc_find(dev, file_priv, crtc_resp->crtc_id); 410 crtc = drm_crtc_find(dev, file_priv, crtc_resp->crtc_id);
411 if (!crtc) 411 if (!crtc)
@@ -580,7 +580,7 @@ int drm_mode_setcrtc(struct drm_device *dev, void *data,
580 int i; 580 int i;
581 581
582 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 582 if (!drm_core_check_feature(dev, DRIVER_MODESET))
583 return -EINVAL; 583 return -EOPNOTSUPP;
584 584
585 /* 585 /*
586 * Universal plane src offsets are only 16.16, prevent havoc for 586 * Universal plane src offsets are only 16.16, prevent havoc for
diff --git a/drivers/gpu/drm/drm_encoder.c b/drivers/gpu/drm/drm_encoder.c
index 273e1c59c54a..b694fb57eaa4 100644
--- a/drivers/gpu/drm/drm_encoder.c
+++ b/drivers/gpu/drm/drm_encoder.c
@@ -222,7 +222,7 @@ int drm_mode_getencoder(struct drm_device *dev, void *data,
222 struct drm_crtc *crtc; 222 struct drm_crtc *crtc;
223 223
224 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 224 if (!drm_core_check_feature(dev, DRIVER_MODESET))
225 return -EINVAL; 225 return -EOPNOTSUPP;
226 226
227 encoder = drm_encoder_find(dev, file_priv, enc_resp->encoder_id); 227 encoder = drm_encoder_find(dev, file_priv, enc_resp->encoder_id);
228 if (!encoder) 228 if (!encoder)
diff --git a/drivers/gpu/drm/drm_framebuffer.c b/drivers/gpu/drm/drm_framebuffer.c
index 6eaacd4eb8cc..1ee3d6b44280 100644
--- a/drivers/gpu/drm/drm_framebuffer.c
+++ b/drivers/gpu/drm/drm_framebuffer.c
@@ -113,6 +113,9 @@ int drm_mode_addfb(struct drm_device *dev, struct drm_mode_fb_cmd *or,
113 struct drm_mode_fb_cmd2 r = {}; 113 struct drm_mode_fb_cmd2 r = {};
114 int ret; 114 int ret;
115 115
116 if (!drm_core_check_feature(dev, DRIVER_MODESET))
117 return -EOPNOTSUPP;
118
116 r.pixel_format = drm_mode_legacy_fb_format(or->bpp, or->depth); 119 r.pixel_format = drm_mode_legacy_fb_format(or->bpp, or->depth);
117 if (r.pixel_format == DRM_FORMAT_INVALID) { 120 if (r.pixel_format == DRM_FORMAT_INVALID) {
118 DRM_DEBUG("bad {bpp:%d, depth:%d}\n", or->bpp, or->depth); 121 DRM_DEBUG("bad {bpp:%d, depth:%d}\n", or->bpp, or->depth);
@@ -352,7 +355,7 @@ int drm_mode_addfb2(struct drm_device *dev,
352 struct drm_framebuffer *fb; 355 struct drm_framebuffer *fb;
353 356
354 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 357 if (!drm_core_check_feature(dev, DRIVER_MODESET))
355 return -EINVAL; 358 return -EOPNOTSUPP;
356 359
357 fb = drm_internal_framebuffer_create(dev, r, file_priv); 360 fb = drm_internal_framebuffer_create(dev, r, file_priv);
358 if (IS_ERR(fb)) 361 if (IS_ERR(fb))
@@ -387,7 +390,7 @@ int drm_mode_addfb2_ioctl(struct drm_device *dev,
387 * ADDFB. 390 * ADDFB.
388 */ 391 */
389 DRM_DEBUG_KMS("addfb2 broken on bigendian"); 392 DRM_DEBUG_KMS("addfb2 broken on bigendian");
390 return -EINVAL; 393 return -EOPNOTSUPP;
391 } 394 }
392#endif 395#endif
393 return drm_mode_addfb2(dev, data, file_priv); 396 return drm_mode_addfb2(dev, data, file_priv);
@@ -432,7 +435,7 @@ int drm_mode_rmfb(struct drm_device *dev, u32 fb_id,
432 int found = 0; 435 int found = 0;
433 436
434 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 437 if (!drm_core_check_feature(dev, DRIVER_MODESET))
435 return -EINVAL; 438 return -EOPNOTSUPP;
436 439
437 fb = drm_framebuffer_lookup(dev, file_priv, fb_id); 440 fb = drm_framebuffer_lookup(dev, file_priv, fb_id);
438 if (!fb) 441 if (!fb)
@@ -509,7 +512,7 @@ int drm_mode_getfb(struct drm_device *dev,
509 int ret; 512 int ret;
510 513
511 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 514 if (!drm_core_check_feature(dev, DRIVER_MODESET))
512 return -EINVAL; 515 return -EOPNOTSUPP;
513 516
514 fb = drm_framebuffer_lookup(dev, file_priv, r->fb_id); 517 fb = drm_framebuffer_lookup(dev, file_priv, r->fb_id);
515 if (!fb) 518 if (!fb)
@@ -582,7 +585,7 @@ int drm_mode_dirtyfb_ioctl(struct drm_device *dev,
582 int ret; 585 int ret;
583 586
584 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 587 if (!drm_core_check_feature(dev, DRIVER_MODESET))
585 return -EINVAL; 588 return -EOPNOTSUPP;
586 589
587 fb = drm_framebuffer_lookup(dev, file_priv, r->fb_id); 590 fb = drm_framebuffer_lookup(dev, file_priv, r->fb_id);
588 if (!fb) 591 if (!fb)
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index bf90625df3c5..512078ebd97b 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -667,7 +667,7 @@ drm_gem_close_ioctl(struct drm_device *dev, void *data,
667 int ret; 667 int ret;
668 668
669 if (!drm_core_check_feature(dev, DRIVER_GEM)) 669 if (!drm_core_check_feature(dev, DRIVER_GEM))
670 return -ENODEV; 670 return -EOPNOTSUPP;
671 671
672 ret = drm_gem_handle_delete(file_priv, args->handle); 672 ret = drm_gem_handle_delete(file_priv, args->handle);
673 673
@@ -694,7 +694,7 @@ drm_gem_flink_ioctl(struct drm_device *dev, void *data,
694 int ret; 694 int ret;
695 695
696 if (!drm_core_check_feature(dev, DRIVER_GEM)) 696 if (!drm_core_check_feature(dev, DRIVER_GEM))
697 return -ENODEV; 697 return -EOPNOTSUPP;
698 698
699 obj = drm_gem_object_lookup(file_priv, args->handle); 699 obj = drm_gem_object_lookup(file_priv, args->handle);
700 if (obj == NULL) 700 if (obj == NULL)
@@ -745,7 +745,7 @@ drm_gem_open_ioctl(struct drm_device *dev, void *data,
745 u32 handle; 745 u32 handle;
746 746
747 if (!drm_core_check_feature(dev, DRIVER_GEM)) 747 if (!drm_core_check_feature(dev, DRIVER_GEM))
748 return -ENODEV; 748 return -EOPNOTSUPP;
749 749
750 mutex_lock(&dev->object_name_lock); 750 mutex_lock(&dev->object_name_lock);
751 obj = idr_find(&dev->object_name_idr, (int) args->name); 751 obj = idr_find(&dev->object_name_idr, (int) args->name);
diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
index 6b4a633b4240..60dfbfae6a02 100644
--- a/drivers/gpu/drm/drm_ioctl.c
+++ b/drivers/gpu/drm/drm_ioctl.c
@@ -248,7 +248,7 @@ static int drm_getcap(struct drm_device *dev, void *data, struct drm_file *file_
248 248
249 /* Other caps only work with KMS drivers */ 249 /* Other caps only work with KMS drivers */
250 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 250 if (!drm_core_check_feature(dev, DRIVER_MODESET))
251 return -ENOTSUPP; 251 return -EOPNOTSUPP;
252 252
253 switch (req->capability) { 253 switch (req->capability) {
254 case DRM_CAP_DUMB_BUFFER: 254 case DRM_CAP_DUMB_BUFFER:
@@ -319,7 +319,7 @@ drm_setclientcap(struct drm_device *dev, void *data, struct drm_file *file_priv)
319 break; 319 break;
320 case DRM_CLIENT_CAP_ATOMIC: 320 case DRM_CLIENT_CAP_ATOMIC:
321 if (!drm_core_check_feature(dev, DRIVER_ATOMIC)) 321 if (!drm_core_check_feature(dev, DRIVER_ATOMIC))
322 return -EINVAL; 322 return -EOPNOTSUPP;
323 if (req->value > 1) 323 if (req->value > 1)
324 return -EINVAL; 324 return -EINVAL;
325 file_priv->atomic = req->value; 325 file_priv->atomic = req->value;
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index 3b04c25100ae..45a07652fa00 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -104,7 +104,7 @@ int drm_irq_install(struct drm_device *dev, int irq)
104 unsigned long sh_flags = 0; 104 unsigned long sh_flags = 0;
105 105
106 if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ)) 106 if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ))
107 return -EINVAL; 107 return -EOPNOTSUPP;
108 108
109 if (irq == 0) 109 if (irq == 0)
110 return -EINVAL; 110 return -EINVAL;
@@ -175,7 +175,7 @@ int drm_irq_uninstall(struct drm_device *dev)
175 int i; 175 int i;
176 176
177 if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ)) 177 if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ))
178 return -EINVAL; 178 return -EOPNOTSUPP;
179 179
180 irq_enabled = dev->irq_enabled; 180 irq_enabled = dev->irq_enabled;
181 dev->irq_enabled = false; 181 dev->irq_enabled = false;
diff --git a/drivers/gpu/drm/drm_lease.c b/drivers/gpu/drm/drm_lease.c
index b54fb78a283c..5894b4e144d7 100644
--- a/drivers/gpu/drm/drm_lease.c
+++ b/drivers/gpu/drm/drm_lease.c
@@ -506,7 +506,7 @@ int drm_mode_create_lease_ioctl(struct drm_device *dev,
506 506
507 /* Can't lease without MODESET */ 507 /* Can't lease without MODESET */
508 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 508 if (!drm_core_check_feature(dev, DRIVER_MODESET))
509 return -EINVAL; 509 return -EOPNOTSUPP;
510 510
511 /* Do not allow sub-leases */ 511 /* Do not allow sub-leases */
512 if (lessor->lessor) 512 if (lessor->lessor)
@@ -615,7 +615,7 @@ int drm_mode_list_lessees_ioctl(struct drm_device *dev,
615 615
616 /* Can't lease without MODESET */ 616 /* Can't lease without MODESET */
617 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 617 if (!drm_core_check_feature(dev, DRIVER_MODESET))
618 return -EINVAL; 618 return -EOPNOTSUPP;
619 619
620 DRM_DEBUG_LEASE("List lessees for %d\n", lessor->lessee_id); 620 DRM_DEBUG_LEASE("List lessees for %d\n", lessor->lessee_id);
621 621
@@ -671,7 +671,7 @@ int drm_mode_get_lease_ioctl(struct drm_device *dev,
671 671
672 /* Can't lease without MODESET */ 672 /* Can't lease without MODESET */
673 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 673 if (!drm_core_check_feature(dev, DRIVER_MODESET))
674 return -EINVAL; 674 return -EOPNOTSUPP;
675 675
676 DRM_DEBUG_LEASE("get lease for %d\n", lessee->lessee_id); 676 DRM_DEBUG_LEASE("get lease for %d\n", lessee->lessee_id);
677 677
@@ -726,7 +726,7 @@ int drm_mode_revoke_lease_ioctl(struct drm_device *dev,
726 726
727 /* Can't lease without MODESET */ 727 /* Can't lease without MODESET */
728 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 728 if (!drm_core_check_feature(dev, DRIVER_MODESET))
729 return -EINVAL; 729 return -EOPNOTSUPP;
730 730
731 mutex_lock(&dev->mode_config.idr_mutex); 731 mutex_lock(&dev->mode_config.idr_mutex);
732 732
diff --git a/drivers/gpu/drm/drm_lock.c b/drivers/gpu/drm/drm_lock.c
index 96bb6badb818..67a1a2ca7174 100644
--- a/drivers/gpu/drm/drm_lock.c
+++ b/drivers/gpu/drm/drm_lock.c
@@ -166,7 +166,7 @@ int drm_legacy_lock(struct drm_device *dev, void *data,
166 int ret = 0; 166 int ret = 0;
167 167
168 if (!drm_core_check_feature(dev, DRIVER_LEGACY)) 168 if (!drm_core_check_feature(dev, DRIVER_LEGACY))
169 return -EINVAL; 169 return -EOPNOTSUPP;
170 170
171 ++file_priv->lock_count; 171 ++file_priv->lock_count;
172 172
@@ -256,7 +256,7 @@ int drm_legacy_unlock(struct drm_device *dev, void *data, struct drm_file *file_
256 struct drm_master *master = file_priv->master; 256 struct drm_master *master = file_priv->master;
257 257
258 if (!drm_core_check_feature(dev, DRIVER_LEGACY)) 258 if (!drm_core_check_feature(dev, DRIVER_LEGACY))
259 return -EINVAL; 259 return -EOPNOTSUPP;
260 260
261 if (lock->context == DRM_KERNEL_CONTEXT) { 261 if (lock->context == DRM_KERNEL_CONTEXT) {
262 DRM_ERROR("Process %d using kernel context %d\n", 262 DRM_ERROR("Process %d using kernel context %d\n",
diff --git a/drivers/gpu/drm/drm_mode_config.c b/drivers/gpu/drm/drm_mode_config.c
index 21e353bd3948..ee80788f2c40 100644
--- a/drivers/gpu/drm/drm_mode_config.c
+++ b/drivers/gpu/drm/drm_mode_config.c
@@ -97,8 +97,7 @@ int drm_mode_getresources(struct drm_device *dev, void *data,
97 struct drm_connector_list_iter conn_iter; 97 struct drm_connector_list_iter conn_iter;
98 98
99 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 99 if (!drm_core_check_feature(dev, DRIVER_MODESET))
100 return -EINVAL; 100 return -EOPNOTSUPP;
101
102 101
103 mutex_lock(&file_priv->fbs_lock); 102 mutex_lock(&file_priv->fbs_lock);
104 count = 0; 103 count = 0;
diff --git a/drivers/gpu/drm/drm_mode_object.c b/drivers/gpu/drm/drm_mode_object.c
index fcb0ab0abb75..be8b754eaf60 100644
--- a/drivers/gpu/drm/drm_mode_object.c
+++ b/drivers/gpu/drm/drm_mode_object.c
@@ -381,7 +381,7 @@ int drm_mode_obj_get_properties_ioctl(struct drm_device *dev, void *data,
381 int ret = 0; 381 int ret = 0;
382 382
383 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 383 if (!drm_core_check_feature(dev, DRIVER_MODESET))
384 return -EINVAL; 384 return -EOPNOTSUPP;
385 385
386 drm_modeset_lock_all(dev); 386 drm_modeset_lock_all(dev);
387 387
@@ -504,7 +504,7 @@ int drm_mode_obj_set_property_ioctl(struct drm_device *dev, void *data,
504 int ret = -EINVAL; 504 int ret = -EINVAL;
505 505
506 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 506 if (!drm_core_check_feature(dev, DRIVER_MODESET))
507 return -EINVAL; 507 return -EOPNOTSUPP;
508 508
509 arg_obj = drm_mode_object_find(dev, file_priv, arg->obj_id, arg->obj_type); 509 arg_obj = drm_mode_object_find(dev, file_priv, arg->obj_id, arg->obj_type);
510 if (!arg_obj) 510 if (!arg_obj)
diff --git a/drivers/gpu/drm/drm_pci.c b/drivers/gpu/drm/drm_pci.c
index 896e42a34895..48f615d38931 100644
--- a/drivers/gpu/drm/drm_pci.c
+++ b/drivers/gpu/drm/drm_pci.c
@@ -182,14 +182,14 @@ int drm_irq_by_busid(struct drm_device *dev, void *data,
182 struct drm_irq_busid *p = data; 182 struct drm_irq_busid *p = data;
183 183
184 if (!drm_core_check_feature(dev, DRIVER_LEGACY)) 184 if (!drm_core_check_feature(dev, DRIVER_LEGACY))
185 return -EINVAL; 185 return -EOPNOTSUPP;
186 186
187 /* UMS was only ever support on PCI devices. */ 187 /* UMS was only ever support on PCI devices. */
188 if (WARN_ON(!dev->pdev)) 188 if (WARN_ON(!dev->pdev))
189 return -EINVAL; 189 return -EINVAL;
190 190
191 if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ)) 191 if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ))
192 return -EINVAL; 192 return -EOPNOTSUPP;
193 193
194 return drm_pci_irq_by_busid(dev, p); 194 return drm_pci_irq_by_busid(dev, p);
195} 195}
diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c
index 4a72c6829d73..1fa98bd12003 100644
--- a/drivers/gpu/drm/drm_plane.c
+++ b/drivers/gpu/drm/drm_plane.c
@@ -477,7 +477,7 @@ int drm_mode_getplane_res(struct drm_device *dev, void *data,
477 int count = 0; 477 int count = 0;
478 478
479 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 479 if (!drm_core_check_feature(dev, DRIVER_MODESET))
480 return -EINVAL; 480 return -EOPNOTSUPP;
481 481
482 plane_ptr = u64_to_user_ptr(plane_resp->plane_id_ptr); 482 plane_ptr = u64_to_user_ptr(plane_resp->plane_id_ptr);
483 483
@@ -514,7 +514,7 @@ int drm_mode_getplane(struct drm_device *dev, void *data,
514 uint32_t __user *format_ptr; 514 uint32_t __user *format_ptr;
515 515
516 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 516 if (!drm_core_check_feature(dev, DRIVER_MODESET))
517 return -EINVAL; 517 return -EOPNOTSUPP;
518 518
519 plane = drm_plane_find(dev, file_priv, plane_resp->plane_id); 519 plane = drm_plane_find(dev, file_priv, plane_resp->plane_id);
520 if (!plane) 520 if (!plane)
@@ -781,7 +781,7 @@ int drm_mode_setplane(struct drm_device *dev, void *data,
781 int ret; 781 int ret;
782 782
783 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 783 if (!drm_core_check_feature(dev, DRIVER_MODESET))
784 return -EINVAL; 784 return -EOPNOTSUPP;
785 785
786 /* 786 /*
787 * First, find the plane, crtc, and fb objects. If not available, 787 * First, find the plane, crtc, and fb objects. If not available,
@@ -919,7 +919,7 @@ static int drm_mode_cursor_common(struct drm_device *dev,
919 int ret = 0; 919 int ret = 0;
920 920
921 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 921 if (!drm_core_check_feature(dev, DRIVER_MODESET))
922 return -EINVAL; 922 return -EOPNOTSUPP;
923 923
924 if (!req->flags || (~DRM_MODE_CURSOR_FLAGS & req->flags)) 924 if (!req->flags || (~DRM_MODE_CURSOR_FLAGS & req->flags))
925 return -EINVAL; 925 return -EINVAL;
@@ -1023,7 +1023,7 @@ int drm_mode_page_flip_ioctl(struct drm_device *dev,
1023 int ret = -EINVAL; 1023 int ret = -EINVAL;
1024 1024
1025 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 1025 if (!drm_core_check_feature(dev, DRIVER_MODESET))
1026 return -EINVAL; 1026 return -EOPNOTSUPP;
1027 1027
1028 if (page_flip->flags & ~DRM_MODE_PAGE_FLIP_FLAGS) 1028 if (page_flip->flags & ~DRM_MODE_PAGE_FLIP_FLAGS)
1029 return -EINVAL; 1029 return -EINVAL;
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index 186db2e4c57a..3f0205fc0a1a 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -844,7 +844,7 @@ int drm_prime_handle_to_fd_ioctl(struct drm_device *dev, void *data,
844 struct drm_prime_handle *args = data; 844 struct drm_prime_handle *args = data;
845 845
846 if (!drm_core_check_feature(dev, DRIVER_PRIME)) 846 if (!drm_core_check_feature(dev, DRIVER_PRIME))
847 return -EINVAL; 847 return -EOPNOTSUPP;
848 848
849 if (!dev->driver->prime_handle_to_fd) 849 if (!dev->driver->prime_handle_to_fd)
850 return -ENOSYS; 850 return -ENOSYS;
@@ -863,7 +863,7 @@ int drm_prime_fd_to_handle_ioctl(struct drm_device *dev, void *data,
863 struct drm_prime_handle *args = data; 863 struct drm_prime_handle *args = data;
864 864
865 if (!drm_core_check_feature(dev, DRIVER_PRIME)) 865 if (!drm_core_check_feature(dev, DRIVER_PRIME))
866 return -EINVAL; 866 return -EOPNOTSUPP;
867 867
868 if (!dev->driver->prime_fd_to_handle) 868 if (!dev->driver->prime_fd_to_handle)
869 return -ENOSYS; 869 return -ENOSYS;
diff --git a/drivers/gpu/drm/drm_property.c b/drivers/gpu/drm/drm_property.c
index cdb10f885a4f..79c77c3cad86 100644
--- a/drivers/gpu/drm/drm_property.c
+++ b/drivers/gpu/drm/drm_property.c
@@ -464,7 +464,7 @@ int drm_mode_getproperty_ioctl(struct drm_device *dev,
464 uint64_t __user *values_ptr; 464 uint64_t __user *values_ptr;
465 465
466 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 466 if (!drm_core_check_feature(dev, DRIVER_MODESET))
467 return -EINVAL; 467 return -EOPNOTSUPP;
468 468
469 property = drm_property_find(dev, file_priv, out_resp->prop_id); 469 property = drm_property_find(dev, file_priv, out_resp->prop_id);
470 if (!property) 470 if (!property)
@@ -757,7 +757,7 @@ int drm_mode_getblob_ioctl(struct drm_device *dev,
757 int ret = 0; 757 int ret = 0;
758 758
759 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 759 if (!drm_core_check_feature(dev, DRIVER_MODESET))
760 return -EINVAL; 760 return -EOPNOTSUPP;
761 761
762 blob = drm_property_lookup_blob(dev, out_resp->blob_id); 762 blob = drm_property_lookup_blob(dev, out_resp->blob_id);
763 if (!blob) 763 if (!blob)
@@ -786,7 +786,7 @@ int drm_mode_createblob_ioctl(struct drm_device *dev,
786 int ret = 0; 786 int ret = 0;
787 787
788 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 788 if (!drm_core_check_feature(dev, DRIVER_MODESET))
789 return -EINVAL; 789 return -EOPNOTSUPP;
790 790
791 blob = drm_property_create_blob(dev, out_resp->length, NULL); 791 blob = drm_property_create_blob(dev, out_resp->length, NULL);
792 if (IS_ERR(blob)) 792 if (IS_ERR(blob))
@@ -823,7 +823,7 @@ int drm_mode_destroyblob_ioctl(struct drm_device *dev,
823 int ret = 0; 823 int ret = 0;
824 824
825 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 825 if (!drm_core_check_feature(dev, DRIVER_MODESET))
826 return -EINVAL; 826 return -EOPNOTSUPP;
827 827
828 blob = drm_property_lookup_blob(dev, out_resp->blob_id); 828 blob = drm_property_lookup_blob(dev, out_resp->blob_id);
829 if (!blob) 829 if (!blob)
diff --git a/drivers/gpu/drm/drm_scatter.c b/drivers/gpu/drm/drm_scatter.c
index 275bca44f38c..bb829a115fc6 100644
--- a/drivers/gpu/drm/drm_scatter.c
+++ b/drivers/gpu/drm/drm_scatter.c
@@ -89,10 +89,10 @@ int drm_legacy_sg_alloc(struct drm_device *dev, void *data,
89 DRM_DEBUG("\n"); 89 DRM_DEBUG("\n");
90 90
91 if (!drm_core_check_feature(dev, DRIVER_LEGACY)) 91 if (!drm_core_check_feature(dev, DRIVER_LEGACY))
92 return -EINVAL; 92 return -EOPNOTSUPP;
93 93
94 if (!drm_core_check_feature(dev, DRIVER_SG)) 94 if (!drm_core_check_feature(dev, DRIVER_SG))
95 return -EINVAL; 95 return -EOPNOTSUPP;
96 96
97 if (dev->sg) 97 if (dev->sg)
98 return -EINVAL; 98 return -EINVAL;
@@ -202,10 +202,10 @@ int drm_legacy_sg_free(struct drm_device *dev, void *data,
202 struct drm_sg_mem *entry; 202 struct drm_sg_mem *entry;
203 203
204 if (!drm_core_check_feature(dev, DRIVER_LEGACY)) 204 if (!drm_core_check_feature(dev, DRIVER_LEGACY))
205 return -EINVAL; 205 return -EOPNOTSUPP;
206 206
207 if (!drm_core_check_feature(dev, DRIVER_SG)) 207 if (!drm_core_check_feature(dev, DRIVER_SG))
208 return -EINVAL; 208 return -EOPNOTSUPP;
209 209
210 entry = dev->sg; 210 entry = dev->sg;
211 dev->sg = NULL; 211 dev->sg = NULL;
diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c
index e9ce623d049e..497729202bfe 100644
--- a/drivers/gpu/drm/drm_syncobj.c
+++ b/drivers/gpu/drm/drm_syncobj.c
@@ -573,7 +573,7 @@ drm_syncobj_create_ioctl(struct drm_device *dev, void *data,
573 struct drm_syncobj_create *args = data; 573 struct drm_syncobj_create *args = data;
574 574
575 if (!drm_core_check_feature(dev, DRIVER_SYNCOBJ)) 575 if (!drm_core_check_feature(dev, DRIVER_SYNCOBJ))
576 return -ENODEV; 576 return -EOPNOTSUPP;
577 577
578 /* no valid flags yet */ 578 /* no valid flags yet */
579 if (args->flags & ~DRM_SYNCOBJ_CREATE_SIGNALED) 579 if (args->flags & ~DRM_SYNCOBJ_CREATE_SIGNALED)
@@ -590,7 +590,7 @@ drm_syncobj_destroy_ioctl(struct drm_device *dev, void *data,
590 struct drm_syncobj_destroy *args = data; 590 struct drm_syncobj_destroy *args = data;
591 591
592 if (!drm_core_check_feature(dev, DRIVER_SYNCOBJ)) 592 if (!drm_core_check_feature(dev, DRIVER_SYNCOBJ))
593 return -ENODEV; 593 return -EOPNOTSUPP;
594 594
595 /* make sure padding is empty */ 595 /* make sure padding is empty */
596 if (args->pad) 596 if (args->pad)
@@ -605,7 +605,7 @@ drm_syncobj_handle_to_fd_ioctl(struct drm_device *dev, void *data,
605 struct drm_syncobj_handle *args = data; 605 struct drm_syncobj_handle *args = data;
606 606
607 if (!drm_core_check_feature(dev, DRIVER_SYNCOBJ)) 607 if (!drm_core_check_feature(dev, DRIVER_SYNCOBJ))
608 return -ENODEV; 608 return -EOPNOTSUPP;
609 609
610 if (args->pad) 610 if (args->pad)
611 return -EINVAL; 611 return -EINVAL;
@@ -629,7 +629,7 @@ drm_syncobj_fd_to_handle_ioctl(struct drm_device *dev, void *data,
629 struct drm_syncobj_handle *args = data; 629 struct drm_syncobj_handle *args = data;
630 630
631 if (!drm_core_check_feature(dev, DRIVER_SYNCOBJ)) 631 if (!drm_core_check_feature(dev, DRIVER_SYNCOBJ))
632 return -ENODEV; 632 return -EOPNOTSUPP;
633 633
634 if (args->pad) 634 if (args->pad)
635 return -EINVAL; 635 return -EINVAL;
@@ -921,7 +921,7 @@ drm_syncobj_wait_ioctl(struct drm_device *dev, void *data,
921 int ret = 0; 921 int ret = 0;
922 922
923 if (!drm_core_check_feature(dev, DRIVER_SYNCOBJ)) 923 if (!drm_core_check_feature(dev, DRIVER_SYNCOBJ))
924 return -ENODEV; 924 return -EOPNOTSUPP;
925 925
926 if (args->flags & ~(DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL | 926 if (args->flags & ~(DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL |
927 DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT)) 927 DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT))
@@ -955,7 +955,7 @@ drm_syncobj_reset_ioctl(struct drm_device *dev, void *data,
955 int ret; 955 int ret;
956 956
957 if (!drm_core_check_feature(dev, DRIVER_SYNCOBJ)) 957 if (!drm_core_check_feature(dev, DRIVER_SYNCOBJ))
958 return -ENODEV; 958 return -EOPNOTSUPP;
959 959
960 if (args->pad != 0) 960 if (args->pad != 0)
961 return -EINVAL; 961 return -EINVAL;
@@ -988,7 +988,7 @@ drm_syncobj_signal_ioctl(struct drm_device *dev, void *data,
988 int ret; 988 int ret;
989 989
990 if (!drm_core_check_feature(dev, DRIVER_SYNCOBJ)) 990 if (!drm_core_check_feature(dev, DRIVER_SYNCOBJ))
991 return -ENODEV; 991 return -EOPNOTSUPP;
992 992
993 if (args->pad != 0) 993 if (args->pad != 0)
994 return -EINVAL; 994 return -EINVAL;
diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index ec2dcfdac8ef..98e091175921 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -1771,7 +1771,7 @@ int drm_crtc_get_sequence_ioctl(struct drm_device *dev, void *data,
1771 int ret; 1771 int ret;
1772 1772
1773 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 1773 if (!drm_core_check_feature(dev, DRIVER_MODESET))
1774 return -EINVAL; 1774 return -EOPNOTSUPP;
1775 1775
1776 if (!dev->irq_enabled) 1776 if (!dev->irq_enabled)
1777 return -EINVAL; 1777 return -EINVAL;
@@ -1829,7 +1829,7 @@ int drm_crtc_queue_sequence_ioctl(struct drm_device *dev, void *data,
1829 unsigned long spin_flags; 1829 unsigned long spin_flags;
1830 1830
1831 if (!drm_core_check_feature(dev, DRIVER_MODESET)) 1831 if (!drm_core_check_feature(dev, DRIVER_MODESET))
1832 return -EINVAL; 1832 return -EOPNOTSUPP;
1833 1833
1834 if (!dev->irq_enabled) 1834 if (!dev->irq_enabled)
1835 return -EINVAL; 1835 return -EINVAL;