mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v5 00/10] media: Fix the last set of coccinelle warnings
@ 2024-06-18 13:37 Ricardo Ribalda
  2024-06-18 13:37 ` [PATCH v5 01/10] media: venus: Remove unused structs Ricardo Ribalda
                   ` (10 more replies)
  0 siblings, 11 replies; 14+ messages in thread
From: Ricardo Ribalda @ 2024-06-18 13:37 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Stanimir Varbanov, Vikash Garodia,
	Bryan O'Donoghue
  Cc: Hans Verkuil, linux-media, linux-kernel, linux-arm-msm, Ricardo Ribalda

With this set we are done with all the cocci warning/errors.

Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
Changes in v5: Thanks Vikash
- Remove patches already merged
- Fix typos and remove hfi_resource_ocmem_requirement
- Link to v4: https://lore.kernel.org/r/20240606-cocci-flexarray-v4-0-3379ee5eed28@chromium.org

Changes in v4:
- Remove patches already merged
- Combine dvb-frontend/mxl5xx patches and use flex on both (Thanks Hans)
- Link to v3: https://lore.kernel.org/r/20240527-cocci-flexarray-v3-0-cda09c535816@chromium.org

Changes in v3:
- Do not rename structure fields. (Thanks Bryan)
- Link to v2: https://lore.kernel.org/r/20240507-cocci-flexarray-v2-0-7aea262cf065@chromium.org

Changes in v2:
- allegro: Replace hard coded 1 with a define. (Thanks Michael)
- Link to v1: https://lore.kernel.org/r/20240507-cocci-flexarray-v1-0-4a421c21fd06@chromium.org

---
Ricardo Ribalda (10):
      media: venus: Remove unused structs
      media: venus: Use flex array for hfi_session_release_buffer_pkt
      media: venus: Refactor struct hfi_uncompressed_plane_info
      media: venus: Refactor struct hfi_session_get_property_pkt
      media: venus: Refactor struct hfi_uncompressed_format_supported
      media: venus: Refactor hfi_session_empty_buffer_uncompressed_plane0_pkt
      media: venus: Refactor hfi_session_empty_buffer_compressed_pkt
      media: venus: Refactor hfi_sys_get_property_pkt
      media: venus: Refactor hfi_session_fill_buffer_pkt
      media: venus: Refactor hfi_buffer_alloc_mode_supported

 drivers/media/platform/qcom/venus/hfi_cmds.c   |  8 ++--
 drivers/media/platform/qcom/venus/hfi_cmds.h   | 38 +++----------------
 drivers/media/platform/qcom/venus/hfi_helper.h | 52 ++------------------------
 drivers/media/platform/qcom/venus/hfi_parser.c |  2 +-
 4 files changed, 14 insertions(+), 86 deletions(-)
---
base-commit: 24147897507cd3a7d63745d1518a638bf4132238
change-id: 20240507-cocci-flexarray-9a807a8e108e

Best regards,
-- 
Ricardo Ribalda <ribalda@chromium.org>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v5 01/10] media: venus: Remove unused structs
  2024-06-18 13:37 [PATCH v5 00/10] media: Fix the last set of coccinelle warnings Ricardo Ribalda
