]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/connector: hdmi: Fix kerneldoc warnings
authorMaxime Ripard <mripard@kernel.org>
Mon, 10 Jun 2024 11:12:00 +0000 (13:12 +0200)
committerMaxime Ripard <mripard@kernel.org>
Thu, 13 Jun 2024 13:25:18 +0000 (15:25 +0200)
It looks like the documentation for the HDMI-related fields recently
added to both the drm_connector and drm_connector_state structures
trigger some warnings because of their use of anonymous structures:

  $ scripts/kernel-doc -none include/drm/drm_connector.h
  include/drm/drm_connector.h:1138: warning: Excess struct member 'broadcast_rgb' description in 'drm_connector_state'
  include/drm/drm_connector.h:1138: warning: Excess struct member 'infoframes' description in 'drm_connector_state'
  include/drm/drm_connector.h:1138: warning: Excess struct member 'avi' description in 'drm_connector_state'
  include/drm/drm_connector.h:1138: warning: Excess struct member 'hdr_drm' description in 'drm_connector_state'
  include/drm/drm_connector.h:1138: warning: Excess struct member 'spd' description in 'drm_connector_state'
  include/drm/drm_connector.h:1138: warning: Excess struct member 'vendor' description in 'drm_connector_state'
  include/drm/drm_connector.h:1138: warning: Excess struct member 'is_limited_range' description in 'drm_connector_state'
  include/drm/drm_connector.h:1138: warning: Excess struct member 'output_bpc' description in 'drm_connector_state'
  include/drm/drm_connector.h:1138: warning: Excess struct member 'output_format' description in 'drm_connector_state'
  include/drm/drm_connector.h:1138: warning: Excess struct member 'tmds_char_rate' description in 'drm_connector_state'
  include/drm/drm_connector.h:2112: warning: Excess struct member 'vendor' description in 'drm_connector'
  include/drm/drm_connector.h:2112: warning: Excess struct member 'product' description in 'drm_connector'
  include/drm/drm_connector.h:2112: warning: Excess struct member 'supported_formats' description in 'drm_connector'
  include/drm/drm_connector.h:2112: warning: Excess struct member 'infoframes' description in 'drm_connector'
  include/drm/drm_connector.h:2112: warning: Excess struct member 'lock' description in 'drm_connector'
  include/drm/drm_connector.h:2112: warning: Excess struct member 'audio' description in 'drm_connector'

Create some intermediate structures instead of anonymous ones to silence
the warnings.

Reported-by: Jani Nikula <jani.nikula@linux.intel.com>
Suggested-by: Jani Nikula <jani.nikula@linux.intel.com>
Fixes: 54cb39e2293b ("drm/connector: hdmi: Create an HDMI sub-state")
Fixes: 948f01d5e559 ("drm/connector: hdmi: Add support for output format")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240610111200.428224-1-mripard@kernel.org
include/drm/drm_connector.h

index e04a8a0d1bbd2ac5be4b86b57d8d646240fbc781..f750765d8fbc899d5a0ff45150fb0d9a0bab2cef 100644 (file)
@@ -929,6 +929,67 @@ struct drm_connector_hdmi_infoframe {
        bool set;
 };
 
+/*
+ * struct drm_connector_hdmi_state - HDMI state container
+ */
+struct drm_connector_hdmi_state {
+       /**
+        * @broadcast_rgb: Connector property to pass the
+        * Broadcast RGB selection value.
+        */
+       enum drm_hdmi_broadcast_rgb broadcast_rgb;
+
+       /**
+        * @infoframes: HDMI Infoframes matching that state
+        */
+       struct {
+               /**
+                * @avi: AVI Infoframes structure matching our
+                * state.
+                */
+               struct drm_connector_hdmi_infoframe avi;
+
+               /**
+                * @hdr_drm: DRM (Dynamic Range and Mastering)
+                * Infoframes structure matching our state.
+                */
+               struct drm_connector_hdmi_infoframe hdr_drm;
+
+               /**
+                * @spd: SPD Infoframes structure matching our
+                * state.
+                */
+               struct drm_connector_hdmi_infoframe spd;
+
+               /**
+                * @vendor: HDMI Vendor Infoframes structure
+                * matching our state.
+                */
+               struct drm_connector_hdmi_infoframe hdmi;
+       } infoframes;
+
+       /**
+        * @is_limited_range: Is the output supposed to use a limited
+        * RGB Quantization Range or not?
+        */
+       bool is_limited_range;
+
+       /**
+        * @output_bpc: Bits per color channel to output.
+        */
+       unsigned int output_bpc;
+
+       /**
+        * @output_format: Pixel format to output in.
+        */
+       enum hdmi_colorspace output_format;
+
+       /**
+        * @tmds_char_rate: TMDS Character Rate, in Hz.
+        */
+       unsigned long long tmds_char_rate;
+};
+
 /**
  * struct drm_connector_state - mutable connector state
  */
