linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ricardo Ribalda <ribalda@chromium.org>
To: Michael Tretter <m.tretter@pengutronix.de>,
	 Pengutronix Kernel Team <kernel@pengutronix.de>,
	 Mauro Carvalho Chehab <mchehab@kernel.org>,
	 Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	 Michal Simek <michal.simek@amd.com>,
	Andy Walls <awalls@md.metrocast.net>,
	 Stanimir Varbanov <stanimir.k.varbanov@gmail.com>,
	 Vikash Garodia <quic_vgarodia@quicinc.com>,
	 Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
	 Bjorn Andersson <andersson@kernel.org>,
	 Konrad Dybcio <konrad.dybcio@linaro.org>
Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	 linux-arm-kernel@lists.infradead.org,
	linux-arm-msm@vger.kernel.org,
	 Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	 Ricardo Ribalda <ribalda@chromium.org>
Subject: [PATCH v2 06/18] media: siano: Refactor struct sms_msg_data
Date: Tue, 07 May 2024 16:27:11 +0000	[thread overview]
Message-ID: <20240507-cocci-flexarray-v2-6-7aea262cf065@chromium.org> (raw)
In-Reply-To: <20240507-cocci-flexarray-v2-0-7aea262cf065@chromium.org>

Replace a single element array with a single element field.

The endianness conversion code seems to support multiple elements. To
avoid changing behavior a pointer to the single element has been used.

This is safer than moving to a flex array, because in that case the
structure size changes.

This fixes the following cocci warning:
drivers/media/common/siano/smscoreapi.h:619:5-13: 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/common/siano/smscoreapi.c  | 10 +++++-----
 drivers/media/common/siano/smscoreapi.h  |  2 +-
 drivers/media/common/siano/smsdvb-main.c |  4 ++--
 drivers/media/common/siano/smsendian.c   |  8 +++++---
 4 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/drivers/media/common/siano/smscoreapi.c b/drivers/media/common/siano/smscoreapi.c
index 7ebcb10126c9..b6f1eb5dbbdf 100644
--- a/drivers/media/common/siano/smscoreapi.c
+++ b/drivers/media/common/siano/smscoreapi.c
@@ -839,7 +839,7 @@ static int smscore_configure_board(struct smscore_device_t *coredev)
 		mtu_msg.x_msg_header.msg_flags = 0;
 		mtu_msg.x_msg_header.msg_type = MSG_SMS_SET_MAX_TX_MSG_LEN_REQ;
 		mtu_msg.x_msg_header.msg_length = sizeof(mtu_msg);
-		mtu_msg.msg_data[0] = board->mtu;
+		mtu_msg.msg_data = board->mtu;
 
 		coredev->sendrequest_handler(coredev->context, &mtu_msg,
 					     sizeof(mtu_msg));
@@ -852,7 +852,7 @@ static int smscore_configure_board(struct smscore_device_t *coredev)
 		SMS_INIT_MSG(&crys_msg.x_msg_header,
 				MSG_SMS_NEW_CRYSTAL_REQ,
 				sizeof(crys_msg));
-		crys_msg.msg_data[0] = board->crystal;
+		crys_msg.msg_data = board->crystal;
 
 		coredev->sendrequest_handler(coredev->context, &crys_msg,
 					     sizeof(crys_msg));
@@ -1306,7 +1306,7 @@ static int smscore_init_device(struct smscore_device_t *coredev, int mode)
 	msg = (struct sms_msg_data *)SMS_ALIGN_ADDRESS(buffer);
 	SMS_INIT_MSG(&msg->x_msg_header, MSG_SMS_INIT_DEVICE_REQ,
 			sizeof(struct sms_msg_data));