@ 2024-06-18 13:37 ` Ricardo Ribalda
  2024-08-12 15:03   ` Bryan O'Donoghue
  2024-06-18 13:37 ` [PATCH v5 02/10] media: venus: Use flex array for hfi_session_release_buffer_pkt Ricardo Ribalda
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 14+ messages in thread
From: Ricardo Ribalda @ 2024-06-18 13:37 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Stanimir Varbanov, Vikash Garodia,
	Bryan O'Donoghue
  Cc: Hans Verkuil, linux-media, linux-kernel, linux-arm-msm, Ricardo Ribalda

This structures are not used, and have a single element array at the end
of them. Remove them.

This fix the following cocci warnings:
drivers/media/platform/qcom/venus/hfi_helper.h:764:5-15: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
drivers/media/platform/qcom/venus/hfi_helper.h:1041:5-15: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
drivers/media/platform/qcom/venus/hfi_helper.h:1088:39-51: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
drivers/media/platform/qcom/venus/hfi_helper.h:1093:5-22: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
drivers/media/platform/qcom/venus/hfi_helper.h:1144:4-8: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
drivers/media/platform/qcom/venus/hfi_helper.h:1239:4-8: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
drivers/media/platform/qcom/venus/hfi_helper.h:1272:4-13: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
drivers/media/platform/qcom/venus/hfi_cmds.h:85:5-16: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
drivers/media/platform/qcom/venus/hfi_cmds.h:180:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
drivers/media/platform/qcom/venus/hfi_cmds.h:189:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)

Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
 drivers/media/platform/qcom/venus/hfi_cmds.h   | 26 ---------------
 drivers/media/platform/qcom/venus/hfi_helper.h | 46 --------------------------
 2 files changed, 72 deletions(-)

diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.h b/drivers/media/platform/qcom/venus/hfi_cmds.h
index 20acd412ee7b..41f765eac4d9 100644
--- a/drivers/media/platform/qcom/venus/hfi_cmds.h
+++ b/drivers/media/platform/qcom/venus/hfi_cmds.h
@@ -77,14 +77,6 @@ struct hfi_sys_get_property_pkt {
 	u32 data[1];
 };
 
-struct hfi_sys_set_buffers_pkt {
-	struct hfi_pkt_hdr hdr;
-	u32 buffer_type;
-	u32 buffer_size;
-	u32 num_buffers;
-	u32 buffer_addr[1];
-};
-
 struct hfi_sys_ping_pkt {
 	struct hfi_pkt_hdr hdr;
 	u32 client_data;
@@ -171,24 +163,6 @@ struct hfi_session_empty_buffer_uncompressed_plane0_pkt {
 	u32 data[1];
 };
 
-struct hfi_session_empty_buffer_uncompressed_plane1_pkt {
-	u32 flags;
-	u32 alloc_len;
-	u32 filled_len;
-	u32 offset;
-	u32 packet_buffer2;
-	u32 data[1];
-};
-
-struct hfi_session_empty_buffer_uncompressed_plane2_pkt {
-	u32 flags;
-	u32 alloc_len;
-	u32 filled_len;
-	u32 offset;
-	u32 packet_buffer3;
-	u32 data[1];
-};
-
 struct hfi_session_fill_buffer_pkt {
 	struct hfi_session_hdr_pkt shdr;
 	u32 stream_id;
diff --git a/drivers/media/platform/qcom/venus/hfi_helper.h b/drivers/media/platform/qcom/venus/hfi_helper.h
index e4c05d62cfc7..f61295819cc1 100644
--- a/drivers/media/platform/qcom/venus/hfi_helper.h
+++ b/drivers/media/platform/qcom/venus/hfi_helper.h
@@ -759,11 +759,6 @@ struct hfi_multi_stream_3x {
 	u32 enable;
 };
 
-struct hfi_multi_view_format {
-	u32 views;
-	u32 view_order[1];
-};
-
 #define HFI_MULTI_SLICE_OFF			0x1
 #define HFI_MULTI_SLICE_BY_MB_COUNT		0x2
 #define HFI_MULTI_SLICE_BY_BYTE_COUNT		0x3
@@ -1036,11 +1031,6 @@ struct hfi_codec_supported {
 	u32 enc_codecs;
 };
 
-struct hfi_properties_supported {
-	u32 num_properties;
-	u32 properties[1];
-};
-
 struct hfi_max_sessions_supported {
 	u32 max_sessions;
 };
@@ -1076,23 +1066,6 @@ struct hfi_resource_ocmem {
 	u32 mem;
 };
 
-struct hfi_resource_ocmem_requirement {
-	u32 session_domain;
-	u32 width;
-	u32 height;
-	u32 size;
-};
-
-struct hfi_resource_ocmem_requirement_info {
-	u32 num_entries;
-	struct hfi_resource_ocmem_requirement requirements[1];
-};
-
-struct hfi_property_sys_image_version_info_type {
-	u32 string_size;
-	u8  str_image_version[1];
-};
-
 struct hfi_codec_mask_supported {
 	u32 codecs;
 	u32 video_domains;
@@ -1135,15 +1108,6 @@ struct hfi_index_extradata_config {
 	u32 index_extra_data_id;
 };
 
-struct hfi_extradata_header {
-	u32 size;
-	u32 version;
-	u32 port_index;
-	u32 type;
-	u32 data_size;
-	u8 data[1];
-};
-
 struct hfi_batch_info {
 	u32 input_batch_count;
 	u32 output_batch_count;
@@ -1234,11 +1198,6 @@ static inline void hfi_bufreq_set_count_min_host(struct hfi_buffer_requirements
 		req->count_min = val;
 };
 
-struct hfi_data_payload {
-	u32 size;
-	u8 data[1];
-};
-
 struct hfi_enable_picture {
 	u32 picture_type;
 };
@@ -1267,11 +1226,6 @@ struct hfi_buffer_alloc_mode_supported {
 	u32 data[1];
 };
 
-struct hfi_mb_error_map {
-	u32 error_map_size;
-	u8 error_map[1];
-};
-
 struct hfi_metadata_pass_through {
 	int enable;
 	u32 size;

-- 
2.45.2.627.g7a2c4fd464-goog


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v5 02/10] media: venus: Use flex array for hfi_session_release_buffer_pkt
  2024-06-18 13:37 [PATCH v5 00/10] media: Fix the last set of coccinelle warnings Ricardo Ribalda
  2024-06-18 13:37 ` [PATCH v5 01/10] media: venus: Remove unused structs Ricardo Ribalda
