Thread (9 messages) 9 messages, 4 authors, 2015-01-23

Re: [PATCH 1/2] input: cyapa: fix sparse warning issue of incorrect type in assiggment

From: Jeremiah Mahler <hidden>
Date: 2015-01-22 09:31:38
Also in: lkml

Dudley,

Mis-spelled 'assiggment' in Subject line.

On Thu, Jan 22, 2015 at 02:50:05PM +0800, Dudley Du wrote:
Fixes the sparse warning issue of the incorrect type in assignment which
found by the kbuild test robot.
I wasn't able to reproduce the sparse warning.  Was it for a specific
architecture?  Perhaps include a link to the email sent by the kbuild
test robot.

[...]
 struct gen5_bl_metadata_row_params {
 	__le16 size;
-	__le16 maximun_size;
+	__le16 maximum_size;
I don't think sparse cares about variable names.
Be sure to note these changes in your log.
quoted hunk ↗ jump to hunk
 	__le32 app_start;
 	__le16 app_len;
 	__le16 app_crc;
@@ -1192,67 +1192,69 @@ static int cyapa_gen5_bl_enter(struct cyapa *cyapa)
 static int cyapa_gen5_check_fw(struct cyapa *cyapa, const struct firmware *fw)
 {
 	struct device *dev = &cyapa->client->dev;
-	struct gen5_bl_metadata_row_params metadata;
-	struct cyapa_tsg_bin_image *image;
-	int flash_records_count;
-	u16 app_crc = 0;
-	u16 app_integrity_crc = 0;
-	u16 row_num;
-	u8 *data;
+	const struct cyapa_tsg_bin_image *image = (const void *)fw->data;
+	const struct cyapa_tsg_bin_image_data_record *app_integrity;
+	const struct gen5_bl_metadata_row_params *metadata;
+	size_t flash_records_count;
+	u32 fw_app_start, fw_upgrade_start;
+	u16 fw_app_len, fw_upgrade_len;
+	u16 app_crc;
+	u16 app_integrity_crc;
 	int record_index;
 	int i;
 
-	image = (struct cyapa_tsg_bin_image *)fw->data;
 	flash_records_count = (fw->size -
 			sizeof(struct cyapa_tsg_bin_image_head)) /
 			sizeof(struct cyapa_tsg_bin_image_data_record);
 
-	/* APP_INTEGRITY row is always the last row block,
-	 * and the row id must be 0x01ff */
-	row_num = get_unaligned_be16(
-			&image->records[flash_records_count - 1].row_number);
-	if (image->records[flash_records_count - 1].flash_array_id != 0x00 &&
-			row_num != 0x01ff) {
+	/*
+	 * APP_INTEGRITY row is always the last row block,
+	 * and the row id must be 0x01ff.
+	 */
+	app_integrity = &image->records[flash_records_count - 1];
+
+	if (app_integrity->flash_array_id != 0x00 ||
+	    get_unaligned_be16(&app_integrity->row_number) != 0x01ff) {
I could be wrong but it looks there are a lot of changes un-related to
the sparse warning.  I am not opposed to this per se but they should be
noted in the log message.

[...]

-- 
- Jeremiah Mahler
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help