media: siano: Refactor struct sms_msg_data
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> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
63916c3dec
commit
6c69a73adf
@ -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_flags = 0;
|
||||||
mtu_msg.x_msg_header.msg_type = MSG_SMS_SET_MAX_TX_MSG_LEN_REQ;
|
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.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,
|
coredev->sendrequest_handler(coredev->context, &mtu_msg,
|
||||||
sizeof(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,
|
SMS_INIT_MSG(&crys_msg.x_msg_header,
|
||||||
MSG_SMS_NEW_CRYSTAL_REQ,
|
MSG_SMS_NEW_CRYSTAL_REQ,
|
||||||
sizeof(crys_msg));
|
sizeof(crys_msg));
|
||||||
crys_msg.msg_data[0] = board->crystal;
|
crys_msg.msg_data = board->crystal;
|
||||||
|
|
||||||
coredev->sendrequest_handler(coredev->context, &crys_msg,
|
coredev->sendrequest_handler(coredev->context, &crys_msg,
|
||||||
sizeof(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);
|
msg = (struct sms_msg_data *)SMS_ALIGN_ADDRESS(buffer);
|
||||||
SMS_INIT_MSG(&msg->x_msg_header, MSG_SMS_INIT_DEVICE_REQ,
|
SMS_INIT_MSG(&msg->x_msg_header, MSG_SMS_INIT_DEVICE_REQ,
|
||||||
sizeof(struct sms_msg_data));
|
sizeof(struct sms_msg_data));
|
||||||
msg->msg_data[0] = mode;
|
msg->msg_data = mode;
|
||||||
|
|
||||||
rc = smscore_sendrequest_and_wait(coredev, msg,
|
rc = smscore_sendrequest_and_wait(coredev, msg,
|
||||||
msg->x_msg_header. msg_length,
|
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,
|
SMS_INIT_MSG(&msg->x_msg_header, MSG_SMS_INIT_DEVICE_REQ,
|
||||||
sizeof(struct sms_msg_data));
|
sizeof(struct sms_msg_data));
|
||||||
msg->msg_data[0] = mode;
|
msg->msg_data = mode;
|
||||||
|
|
||||||
rc = smscore_sendrequest_and_wait(
|
rc = smscore_sendrequest_and_wait(
|
||||||
coredev, msg, msg->x_msg_header.msg_length,
|
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;
|
struct sms_msg_data *validity = (struct sms_msg_data *) phdr;
|
||||||
|
|
||||||
pr_debug("MSG_SMS_DATA_VALIDITY_RES, checksum = 0x%x\n",
|
pr_debug("MSG_SMS_DATA_VALIDITY_RES, checksum = 0x%x\n",
|
||||||
validity->msg_data[0]);
|
validity->msg_data);
|
||||||
complete(&coredev->data_validity_done);
|
complete(&coredev->data_validity_done);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -616,7 +616,7 @@ struct sms_msg_hdr {
|
|||||||
|
|
||||||
struct sms_msg_data {
|
struct sms_msg_data {
|
||||||
struct sms_msg_hdr x_msg_header;
|
struct sms_msg_hdr x_msg_header;
|
||||||
u32 msg_data[1];
|
u32 msg_data;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sms_msg_data2 {
|
struct sms_msg_data2 {
|
||||||
|
@ -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_flags = 0;
|
||||||
pid_msg.x_msg_header.msg_type = MSG_SMS_ADD_PID_FILTER_REQ;
|
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.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,
|
return smsclient_sendrequest(client->smsclient,
|
||||||
&pid_msg, sizeof(pid_msg));
|
&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_flags = 0;
|
||||||
pid_msg.x_msg_header.msg_type = MSG_SMS_REMOVE_PID_FILTER_REQ;
|
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.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,
|
return smsclient_sendrequest(client->smsclient,
|
||||||
&pid_msg, sizeof(pid_msg));
|
&pid_msg, sizeof(pid_msg));
|
||||||
|
@ -20,11 +20,12 @@ void smsendian_handle_tx_message(void *buffer)
|
|||||||
struct sms_msg_data *msg = buffer;
|
struct sms_msg_data *msg = buffer;
|
||||||
int i;
|
int i;
|
||||||
int msg_words;
|
int msg_words;
|
||||||
|
u32 *msg_data = &msg->msg_data;
|
||||||
|
|
||||||
switch (msg->x_msg_header.msg_type) {
|
switch (msg->x_msg_header.msg_type) {
|
||||||
case MSG_SMS_DATA_DOWNLOAD_REQ:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -33,7 +34,7 @@ void smsendian_handle_tx_message(void *buffer)
|
|||||||
sizeof(struct sms_msg_hdr))/4;
|
sizeof(struct sms_msg_hdr))/4;
|
||||||
|
|
||||||
for (i = 0; i < msg_words; i++)
|
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;
|
break;
|
||||||
}
|
}
|
||||||
@ -66,11 +67,12 @@ void smsendian_handle_rx_message(void *buffer)
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
|
u32 *msg_data = &msg->msg_data;
|
||||||
msg_words = (msg->x_msg_header.msg_length -
|
msg_words = (msg->x_msg_header.msg_length -
|
||||||
sizeof(struct sms_msg_hdr))/4;
|
sizeof(struct sms_msg_hdr))/4;
|
||||||
|
|
||||||
for (i = 0; i < msg_words; i++)
|
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;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user