@@ -1078,63 +1139,7 @@ struct drm_connector_state {
         * @hdmi: HDMI-related variable and properties. Filled by
         * @drm_atomic_helper_connector_hdmi_check().
         */
-       struct {
-               /**
-                * @broadcast_rgb: Connector property to pass the
-                * Broadcast RGB selection value.
-                */
-               enum drm_hdmi_broadcast_rgb broadcast_rgb;
-
-               /**
-                * @infoframes: HDMI Infoframes matching that state
-                */
-               struct {
-                       /**
-                        * @avi: AVI Infoframes structure matching our
-                        * state.
-                        */
-                       struct drm_connector_hdmi_infoframe avi;
-
-                       /**
-                        * @hdr_drm: DRM (Dynamic Range and Mastering)
-                        * Infoframes structure matching our state.
-                        */
-                       struct drm_connector_hdmi_infoframe hdr_drm;
-
-                       /**
-                        * @spd: SPD Infoframes structure matching our
-                        * state.
-                        */
-                       struct drm_connector_hdmi_infoframe spd;
-
-                       /**
-                        * @vendor: HDMI Vendor Infoframes structure
-                        * matching our state.
-                        */
-                       struct drm_connector_hdmi_infoframe hdmi;
-               } infoframes;
-
-               /**
-                * @is_limited_range: Is the output supposed to use a limited
-                * RGB Quantization Range or not?
-                */
-               bool is_limited_range;
-
-               /**
-                * @output_bpc: Bits per color channel to output.
-                */
-               unsigned int output_bpc;
-
-               /**
-                * @output_format: Pixel format to output in.
-                */
-               enum hdmi_colorspace output_format;
-
-               /**
-                * @tmds_char_rate: TMDS Character Rate, in Hz.
-                */
-               unsigned long long tmds_char_rate;
-       } hdmi;
+       struct drm_connector_hdmi_state hdmi;
 };
 
 /**
@@ -1656,6 +1661,51 @@ struct drm_cmdline_mode {
        bool tv_mode_specified;
 };
 
+/*
+ * struct drm_connector_hdmi - DRM Connector HDMI-related structure
+ */
+struct drm_connector_hdmi {
+#define DRM_CONNECTOR_HDMI_VENDOR_LEN  8
+       /**
+        * @vendor: HDMI Controller Vendor Name
+        */
+       unsigned char vendor[DRM_CONNECTOR_HDMI_VENDOR_LEN] __nonstring;
+
+#define DRM_CONNECTOR_HDMI_PRODUCT_LEN 16
+       /**
+        * @product: HDMI Controller Product Name
+        */
+       unsigned char product[DRM_CONNECTOR_HDMI_PRODUCT_LEN] __nonstring;
+
+       /**
+        * @supported_formats: Bitmask of @hdmi_colorspace
+        * supported by the controller.
+        */
+       unsigned long supported_formats;
+
+       /**
+        * @funcs: HDMI connector Control Functions
+        */
+       const struct drm_connector_hdmi_funcs *funcs;
+
+       /**
+        * @infoframes: Current Infoframes output by the connector
+        */
+       struct {
+               /**
+                * @lock: Mutex protecting against concurrent access to
+                * the infoframes, most notably between KMS and ALSA.
+                */
+               struct mutex lock;
+
+               /**
+                * @audio: Current Audio Infoframes structure. Protected
+                * by @lock.
+                */
+               struct drm_connector_hdmi_infoframe audio;
+       } infoframes;
+};
+
 /**
  * struct drm_connector - central DRM connector control structure
  *
@@ -2068,47 +2118,7 @@ struct drm_connector {
        /**
         * @hdmi: HDMI-related variable and properties.
         */
-       struct {
-#define DRM_CONNECTOR_HDMI_VENDOR_LEN  8
-               /**
-                * @vendor: HDMI Controller Vendor Name
-                */
-               unsigned char vendor[DRM_CONNECTOR_HDMI_VENDOR_LEN] __nonstring;
-
-#define DRM_CONNECTOR_HDMI_PRODUCT_LEN 16
-               /**
-                * @product: HDMI Controller Product Name
-                */
-               unsigned char product[DRM_CONNECTOR_HDMI_PRODUCT_LEN] __nonstring;
-
-               /**
-                * @supported_formats: Bitmask of @hdmi_colorspace
-                * supported by the controller.
-                */
-               unsigned long supported_formats;
-
-               /**
-                * @funcs: HDMI connector Control Functions
-                */
-               const struct drm_connector_hdmi_funcs *funcs;
-
-               /**
-                * @infoframes: Current Infoframes output by the connector
-                */
-               struct {
-                       /**
-                        * @lock: Mutex protecting against concurrent access to
-                        * the infoframes, most notably between KMS and ALSA.
-                        */
-                       struct mutex lock;
-
-                       /**
-                        * @audio: Current Audio Infoframes structure. Protected
-                        * by @lock.
-                        */
-                       struct drm_connector_hdmi_infoframe audio;
-               } infoframes;
-       } hdmi;
+       struct drm_connector_hdmi hdmi;
 };
 
 #define obj_to_connector(x) container_of(x, struct drm_connector, base)