| From 8bf4cef2395f3d5e80a2a85377b82d6eca898e2a Mon Sep 17 00:00:00 2001 |
| From: Daniel Vetter <daniel.vetter@ffwll.ch> |
| Date: Wed, 4 Sep 2019 16:39:42 +0200 |
| Subject: [PATCH] drm: Use EOPNOTSUPP, not ENOTSUPP |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| commit c7581a414d28413c1dd6d116d44859b5a52e0950 upstream. |
| |
| - it's what we recommend in our docs: |
| |
| https://dri.freedesktop.org/docs/drm/gpu/drm-uapi.html#recommended-ioctl-return-values |
| |
| - it's the overwhelmingly used error code for "operation not |
| supported", at least in drm core (slightly less so in drivers): |
| |
| $ git grep EOPNOTSUPP -- drivers/gpu/drm/*c | wc -l |
| 83 |
| $ git grep ENOTSUPP -- drivers/gpu/drm/*c | wc -l |
| 5 |
| |
| - include/linux/errno.h makes it fairly clear that these are for nfsv3 |
| (plus they also have error codes above 512, which is the block with |
| some special behaviour ...) |
| |
| /* Defined for the NFSv3 protocol */ |
| |
| If the above isn't reflecting current practice, then I guess we should |
| at least update the docs. |
| |
| Noralf commented: |
| |
| Ben Hutchings made this comment[1] in a thread about use of ENOTSUPP in |
| drivers: |
| |
| glibc's strerror() returns these strings for ENOTSUPP and EOPNOTSUPP |
| respectively: |
| |
| "Unknown error 524" |
| "Operation not supported" |
| |
| So at least for errors returned to userspace EOPNOTSUPP makes sense. |
| |
| José asked: |
| |
| > Hopefully this will not break any userspace |
| |
| None of the functions in drm_edid.c affected by this reach userspace, |
| it's all driver internal. |
| |
| Same for the mipi function, that error code should be handled by |
| drivers. Drivers are supposed to remap "the hw is on fire" to EIO when |
| reporting up to userspace, but I think if a driver sees this it would |
| be a driver bug. |
| v2: Augment commit message with comments from Noralf and José |
| |
| Reviewed-by: José Roberto de Souza <jose.souza@intel.com> |
| Acked-by: Noralf Trønnes <noralf@tronnes.org> |
| Cc: José Roberto de Souza <jose.souza@intel.com> |
| Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> |
| Cc: Maxime Ripard <mripard@kernel.org> |
| Cc: Sean Paul <sean@poorly.run> |
| Cc: Alex Deucher <alexander.deucher@amd.com> |
| Cc: Andres Rodriguez <andresx7@gmail.com> |
| Cc: Noralf Trønnes <noralf@tronnes.org> |
| Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> |
| Link: https://patchwork.freedesktop.org/patch/msgid/20190904143942.31756-1-daniel.vetter@ffwll.ch |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c |
| index c442fa859cc2..10ad140f1916 100644 |
| --- a/drivers/gpu/drm/drm_edid.c |
| +++ b/drivers/gpu/drm/drm_edid.c |
| @@ -3718,7 +3718,7 @@ cea_db_offsets(const u8 *cea, int *start, int *end) |
| if (*end < 4 || *end > 127) |
| return -ERANGE; |
| } else { |
| - return -ENOTSUPP; |
| + return -EOPNOTSUPP; |
| } |
| |
| return 0; |
| @@ -4138,7 +4138,7 @@ int drm_edid_to_sad(struct edid *edid, struct cea_sad **sads) |
| |
| if (cea_revision(cea) < 3) { |
| DRM_DEBUG_KMS("SAD: wrong CEA revision\n"); |
| - return -ENOTSUPP; |
| + return -EOPNOTSUPP; |
| } |
| |
| if (cea_db_offsets(cea, &start, &end)) { |
| @@ -4199,7 +4199,7 @@ int drm_edid_to_speaker_allocation(struct edid *edid, u8 **sadb) |
| |
| if (cea_revision(cea) < 3) { |
| DRM_DEBUG_KMS("SAD: wrong CEA revision\n"); |
| - return -ENOTSUPP; |
| + return -EOPNOTSUPP; |
| } |
| |
| if (cea_db_offsets(cea, &start, &end)) { |
| diff --git a/drivers/gpu/drm/tinydrm/mipi-dbi.c b/drivers/gpu/drm/tinydrm/mipi-dbi.c |
| index d6b7c706c674..e33b309ba016 100644 |
| --- a/drivers/gpu/drm/tinydrm/mipi-dbi.c |
| +++ b/drivers/gpu/drm/tinydrm/mipi-dbi.c |
| @@ -839,7 +839,7 @@ static int mipi_dbi_typec1_command(struct mipi_dbi *mipi, u8 *cmd, |
| int ret; |
| |
| if (mipi_dbi_command_is_read(mipi, *cmd)) |
| - return -ENOTSUPP; |
| + return -EOPNOTSUPP; |
| |
| MIPI_DBI_DEBUG_COMMAND(*cmd, parameters, num); |
| |
| -- |
| 2.7.4 |
| |