Re: [PATCH] gpu/drm: Fix several checkpatch warnings

From: Jani Nikula
Date: Mon Feb 26 2024 - 06:08:13 EST


On Thu, 22 Feb 2024, Nicolas <ndevos-dev@xxxxx> wrote:
> This commit includes several checkpatch for drm_connector.c:
> - SPDX license
> - Spaces before tabs
> - Unnecessary brackets
> - unsigned int is preferred over unsigned

One change per patch, please.

Signed-off-by missing.

> ---
> drivers/gpu/drm/drm_connector.c | 142 ++++++++++++++++----------------
> 1 file changed, 71 insertions(+), 71 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
> index b0516505f7ae..4e6c910e339b 100644
> --- a/drivers/gpu/drm/drm_connector.c
> +++ b/drivers/gpu/drm/drm_connector.c
> @@ -1,3 +1,4 @@
> +// SPDX-License-Identifier: GPL-2.0 or MIT
> /*
> * Copyright (c) 2016 Intel Corporation
> *
> @@ -313,9 +314,8 @@ static int __drm_connector_init(struct drm_device *dev,
> config->tile_property,
> 0);
>
> - if (drm_core_check_feature(dev, DRIVER_ATOMIC)) {
> + if (drm_core_check_feature(dev, DRIVER_ATOMIC))
> drm_object_attach_property(&connector->base, config->prop_crtc_id, 0);
> - }
>
> connector->debugfs_entry = NULL;
> out_put_type_id:
> @@ -1150,70 +1150,70 @@ static const u32 dp_colorspaces =
> * DRM connectors have a few standardized properties:
> *

In the comments below, please switch to spaces instead of tabs.

BR,
Jani.

> * EDID:
> - * Blob property which contains the current EDID read from the sink. This
> - * is useful to parse sink identification information like vendor, model
> - * and serial. Drivers should update this property by calling
> - * drm_connector_update_edid_property(), usually after having parsed
> - * the EDID using drm_add_edid_modes(). Userspace cannot change this
> - * property.
> - *
> - * User-space should not parse the EDID to obtain information exposed via
> - * other KMS properties (because the kernel might apply limits, quirks or
> - * fixups to the EDID). For instance, user-space should not try to parse
> - * mode lists from the EDID.
> + * Blob property which contains the current EDID read from the sink. This
> + * is useful to parse sink identification information like vendor, model
> + * and serial. Drivers should update this property by calling
> + * drm_connector_update_edid_property(), usually after having parsed
> + * the EDID using drm_add_edid_modes(). Userspace cannot change this
> + * property.
> + *
> + * User-space should not parse the EDID to obtain information exposed via
> + * other KMS properties (because the kernel might apply limits, quirks or
> + * fixups to the EDID). For instance, user-space should not try to parse
> + * mode lists from the EDID.
> * DPMS:
> - * Legacy property for setting the power state of the connector. For atomic
> - * drivers this is only provided for backwards compatibility with existing
> - * drivers, it remaps to controlling the "ACTIVE" property on the CRTC the
> - * connector is linked to. Drivers should never set this property directly,
> - * it is handled by the DRM core by calling the &drm_connector_funcs.dpms
> - * callback. For atomic drivers the remapping to the "ACTIVE" property is
> - * implemented in the DRM core.
> - *
> - * Note that this property cannot be set through the MODE_ATOMIC ioctl,
> - * userspace must use "ACTIVE" on the CRTC instead.
> - *
> - * WARNING:
> - *
> - * For userspace also running on legacy drivers the "DPMS" semantics are a
> - * lot more complicated. First, userspace cannot rely on the "DPMS" value
> - * returned by the GETCONNECTOR actually reflecting reality, because many
> - * drivers fail to update it. For atomic drivers this is taken care of in
> - * drm_atomic_helper_update_legacy_modeset_state().
> - *
> - * The second issue is that the DPMS state is only well-defined when the
> - * connector is connected to a CRTC. In atomic the DRM core enforces that
> - * "ACTIVE" is off in such a case, no such checks exists for "DPMS".
> - *
> - * Finally, when enabling an output using the legacy SETCONFIG ioctl then
> - * "DPMS" is forced to ON. But see above, that might not be reflected in
> - * the software value on legacy drivers.
> - *
> - * Summarizing: Only set "DPMS" when the connector is known to be enabled,
> - * assume that a successful SETCONFIG call also sets "DPMS" to on, and
> - * never read back the value of "DPMS" because it can be incorrect.
> + * Legacy property for setting the power state of the connector. For atomic
> + * drivers this is only provided for backwards compatibility with existing
> + * drivers, it remaps to controlling the "ACTIVE" property on the CRTC the
> + * connector is linked to. Drivers should never set this property directly,
> + * it is handled by the DRM core by calling the &drm_connector_funcs.dpms
> + * callback. For atomic drivers the remapping to the "ACTIVE" property is
> + * implemented in the DRM core.
> + *
> + * Note that this property cannot be set through the MODE_ATOMIC ioctl,
> + * userspace must use "ACTIVE" on the CRTC instead.
> + *
> + * WARNING:
> + *
> + * For userspace also running on legacy drivers the "DPMS" semantics are a
> + * lot more complicated. First, userspace cannot rely on the "DPMS" value
> + * returned by the GETCONNECTOR actually reflecting reality, because many
> + * drivers fail to update it. For atomic drivers this is taken care of in
> + * drm_atomic_helper_update_legacy_modeset_state().
> + *
> + * The second issue is that the DPMS state is only well-defined when the
> + * connector is connected to a CRTC. In atomic the DRM core enforces that
> + * "ACTIVE" is off in such a case, no such checks exists for "DPMS".
> + *
> + * Finally, when enabling an output using the legacy SETCONFIG ioctl then
> + * "DPMS" is forced to ON. But see above, that might not be reflected in
> + * the software value on legacy drivers.
> + *
> + * Summarizing: Only set "DPMS" when the connector is known to be enabled,
> + * assume that a successful SETCONFIG call also sets "DPMS" to on, and
> + * never read back the value of "DPMS" because it can be incorrect.
> * PATH:
> - * Connector path property to identify how this sink is physically
> - * connected. Used by DP MST. This should be set by calling
> - * drm_connector_set_path_property(), in the case of DP MST with the
> - * path property the MST manager created. Userspace cannot change this
> - * property.
> - *
> - * In the case of DP MST, the property has the format
> - * ``mst:<parent>-<ports>`` where ``<parent>`` is the KMS object ID of the
> - * parent connector and ``<ports>`` is a hyphen-separated list of DP MST
> - * port numbers. Note, KMS object IDs are not guaranteed to be stable
> - * across reboots.
> + * Connector path property to identify how this sink is physically
> + * connected. Used by DP MST. This should be set by calling
> + * drm_connector_set_path_property(), in the case of DP MST with the
> + * path property the MST manager created. Userspace cannot change this
> + * property.
> + *
> + * In the case of DP MST, the property has the format
> + * ``mst:<parent>-<ports>`` where ``<parent>`` is the KMS object ID of the
> + * parent connector and ``<ports>`` is a hyphen-separated list of DP MST
> + * port numbers. Note, KMS object IDs are not guaranteed to be stable
> + * across reboots.
> * TILE:
> - * Connector tile group property to indicate how a set of DRM connector
> - * compose together into one logical screen. This is used by both high-res
> - * external screens (often only using a single cable, but exposing multiple
> - * DP MST sinks), or high-res integrated panels (like dual-link DSI) which
> - * are not gen-locked. Note that for tiled panels which are genlocked, like
> - * dual-link LVDS or dual-link DSI, the driver should try to not expose the
> - * tiling and virtualise both &drm_crtc and &drm_plane if needed. Drivers
> - * should update this value using drm_connector_set_tile_property().
> - * Userspace cannot change this property.
> + * Connector tile group property to indicate how a set of DRM connector
> + * compose together into one logical screen. This is used by both high-res
> + * external screens (often only using a single cable, but exposing multiple
> + * DP MST sinks), or high-res integrated panels (like dual-link DSI) which
> + * are not gen-locked. Note that for tiled panels which are genlocked, like
> + * dual-link LVDS or dual-link DSI, the driver should try to not expose the
> + * tiling and virtualise both &drm_crtc and &drm_plane if needed. Drivers
> + * should update this value using drm_connector_set_tile_property().
> + * Userspace cannot change this property.
> * link-status:
> * Connector link-status property to indicate the status of link. The
> * default value of link-status is "GOOD". If something fails during or
> @@ -1247,9 +1247,9 @@ static const u32 dp_colorspaces =
> * to how it might fail if a different screen has been connected in the
> * interim.
> * non_desktop:
> - * Indicates the output should be ignored for purposes of displaying a
> - * standard desktop environment or console. This is most likely because
> - * the output device is not rectilinear.
> + * Indicates the output should be ignored for purposes of displaying a
> + * standard desktop environment or console. This is most likely because
> + * the output device is not rectilinear.
> * Content Protection:
> * This property is used by userspace to request the kernel protect future
> * content communicated over the link. When requested, kernel will apply
> @@ -1399,7 +1399,7 @@ static const u32 dp_colorspaces =
> * Connectors also have one standardized atomic property:
> *
> * CRTC_ID:
> - * Mode object ID of the &drm_crtc this connector should be connected to.
> + * Mode object ID of the &drm_crtc this connector should be connected to.
> *
> * Connectors for LCD panels may also have one standardized property:
> *
> @@ -1721,7 +1721,7 @@ EXPORT_SYMBOL(drm_connector_attach_content_type_property);
>
> /**
> * drm_connector_attach_tv_margin_properties - attach TV connector margin
> - * properties
> + * properties
> * @connector: DRM connector
> *
> * Called by a driver when it needs to attach TV margin props to a connector.
> @@ -2076,7 +2076,7 @@ int drm_connector_attach_scaling_mode_property(struct drm_connector *connector,
> struct drm_device *dev = connector->dev;
> struct drm_property *scaling_mode_property;
> int i;
> - const unsigned valid_scaling_mode_mask =
> + const unsigned int valid_scaling_mode_mask =
> (1U << ARRAY_SIZE(drm_scaling_mode_enum_list)) - 1;
>
> if (WARN_ON(hweight32(scaling_mode_mask) < 2 ||
> @@ -2817,9 +2817,9 @@ int drm_connector_set_obj_prop(struct drm_mode_object *obj,
> struct drm_connector *connector = obj_to_connector(obj);
>
> /* Do DPMS ourselves */
> - if (property == connector->dev->mode_config.dpms_property) {
> + if (property == connector->dev->mode_config.dpms_property)
> ret = (*connector->funcs->dpms)(connector, (int)value);
> - } else if (connector->funcs->set_property)
> + else if (connector->funcs->set_property)
> ret = connector->funcs->set_property(connector, property, value);
>
> if (!ret)

--
Jani Nikula, Intel