@ 2024-06-18 13:37 ` Ricardo Ribalda
  2024-06-18 13:37 ` [PATCH v5 03/10] media: venus: Refactor struct hfi_uncompressed_plane_info Ricardo Ribalda
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Ricardo Ribalda @ 2024-06-18 13:37 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Stanimir Varbanov, Vikash Garodia,
	Bryan O'Donoghue
  Cc: Hans Verkuil, linux-media, linux-kernel, linux-arm-msm, Ricardo Ribalda

Replace the old style single element array with a flex array. We do not
allocate this structure, so the size change should not be an issue.

This fixes the following cocci warning:
drivers/media/platform/qcom/venus/hfi_cmds.h:204:5-16: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Acked-by: Vikash Garodia <quic_vgarodia@quicinc.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
 drivers/media/platform/qcom/venus/hfi_cmds.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.h b/drivers/media/platform/qcom/venus/hfi_cmds.h
index 41f765eac4d9..6dff949c4402 100644
--- a/drivers/media/platform/qcom/venus/hfi_cmds.h
+++ b/drivers/media/platform/qcom/venus/hfi_cmds.h
@@ -201,7 +201,7 @@ struct hfi_session_release_buffer_pkt {
 	u32 extradata_size;
 	u32 response_req;
 	u32 num_buffers;
-	u32 buffer_info[1];
+	u32 buffer_info[];
 };
 
 struct hfi_session_release_resources_pkt {

-- 
2.45.2.627.g7a2c4fd464-goog


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v5 03/10] media: venus: Refactor struct hfi_uncompressed_plane_info
  2024-06-18 13:37 [PATCH v5 00/10] media: Fix the last set of coccinelle warnings Ricardo Ribalda
  2024-06-18 13:37 ` [PATCH v5 01/10] media: venus: Remove unused structs Ricardo Ribalda
  2024-06-18 13:37 ` [PATCH v5 02/10] media: venus: Use flex array for hfi_session_release_buffer_pkt Ricardo Ribalda
@ 2024-06-18 13:37 ` Ricardo Ribalda
  2024-06-18 13:37 ` [PATCH v5 04/10] media: venus: Refactor struct hfi_session_get_property_pkt Ricardo Ribalda
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Ricardo Ribalda @ 2024-06-18 13:37 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Stanimir Varbanov, Vikash Garodia,
	Bryan O'Donoghue
  Cc: Hans Verkuil, linux-media, linux-kernel, linux-arm-msm, Ricardo Ribalda

This field is never used, but if we remove it we would change the size
of the struct and can lead to behavior change. Stay on the safe side by
replacing the single element array with a single element field.

This fixes the following cocci warning:
drivers/media/platform/qcom/venus/hfi_helper.h:1003:43-60: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Acked-by: Vikash Garodia <quic_vgarodia@quicinc.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
 drivers/media/platform/qcom/venus/hfi_helper.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/platform/qcom/venus/hfi_helper.h b/drivers/media/platform/qcom/venus/hfi_helper.h