-	msg->msg_data[0] = mode;
+	msg->msg_data = mode;
 
 	rc = smscore_sendrequest_and_wait(coredev, msg,
 			msg->x_msg_header. msg_length,
@@ -1394,7 +1394,7 @@ int smscore_set_device_mode(struct smscore_device_t *coredev, int mode)
 
 			SMS_INIT_MSG(&msg->x_msg_header, MSG_SMS_INIT_DEVICE_REQ,
 				     sizeof(struct sms_msg_data));
-			msg->msg_data[0] = mode;
+			msg->msg_data = mode;
 
 			rc = smscore_sendrequest_and_wait(
 				coredev, msg, msg->x_msg_header.msg_length,
@@ -1554,7 +1554,7 @@ void smscore_onresponse(struct smscore_device_t *coredev,
 			struct sms_msg_data *validity = (struct sms_msg_data *) phdr;
 
 			pr_debug("MSG_SMS_DATA_VALIDITY_RES, checksum = 0x%x\n",
-				validity->msg_data[0]);
+				validity->msg_data);
 			complete(&coredev->data_validity_done);
 			break;
 		}
diff --git a/drivers/media/common/siano/smscoreapi.h b/drivers/media/common/siano/smscoreapi.h
index f8789ee0d554..46dc74ac9318 100644
--- a/drivers/media/common/siano/smscoreapi.h
+++ b/drivers/media/common/siano/smscoreapi.h
@@ -616,7 +616,7 @@ struct sms_msg_hdr {
 
 struct sms_msg_data {
 	struct sms_msg_hdr x_msg_header;
-	u32 msg_data[1];
+	u32 msg_data;
 };
 
 struct sms_msg_data2 {
diff --git a/drivers/media/common/siano/smsdvb-main.c b/drivers/media/common/siano/smsdvb-main.c
index d893a0e4672b..44d8fe8b220e 100644
--- a/drivers/media/common/siano/smsdvb-main.c
+++ b/drivers/media/common/siano/smsdvb-main.c
@@ -689,7 +689,7 @@ static int smsdvb_start_feed(struct dvb_demux_feed *feed)
 	pid_msg.x_msg_header.msg_flags = 0;
 	pid_msg.x_msg_header.msg_type  = MSG_SMS_ADD_PID_FILTER_REQ;
 	pid_msg.x_msg_header.msg_length = sizeof(pid_msg);
-	pid_msg.msg_data[0] = feed->pid;
+	pid_msg.msg_data = feed->pid;
 
 	return smsclient_sendrequest(client->smsclient,
 				     &pid_msg, sizeof(pid_msg));
@@ -711,7 +711,7 @@ static int smsdvb_stop_feed(struct dvb_demux_feed *feed)
 	pid_msg.x_msg_header.msg_flags = 0;
 	pid_msg.x_msg_header.msg_type  = MSG_SMS_REMOVE_PID_FILTER_REQ;
 	pid_msg.x_msg_header.msg_length = sizeof(pid_msg);
-	pid_msg.msg_data[0] = feed->pid;
+	pid_msg.msg_data = feed->pid;
 
 	return smsclient_sendrequest(client->smsclient,
 				     &pid_msg, sizeof(pid_msg));
diff --git a/drivers/media/common/siano/smsendian.c b/drivers/media/common/siano/smsendian.c
index a3573814919b..b957970c7d97 100644
--- a/drivers/media/common/siano/smsendian.c
+++ b/drivers/media/common/siano/smsendian.c
@@ -20,11 +20,12 @@ void smsendian_handle_tx_message(void *buffer)
 	struct sms_msg_data *msg = buffer;
 	int i;
 	int msg_words;
+	u32 *msg_data = &msg->msg_data;
 
 	switch (msg->x_msg_header.msg_type) {
 	case MSG_SMS_DATA_DOWNLOAD_REQ:
 	{
-		msg->msg_data[0] = le32_to_cpu((__force __le32)(msg->msg_data[0]));
+		msg->msg_data = le32_to_cpu((__force __le32)(msg->msg_data));
 		break;
 	}
 
@@ -33,7 +34,7 @@ void smsendian_handle_tx_message(void *buffer)
 				sizeof(struct sms_msg_hdr))/4;
 
 		for (i = 0; i < msg_words; i++)
-			msg->msg_data[i] = le32_to_cpu((__force __le32)msg->msg_data[i]);
+			msg_data[i] = le32_to_cpu((__force __le32)msg_data[i]);
 
 		break;
 	}
@@ -66,11 +67,12 @@ void smsendian_handle_rx_message(void *buffer)
 
 	default:
 	{
+		u32 *msg_data = &msg->msg_data;
 		msg_words = (msg->x_msg_header.msg_length -
 				sizeof(struct sms_msg_hdr))/4;
 
 		for (i = 0; i < msg_words; i++)
-			msg->msg_data[i] = le32_to_cpu((__force __le32)msg->msg_data[i]);
+			msg_data[i] = le32_to_cpu((__force __le32)msg_data[i]);
 
 		break;
 	}

-- 
2.45.0.rc1.225.g2a3ae87e7f-goog


  parent reply	other threads:[~2024-05-07 16:27 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-07 16:27 [PATCH v2 00/18] media: Fix the last set of coccinelle warnings Ricardo Ribalda
2024-05-07 16:27 ` [PATCH v2 01/18] media: allegro: nal-hevc: Refactor nal_hevc_sub_layer_hrd_parameters Ricardo Ribalda
2024-05-08  8:53   ` Michael Tretter
2024-05-09 18:50     ` Ricardo Ribalda
2024-05-07 16:27 ` [PATCH v2 02/18] media: xilinx: Refactor struct xvip_dma Ricardo Ribalda
2024-05-07 19:34   ` Laurent Pinchart
2024-05-07 16:27 ` [PATCH v2 03/18] media: dvb-frontend/mxl5xx: Refactor struct MBIN_FILE_T Ricardo Ribalda
2024-05-07 16:27 ` [PATCH v2 04/18] media: dvb-frontend/mxl5xx: Use flex array for MBIN_SEGMENT_T Ricardo Ribalda
2024-05-07 16:27 ` [PATCH v2 05/18] media: pci: cx18: Use flex arrays for struct cx18_scb Ricardo Ribalda
2024-05-07 16:27 ` Ricardo Ribalda [this message]
2024-05-07 16:27 ` [PATCH v2 07/18] media: siano: Remove unused structures Ricardo Ribalda
2024-05-07 16:27 ` [PATCH v2 08/18] media: siano: Use flex arrays for sms_firmware Ricardo Ribalda
2024-05-07 16:27 ` [PATCH v2 09/18] media: venus: Remove unused structs Ricardo Ribalda
2024-05-09 23:35   ` Bryan O'Donoghue
2024-05-09 23:55     ` Bryan O'Donoghue
2024-05-22 12:28       ` Ricardo Ribalda
2024-05-07 16:27 ` [PATCH v2 10/18] media: venus: Use flex array for hfi_session_release_buffer_pkt Ricardo Ribalda
2024-05-09 23:37   ` Bryan O'Donoghue
2024-05-10  0:10     ` Bryan O'Donoghue
2024-05-22 12:54       ` Ricardo Ribalda
2024-05-07 16:27 ` [PATCH v2 11/18] media: venus: Refactor struct hfi_uncompressed_plane_info Ricardo Ribalda
2024-05-09 23:38   ` Bryan O'Donoghue
2024-05-07 16:27 ` [PATCH v2 12/18] media: venus: Refactor struct hfi_session_get_property_pkt Ricardo Ribalda
2024-05-09 23:43   ` Bryan O'Donoghue
2024-05-07 16:27 ` [PATCH v2 13/18] media: venus: Refactor struct hfi_uncompressed_format_supported Ricardo Ribalda
2024-05-09 23:56   ` Bryan O'Donoghue
2024-05-07 16:27 ` [PATCH v2 14/18] media: venus: Refactor hfi_session_empty_buffer_uncompressed_plane0_pkt Ricardo Ribalda
2024-05-09 23:58   ` Bryan O'Donoghue
2024-05-07 16:27 ` [PATCH v2 15/18] media: venus: Refactor hfi_session_empty_buffer_compressed_pkt Ricardo Ribalda
2024-05-09 23:59   ` Bryan O'Donoghue
2024-05-07 16:27 ` [PATCH v2 16/18] media: venus: Refactor hfi_sys_get_property_pkt Ricardo Ribalda
2024-05-10  0:05   ` Bryan O'Donoghue
2024-05-07 16:27 ` [PATCH v2 17/18] media: venus: Refactor hfi_session_fill_buffer_pkt Ricardo Ribalda
2024-05-10  0:06   ` Bryan O'Donoghue
2024-05-07 16:27 ` [PATCH v2 18/18] media: venus: Refactor hfi_buffer_alloc_mode_supported Ricardo Ribalda
2024-05-10  0:09   ` Bryan O'Donoghue
2024-05-22 13:03     ` Ricardo Ribalda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240507-cocci-flexarray-v2-6-7aea262cf065@chromium.org \
    --to=ribalda@chromium.org \
    --cc=andersson@kernel.org \
    --cc=awalls@md.metrocast.net \
    --cc=bryan.odonoghue@linaro.org \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=kernel@pengutronix.de \
    --cc=konrad.dybcio@linaro.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=m.tretter@pengutronix.de \
    --cc=mchehab@kernel.org \
    --cc=michal.simek@amd.com \
    --cc=quic_vgarodia@quicinc.com \
    --cc=stanimir.k.varbanov@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).