Skip to contentSkip to conversation

Remove endianness attribute in ata_tf_to_fis

PATCH In review Marc C 2 participants 4 messages Aug 31, 2013 – Sep 1, 2013 libata

lore
Share & tools
lore

Marc C

author
#0 lore raw

PATCH 1/1 Remove endianness attribute in ata_tf_to_fis

From: Marc Carino <[email protected]>

This patch cleans up the following build warning:

---
reproduce: make C=1 CF=-D__CHECK_ENDIAN__

sparse warnings: (new ones prefixed by >>)

Quoted 4 lines
Quoted 4 lines

drivers/ata/libata-core.c:574:19: sparse: restricted __le32 degrades to integer drivers/ata/libata-core.c:575:20: sparse: restricted __le32 degrades to integer drivers/ata/libata-core.c:576:20: sparse: restricted __le32 degrades to integer drivers/ata/libata-core.c:577:20: sparse: restricted __le32 degrades to integer

vim +574 drivers/ata/libata-core.c

568

   569          fis[12] = tf->nsect;
   570          fis[13] = tf->hob_nsect;
   571          fis[14] = 0;
   572          fis[15] = tf->ctl;

573

Quoted 1 line

574 fis[16] = aux & 0xff;

   575          fis[17] = (aux >> 8) & 0xff;
   576          fis[18] = (aux >> 16) & 0xff;
   577          fis[19] = (aux >> 24) & 0xff;

578 }
579
580 /**
---

Marc Carino (1):
libata: Remove unneeded __le32 in ata_tf_to_fis

 drivers/ata/libata-core.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)
Signature · 1 line
1.8.1.2
author
#1 lore raw

PATCH 1/1 libata: Remove unneeded __le32 in ata_tf_to_fis

From: Marc Carino <[email protected]>

The endianness attribute on the 'aux' local variable wasn't necessary, so remove it.

---
 drivers/ata/libata-core.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)
drivers/ata/libata-core.c +4 -6
index a044be9..83b1a9f 100644
@@ -546,8 +546,6 @@ int atapi_cmd_type(u8 opcode)
  */
 void ata_tf_to_fis(const struct ata_taskfile *tf, u8 pmp, int is_cmd, u8 *fis)
 {
-	const __le32 aux = cpu_to_le32(tf->auxiliary);
-
 	fis[0] = 0x27;			/* Register - Host to Device FIS */
 	fis[1] = pmp & 0xf;		/* Port multiplier number*/
 	if (is_cmd)
@@ -571,10 +569,10 @@ void ata_tf_to_fis(const struct ata_taskfile *tf, u8 pmp, int is_cmd, u8 *fis)
 	fis[14] = 0;
 	fis[15] = tf->ctl;
 
-	fis[16] = aux & 0xff;
-	fis[17] = (aux >> 8) & 0xff;
-	fis[18] = (aux >> 16) & 0xff;
-	fis[19] = (aux >> 24) & 0xff;
+	fis[16] = tf->auxiliary & 0xff;
+	fis[17] = (tf->auxiliary >> 8) & 0xff;
+	fis[18] = (tf->auxiliary >> 16) & 0xff;
+	fis[19] = (tf->auxiliary >> 24) & 0xff;
 }
 
 /**
Signature · 1 line
1.8.1.2
#2 lore raw

Re: [PATCH] libata: Remove unneeded __le32 in ata_tf_to_fis

Quoted 4 lines · Marc C

From: Marc Carino <[email protected]>

The endianness attribute on the 'aux' local variable wasn't necessary, so remove it.

This is a bug fix on big endian machines, right? The above description doesn't match the patch content.

Thanks.

Signature · 1 line
tejun
#3 lore raw
In reply to Marc C
Quoted 3 lines · Marc C

From: Marc Carino <[email protected]>

This patch cleans up the following build warning:

Please roll these two changes into a single patch and state clearly that it is a bug fix.

Thanks!

Signature · 1 line
tejun