index f61295819cc1..c53e2fb2d42c 100644
--- a/drivers/media/platform/qcom/venus/hfi_helper.h
+++ b/drivers/media/platform/qcom/venus/hfi_helper.h
@@ -1000,7 +1000,7 @@ struct hfi_uncompressed_plane_constraints {
 struct hfi_uncompressed_plane_info {
 	u32 format;
 	u32 num_planes;
-	struct hfi_uncompressed_plane_constraints plane_constraints[1];
+	struct hfi_uncompressed_plane_constraints plane_constraints;
 };
 
 struct hfi_uncompressed_format_supported {

-- 
2.45.2.627.g7a2c4fd464-goog


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v5 04/10] media: venus: Refactor struct hfi_session_get_property_pkt
  2024-06-18 13:37 [PATCH v5 00/10] media: Fix the last set of coccinelle warnings Ricardo Ribalda
                   ` (2 preceding siblings ...)
  2024-06-18 13:37 ` [PATCH v5 03/10] media: venus: Refactor struct hfi_uncompressed_plane_info Ricardo Ribalda
@ 2024-06-18 13:37 ` Ricardo Ribalda
  2024-06-18 13:37 ` [PATCH v5 05/10] media: venus: Refactor struct hfi_uncompressed_format_supported Ricardo Ribalda
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Ricardo Ribalda @ 2024-06-18 13:37 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Stanimir Varbanov, Vikash Garodia,
	Bryan O'Donoghue
  Cc: Hans Verkuil, linux-media, linux-kernel, linux-arm-msm, Ricardo Ribalda

The struct hfi_session_get_property_pkt is always used to fetch a
single property. Make that explicit in the code and avoid a single
element array at the end of the struct.

This change fixes the following cocci warning:
drivers/media/platform/qcom/venus/hfi_cmds.h:194:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Acked-by: Vikash Garodia <quic_vgarodia@quicinc.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
 drivers/media/platform/qcom/venus/hfi_cmds.c | 4 ++--
 drivers/media/platform/qcom/venus/hfi_cmds.h | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.c b/drivers/media/platform/qcom/venus/hfi_cmds.c
index 3418d2dd9371..75f4a3d3e748 100644
--- a/drivers/media/platform/qcom/venus/hfi_cmds.c
+++ b/drivers/media/platform/qcom/venus/hfi_cmds.c
@@ -402,7 +402,7 @@ static int pkt_session_get_property_1x(struct hfi_session_get_property_pkt *pkt,
 	pkt->shdr.hdr.pkt_type = HFI_CMD_SESSION_GET_PROPERTY;
 	pkt->shdr.session_id = hash32_ptr(cookie);
 	pkt->num_properties = 1;
-	pkt->data[0] = ptype;
+	pkt->data = ptype;
 
 	return 0;
 }
@@ -1110,7 +1110,7 @@ pkt_session_get_property_3xx(struct hfi_session_get_property_pkt *pkt,
 
 	switch (ptype) {
 	case HFI_PROPERTY_CONFIG_VDEC_ENTROPY:
-		pkt->data[0] = HFI_PROPERTY_CONFIG_VDEC_ENTROPY;
+		pkt->data = HFI_PROPERTY_CONFIG_VDEC_ENTROPY;
 		break;
 	default:
 		ret = pkt_session_get_property_1x(pkt, cookie, ptype);
diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.h b/drivers/media/platform/qcom/venus/hfi_cmds.h
index 6dff949c4402..f5708fdfb197 100644
--- a/drivers/media/platform/qcom/venus/hfi_cmds.h
+++ b/drivers/media/platform/qcom/venus/hfi_cmds.h
@@ -191,7 +191,7 @@ struct hfi_session_resume_pkt {
 struct hfi_session_get_property_pkt {
 	struct hfi_session_hdr_pkt shdr;
 	u32 num_properties;
-	u32 data[1];
+	u32 data;
 };
 
 struct hfi_session_release_buffer_pkt {

-- 
2.45.2.627.g7a2c4fd464-goog


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v5 05/10] media: venus: Refactor struct hfi_uncompressed_format_supported
  2024-06-18 13:37 [PATCH v5 00/10] media: Fix the last set of coccinelle warnings Ricardo Ribalda
                   ` (3 preceding siblings ...)
  2024-06-18 13:37 ` [PATCH v5 04/10] media: venus: Refactor struct hfi_session_get_property_pkt Ricardo Ribalda
@ 2024-06-18 13:37 ` Ricardo Ribalda
  2024-06-18 13:37 ` [PATCH v5 06/10] media: venus: Refactor hfi_session_empty_buffer_uncompressed_plane0_pkt Ricardo Ribalda
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Ricardo Ribalda @ 2024-06-18 13:37 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Stanimir Varbanov, Vikash Garodia,
	Bryan O'Donoghue
  Cc: Hans Verkuil, linux-media, linux-kernel, linux-arm-msm, Ricardo Ribalda

plane_info is not a typical array, the data is not contiguous:
pinfo = (void *)pinfo + sizeof(*constr) * num_planes +
	2 * sizeof(u32);

Replace the single element array with a single element field.

This fixes the following cocci warning:
drivers/media/platform/qcom/venus/hfi_helper.h:1009:36-46: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Acked-by: Vikash Garodia <quic_vgarodia@quicinc.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
 drivers/media/platform/qcom/venus/hfi_helper.h | 2 +-
 drivers/media/platform/qcom/venus/hfi_parser.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/qcom/venus/hfi_helper.h b/drivers/media/platform/qcom/venus/hfi_helper.h
index c53e2fb2d42c..6202dcfc467a 100644
--- a/drivers/media/platform/qcom/venus/hfi_helper.h
+++ b/drivers/media/platform/qcom/venus/hfi_helper.h
@@ -1006,7 +1006,7 @@ struct hfi_uncompressed_plane_info {
 struct hfi_uncompressed_format_supported {
 	u32 buffer_type;
 	u32 format_entries;
-	struct hfi_uncompressed_plane_info plane_info[1];
+	struct hfi_uncompressed_plane_info plane_info;
 };
 
 struct hfi_uncompressed_plane_actual {
diff --git a/drivers/media/platform/qcom/venus/hfi_parser.c b/drivers/media/platform/qcom/venus/hfi_parser.c
index c43839539d4d..3df241dc3a11 100644
--- a/drivers/media/platform/qcom/venus/hfi_parser.c
+++ b/drivers/media/platform/qcom/venus/hfi_parser.c
@@ -157,7 +157,7 @@ static void
 parse_raw_formats(struct venus_core *core, u32 codecs, u32 domain, void *data)
 {
 	struct hfi_uncompressed_format_supported *fmt = data;
-	struct hfi_uncompressed_plane_info *pinfo = fmt->plane_info;
+	struct hfi_uncompressed_plane_info *pinfo = &fmt->plane_info;
 	struct hfi_uncompressed_plane_constraints *constr;
 	struct raw_formats rawfmts[MAX_FMT_ENTRIES] = {};
 	u32 entries = fmt->format_entries;

-- 
2.45.2.627.g7a2c4fd464-goog


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v5 06/10] media: venus: Refactor hfi_session_empty_buffer_uncompressed_plane0_pkt
  2024-06-18 13:37 [PATCH v5 00/10] media: Fix the last set of coccinelle warnings Ricardo Ribalda
                   ` (4 preceding siblings ...)
  2024-06-18 13:37 ` [PATCH v5 05/10] media: venus: Refactor struct hfi_uncompressed_format_supported Ricardo Ribalda
@ 2024-06-18 13:37 ` Ricardo Ribalda
  2024-06-18 13:37 ` [PATCH v5 07/10] media: venus: Refactor hfi_session_empty_buffer_compressed_pkt Ricardo Ribalda
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Ricardo Ribalda @ 2024-06-18 13:37 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Stanimir Varbanov, Vikash Garodia,
	Bryan O'Donoghue
  Cc: Hans Verkuil, linux-media, linux-kernel, linux-arm-msm, Ricardo Ribalda

The single element array data[1] is never used. Replace it with a
padding field of the same size.

This fixes the following cocci error:
drivers/media/platform/qcom/venus/hfi_cmds.h:163:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)

Acked-by: Vikash Garodia <quic_vgarodia@quicinc.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
 drivers/media/platform/qcom/venus/hfi_cmds.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.h b/drivers/media/platform/qcom/venus/hfi_cmds.h
index f5708fdfb197..8768ee052adc 100644
--- a/drivers/media/platform/qcom/venus/hfi_cmds.h
+++ b/drivers/media/platform/qcom/venus/hfi_cmds.h
@@ -160,7 +160,7 @@ struct hfi_session_empty_buffer_uncompressed_plane0_pkt {
 	u32 input_tag;
 	u32 packet_buffer;
 	u32 extradata_buffer;
-	u32 data[1];
+	u32 data;
 };
 
 struct hfi_session_fill_buffer_pkt {

-- 
2.45.2.627.g7a2c4fd464-goog


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v5 07/10] media: venus: Refactor hfi_session_empty_buffer_compressed_pkt
  2024-06-18 13:37 [PATCH v5 00/10] media: Fix the last set of coccinelle warnings Ricardo Ribalda
                   ` (5 preceding siblings ...)
  2024-06-18 13:37 ` [PATCH v5 06/10] media: venus: Refactor hfi_session_empty_buffer_uncompressed_plane0_pkt Ricardo Ribalda
@ 2024-06-18 13:37 ` Ricardo Ribalda
  2024-06-18 13:37 ` [PATCH v5 08/10] media: venus: Refactor hfi_sys_get_property_pkt Ricardo Ribalda
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Ricardo Ribalda @ 2024-06-18 13:37 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Stanimir Varbanov, Vikash Garodia,
	Bryan O'Donoghue
  Cc: Hans Verkuil, linux-media, linux-kernel, linux-arm-msm, Ricardo Ribalda

The single element array data[1] is never used. Replace it with a
padding field of the same size.

This fixes the following cocci warning:
drivers/media/platform/qcom/venus/hfi_cmds.h:146:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Acked-by: Vikash Garodia <quic_vgarodia@quicinc.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
 drivers/media/platform/qcom/venus/hfi_cmds.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.h b/drivers/media/platform/qcom/venus/hfi_cmds.h
index 8768ee052adc..2c56ae303989 100644
--- a/drivers/media/platform/qcom/venus/hfi_cmds.h
+++ b/drivers/media/platform/qcom/venus/hfi_cmds.h
@@ -143,7 +143,7 @@ struct hfi_session_empty_buffer_compressed_pkt {
 	u32 input_tag;
 	u32 packet_buffer;
 	u32 extradata_buffer;
-	u32 data[1];
+	u32 data;
 };
 
 struct hfi_session_empty_buffer_uncompressed_plane0_pkt {

-- 
2.45.2.627.g7a2c4fd464-goog


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v5 08/10] media: venus: Refactor hfi_sys_get_property_pkt
  2024-06-18 13:37 [PATCH v5 00/10] media: Fix the last set of coccinelle warnings Ricardo Ribalda
                   ` (6 preceding siblings ...)
  2024-06-18 13:37 ` [PATCH v5 07/10] media: venus: Refactor hfi_session_empty_buffer_compressed_pkt Ricardo Ribalda
@ 2024-06-18 13:37 ` Ricardo Ribalda
  2024-06-18 13:37 ` [PATCH v5 09/10] media: venus: Refactor hfi_session_fill_buffer_pkt Ricardo Ribalda
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Ricardo Ribalda @ 2024-06-18 13:37 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Stanimir Varbanov, Vikash Garodia,
	Bryan O'Donoghue
  Cc: Hans Verkuil, linux-media, linux-kernel, linux-arm-msm, Ricardo Ribalda

Replace a single length element array with an element.

This fixes the following cocci warning:
drivers/media/platform/qcom/venus/hfi_cmds.h:77:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)

Acked-by: Vikash Garodia <quic_vgarodia@quicinc.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
 drivers/media/platform/qcom/venus/hfi_cmds.c | 2 +-
 drivers/media/platform/qcom/venus/hfi_cmds.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.c b/drivers/media/platform/qcom/venus/hfi_cmds.c
index 75f4a3d3e748..0a4de8ca1df5 100644
--- a/drivers/media/platform/qcom/venus/hfi_cmds.c
+++ b/drivers/media/platform/qcom/venus/hfi_cmds.c
@@ -156,7 +156,7 @@ void pkt_sys_image_version(struct hfi_sys_get_property_pkt *pkt)
 	pkt->hdr.size = sizeof(*pkt);
 	pkt->hdr.pkt_type = HFI_CMD_SYS_GET_PROPERTY;
 	pkt->num_properties = 1;
-	pkt->data[0] = HFI_PROPERTY_SYS_IMAGE_VERSION;
+	pkt->data = HFI_PROPERTY_SYS_IMAGE_VERSION;
 }
 
 int pkt_session_init(struct hfi_session_init_pkt *pkt, void *cookie,
diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.h b/drivers/media/platform/qcom/venus/hfi_cmds.h
index 2c56ae303989..f91bc9087643 100644
--- a/drivers/media/platform/qcom/venus/hfi_cmds.h
+++ b/drivers/media/platform/qcom/venus/hfi_cmds.h
@@ -74,7 +74,7 @@ struct hfi_sys_set_property_pkt {
 struct hfi_sys_get_property_pkt {
 	struct hfi_pkt_hdr hdr;
 	u32 num_properties;
-	u32 data[1];
+	u32 data;
 };
 
 struct hfi_sys_ping_pkt {

-- 
2.45.2.627.g7a2c4fd464-goog


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v5 09/10] media: venus: Refactor hfi_session_fill_buffer_pkt
  2024-06-18 13:37 [PATCH v5 00/10] media: Fix the last set of coccinelle warnings Ricardo Ribalda
                   ` (7 preceding siblings ...)
  2024-06-18 13:37 ` [PATCH v5 08/10] media: venus: Refactor hfi_sys_get_property_pkt Ricardo Ribalda
@ 2024-06-18 13:37 ` Ricardo Ribalda
  2024-06-18 13:37 ` [PATCH v5 10/10] media: venus: Refactor hfi_buffer_alloc_mode_supported Ricardo Ribalda
  2024-06-19  6:40 ` [PATCH v5 00/10] media: Fix the last set of coccinelle warnings Dmitry Baryshkov
  10 siblings, 0 replies; 14+ messages in thread
From: Ricardo Ribalda @ 2024-06-18 13:37 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Stanimir Varbanov, Vikash Garodia,
	Bryan O'Donoghue
  Cc: Hans Verkuil, linux-media, linux-kernel, linux-arm-msm, Ricardo Ribalda

The single data array data[1] is only used to save the extradata_size.
Replace it with a single element field.

This fixes the following cocci warning:
drivers/media/platform/qcom/venus/hfi_cmds.h:175:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Acked-by: Vikash Garodia <quic_vgarodia@quicinc.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
 drivers/media/platform/qcom/venus/hfi_cmds.c | 2 +-
 drivers/media/platform/qcom/venus/hfi_cmds.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.c b/drivers/media/platform/qcom/venus/hfi_cmds.c
index 0a4de8ca1df5..3ae063094e3e 100644
--- a/drivers/media/platform/qcom/venus/hfi_cmds.c
+++ b/drivers/media/platform/qcom/venus/hfi_cmds.c
@@ -331,7 +331,7 @@ int pkt_session_ftb(struct hfi_session_fill_buffer_pkt *pkt, void *cookie,
 	pkt->alloc_len = out_frame->alloc_len;
 	pkt->filled_len = out_frame->filled_len;
 	pkt->offset = out_frame->offset;
-	pkt->data[0] = out_frame->extradata_size;
+	pkt->data = out_frame->extradata_size;
 
 	return 0;
 }
diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.h b/drivers/media/platform/qcom/venus/hfi_cmds.h
index f91bc9087643..daba45720ddc 100644
--- a/drivers/media/platform/qcom/venus/hfi_cmds.h
+++ b/drivers/media/platform/qcom/venus/hfi_cmds.h
@@ -172,7 +172,7 @@ struct hfi_session_fill_buffer_pkt {
 	u32 output_tag;
 	u32 packet_buffer;
 	u32 extradata_buffer;
-	u32 data[1];
+	u32 data;
 };
 
 struct hfi_session_flush_pkt {

-- 
2.45.2.627.g7a2c4fd464-goog


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v5 10/10] media: venus: Refactor hfi_buffer_alloc_mode_supported
  2024-06-18 13:37 [PATCH v5 00/10] media: Fix the last set of coccinelle warnings Ricardo Ribalda
                   ` (8 preceding siblings ...)
  2024-06-18 13:37 ` [PATCH v5 09/10] media: venus: Refactor hfi_session_fill_buffer_pkt Ricardo Ribalda
@ 2024-06-18 13:37 ` Ricardo Ribalda
  2024-06-19  6:40 ` [PATCH v5 00/10] media: Fix the last set of coccinelle warnings Dmitry Baryshkov
  10 siblings, 0 replies; 14+ messages in thread
From: Ricardo Ribalda @ 2024-06-18 13:37 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Stanimir Varbanov, Vikash Garodia,
	Bryan O'Donoghue
  Cc: Hans Verkuil, linux-media, linux-kernel, linux-arm-msm, Ricardo Ribalda

Replace the old style single element array at the end of the struct with
a flex array.

The code does not allocate this structure, so the size change should not
be a problem.

This fixes the following cocci warning:
drivers/media/platform/qcom/venus/hfi_helper.h:1233:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)

Acked-by: Vikash Garodia <quic_vgarodia@quicinc.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
 drivers/media/platform/qcom/venus/hfi_helper.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/platform/qcom/venus/hfi_helper.h b/drivers/media/platform/qcom/venus/hfi_helper.h
index 6202dcfc467a..242a3ba94555 100644
--- a/drivers/media/platform/qcom/venus/hfi_helper.h
+++ b/drivers/media/platform/qcom/venus/hfi_helper.h
@@ -1223,7 +1223,7 @@ struct hfi_interlace_format_supported {
 struct hfi_buffer_alloc_mode_supported {
 	u32 buffer_type;
 	u32 num_entries;
-	u32 data[1];
+	u32 data[];
 };
 
 struct hfi_metadata_pass_through {

-- 
2.45.2.627.g7a2c4fd464-goog


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v5 00/10] media: Fix the last set of coccinelle warnings
  2024-06-18 13:37 [PATCH v5 00/10] media: Fix the last set of coccinelle warnings Ricardo Ribalda
                   ` (9 preceding siblings ...)
  2024-06-18 13:37 ` [PATCH v5 10/10] media: venus: Refactor hfi_buffer_alloc_mode_supported Ricardo Ribalda
@ 2024-06-19  6:40 ` Dmitry Baryshkov
  2024-08-12  9:50   ` Ricardo Ribalda
  10 siblings, 1 reply; 14+ messages in thread
From: Dmitry Baryshkov @ 2024-06-19  6:40 UTC (permalink / raw)
  To: Ricardo Ribalda
  Cc: Mauro Carvalho Chehab, Stanimir Varbanov, Vikash Garodia,
	Bryan O'Donoghue, Hans Verkuil, linux-media, linux-kernel,
	linux-arm-msm

On Tue, Jun 18, 2024 at 01:37:43PM GMT, Ricardo Ribalda wrote:
> With this set we are done with all the cocci warning/errors.
> 
> Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
> ---
> Changes in v5: Thanks Vikash
> - Remove patches already merged
> - Fix typos and remove hfi_resource_ocmem_requirement
> - Link to v4: https://lore.kernel.org/r/20240606-cocci-flexarray-v4-0-3379ee5eed28@chromium.org
> 

Just for the clarfification: does the driver build without errors
if only a part of the patchset is applied? I have the feeling that first
patches introduce a build error which is fixed in a later patch. If
that's the case, it's a no-go.

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v5 00/10] media: Fix the last set of coccinelle warnings
  2024-06-19  6:40 ` [PATCH v5 00/10] media: Fix the last set of coccinelle warnings Dmitry Baryshkov
@ 2024-08-12  9:50   ` Ricardo Ribalda
  0 siblings, 0 replies; 14+ messages in thread
From: Ricardo Ribalda @ 2024-08-12  9:50 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Mauro Carvalho Chehab, Stanimir Varbanov, Vikash Garodia,
	Bryan O'Donoghue, Hans Verkuil, linux-media, linux-kernel,
	linux-arm-msm

Hi

On Wed, 19 Jun 2024 at 08:41, Dmitry Baryshkov
<dmitry.baryshkov@linaro.org> wrote:
>
> On Tue, Jun 18, 2024 at 01:37:43PM GMT, Ricardo Ribalda wrote:
> > With this set we are done with all the cocci warning/errors.
> >
> > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
> > ---
> > Changes in v5: Thanks Vikash
> > - Remove patches already merged
> > - Fix typos and remove hfi_resource_ocmem_requirement
> > - Link to v4: https://lore.kernel.org/r/20240606-cocci-flexarray-v4-0-3379ee5eed28@chromium.org
> >
>
> Just for the clarfification: does the driver build without errors
> if only a part of the patchset is applied? I have the feeling that first
> patches introduce a build error which is fixed in a later patch. If
> that's the case, it's a no-go.


I believe it should build without errors for every patch: It has
passed the bisectability test

https://gitlab.freedesktop.org/linux-media/users/ribalda/-/jobs/62071294


>
> --
> With best wishes
> Dmitry



--
Ricardo Ribalda

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v5 01/10] media: venus: Remove unused structs
  2024-06-18 13:37 ` [PATCH v5 01/10] media: venus: Remove unused structs Ricardo Ribalda
@ 2024-08-12 15:03   ` Bryan O'Donoghue
  0 siblings, 0 replies; 14+ messages in thread
From: Bryan O'Donoghue @ 2024-08-12 15:03 UTC (permalink / raw)
  To: Ricardo Ribalda, Mauro Carvalho Chehab, Stanimir Varbanov,
	Vikash Garodia
  Cc: Hans Verkuil, linux-media, linux-kernel, linux-arm-msm

On 18/06/2024 14:37, Ricardo Ribalda wrote:
> This structures are not used, and have a single element array at the end
> of them. Remove them.
> 
> This fix the following cocci warnings:
> drivers/media/platform/qcom/venus/hfi_helper.h:764:5-15: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
> drivers/media/platform/qcom/venus/hfi_helper.h:1041:5-15: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
> drivers/media/platform/qcom/venus/hfi_helper.h:1088:39-51: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
> drivers/media/platform/qcom/venus/hfi_helper.h:1093:5-22: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
> drivers/media/platform/qcom/venus/hfi_helper.h:1144:4-8: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
> drivers/media/platform/qcom/venus/hfi_helper.h:1239:4-8: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
> drivers/media/platform/qcom/venus/hfi_helper.h:1272:4-13: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
> drivers/media/platform/qcom/venus/hfi_cmds.h:85:5-16: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
> drivers/media/platform/qcom/venus/hfi_cmds.h:180:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
> drivers/media/platform/qcom/venus/hfi_cmds.h:189:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
> 
> Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>

I realise I'm going against the grain saying this but, I believe these 
structures - which document host <-> firmware data packets - the ABI - 
should be retained in the header, even if they are unused, since they 
are documentary and potentially of future use.

I'd rather fix the WARNING than zap the structure.

---
bod

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2024-08-12 15:03 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-18 13:37 [PATCH v5 00/10] media: Fix the last set of coccinelle warnings Ricardo Ribalda
2024-06-18 13:37 ` [PATCH v5 01/10] media: venus: Remove unused structs Ricardo Ribalda
2024-08-12 15:03   ` Bryan O'Donoghue
2024-06-18 13:37 ` [PATCH v5 02/10] media: venus: Use flex array for hfi_session_release_buffer_pkt Ricardo Ribalda
2024-06-18 13:37 ` [PATCH v5 03/10] media: venus: Refactor struct hfi_uncompressed_plane_info Ricardo Ribalda
2024-06-18 13:37 ` [PATCH v5 04/10] media: venus: Refactor struct hfi_session_get_property_pkt Ricardo Ribalda
2024-06-18 13:37 ` [PATCH v5 05/10] media: venus: Refactor struct hfi_uncompressed_format_supported Ricardo Ribalda
2024-06-18 13:37 ` [PATCH v5 06/10] media: venus: Refactor hfi_session_empty_buffer_uncompressed_plane0_pkt Ricardo Ribalda
2024-06-18 13:37 ` [PATCH v5 07/10] media: venus: Refactor hfi_session_empty_buffer_compressed_pkt Ricardo Ribalda
2024-06-18 13:37 ` [PATCH v5 08/10] media: venus: Refactor hfi_sys_get_property_pkt Ricardo Ribalda
2024-06-18 13:37 ` [PATCH v5 09/10] media: venus: Refactor hfi_session_fill_buffer_pkt Ricardo Ribalda
2024-06-18 13:37 ` [PATCH v5 10/10] media: venus: Refactor hfi_buffer_alloc_mode_supported Ricardo Ribalda
2024-06-19  6:40 ` [PATCH v5 00/10] media: Fix the last set of coccinelle warnings Dmitry Baryshkov
2024-08-12  9:50   ` Ricardo Ribalda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®