summaryrefslogtreecommitdiff
path: root/include/drm
diff options
context:
space:
mode:
authorMaxime Ripard <mripard@kernel.org>2024-06-10 13:12:00 +0200
committerMaxime Ripard <mripard@kernel.org>2024-06-13 15:25:18 +0200
commit2755d1f46aa25f65179964bf315d8a16b3540eab (patch)
tree9c629453b02306d19a68df6160ebaaf2c049b24d /include/drm
parent2bae076f3e35234e42bd7c90acd8caae8368ba90 (diff)
downloadlwn-2755d1f46aa25f65179964bf315d8a16b3540eab.tar.gz
lwn-2755d1f46aa25f65179964bf315d8a16b3540eab.zip
drm/connector: hdmi: Fix kerneldoc warnings
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
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/drm_connector.h206
1 files changed, 108 insertions, 98 deletions
diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
index e04a8a0d1bbd..f750765d8fbc 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -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)