Skip to contentSkip to conversation

ata: endianness annotations in pata drivers

PATCH Superseded Harvey Harrison 4 participants 5 messages Jun 18, 2008 – Jun 27, 2008 libata

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ata: endianness annotations in pata drivers

drivers/ata/pata_qdi.c:142:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_qdi.c:142:9: expected unsigned int [unsigned] [usertype] pad
drivers/ata/pata_qdi.c:142:9: got restricted __le32 [usertype] <noident>
drivers/ata/pata_qdi.c:146:15: warning: cast to restricted __le32

drivers/ata/pata_winbond.c:110:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_winbond.c:110:9: expected unsigned int [unsigned] [usertype] pad
drivers/ata/pata_winbond.c:110:9: got restricted __le32 [usertype] <noident>
drivers/ata/pata_winbond.c:114:15: warning: cast to restricted __le32

drivers/ata/pata_legacy.c:310:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_legacy.c:310:9: expected unsigned int [unsigned] [usertype] pad
drivers/ata/pata_legacy.c:310:9: got restricted __le32 [usertype] <noident>
drivers/ata/pata_legacy.c:314:15: warning: cast to restricted __le32 drivers/ata/pata_legacy.c:752:11: warning: cast to restricted __le32 drivers/ata/pata_legacy.c:756:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_legacy.c:756:9: expected unsigned int [unsigned] [addressable] [assigned] [usertype] pad
drivers/ata/pata_legacy.c:756:9: got restricted __le32 [usertype] <noident>

---
 drivers/ata/pata_legacy.c  |    6 +++---
 drivers/ata/pata_qdi.c     |    2 +-
 drivers/ata/pata_winbond.c |    2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)
drivers/ata/pata_legacy.c +3 -3
index fe7cc8e..0e0442f 100644
@@ -305,7 +305,7 @@ static unsigned int pdc_data_xfer_vlb(struct ata_device *dev,
 			iowrite32_rep(ap->ioaddr.data_addr, buf, buflen >> 2);
 
 		if (unlikely(slop)) {
-			u32 pad;
+			__le32 pad;
 			if (rw == READ) {
 				pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr));
 				memcpy(buf + buflen - slop, &pad, slop);
@@ -749,11 +749,11 @@ static unsigned int vlb32_data_xfer(struct ata_device *adev, unsigned char *buf,
 			u32 pad;
 			if (rw == WRITE) {
 				memcpy(&pad, buf + buflen - slop, slop);
-				pad = le32_to_cpu(pad);
+				le32_to_cpus(&pad);
 				iowrite32(pad, ap->ioaddr.data_addr);
 			} else {
 				pad = ioread32(ap->ioaddr.data_addr);
-				pad = cpu_to_le32(pad);
+				cpu_to_le32s(pad);
 				memcpy(buf + buflen - slop, &pad, slop);
 			}
 		}
drivers/ata/pata_qdi.c +1 -1
index 97e5b09..63b7a1c 100644
@@ -137,7 +137,7 @@ static unsigned int qdi_data_xfer(struct ata_device *dev, unsigned char *buf,
 			iowrite32_rep(ap->ioaddr.data_addr, buf, buflen >> 2);
 
 		if (unlikely(slop)) {
-			u32 pad;
+			__le32 pad;
 			if (rw == READ) {
 				pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr));
 				memcpy(buf + buflen - slop, &pad, slop);
drivers/ata/pata_winbond.c +1 -1
index 474528f..a7606b0 100644
@@ -105,7 +105,7 @@ static unsigned int winbond_data_xfer(struct ata_device *dev,
 			iowrite32_rep(ap->ioaddr.data_addr, buf, buflen >> 2);
 
 		if (unlikely(slop)) {
-			u32 pad;
+			__le32 pad;
 			if (rw == READ) {
 				pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr));
 				memcpy(buf + buflen - slop, &pad, slop);
Signature · 1 line
1.5.6.rc3.295.gdca2e
#1 lore raw

drivers/ata/pata_legacy.c static unsigned int vlb32_data_xfer(struct ata_device *adev, unsigned char *buf, · line 752

Quoted 4 lines · Harvey Harrison
drivers/ata/pata_legacy.c +1 -1
 			if (rw == WRITE) {
 				memcpy(&pad, buf + buflen - slop, slop);
-				pad = le32_to_cpu(pad);
+				le32_to_cpus(&pad);

Ewww....

Quoted 1 line

iowrite32(pad, ap->ioaddr.data_addr);

What's wrong with
iowrite32(le32_to_cpu(pad),

					  ap->ioaddr.data_addr);

instead of that crap?

drivers/ata/pata_legacy.c static unsigned int vlb32_data_xfer(struct ata_device *adev, unsigned char *buf, · line 756

Quoted 3 lines
drivers/ata/pata_legacy.c +1 -1
 				pad = ioread32(ap->ioaddr.data_addr);
-				pad = cpu_to_le32(pad);
+				cpu_to_le32s(pad);

pad = cpu_to_le32(ioread32(....))

#2 lore raw

PATCH v2 1/1 ata: endianness annotations in pata drivers

drivers/ata/pata_qdi.c:142:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_qdi.c:142:9: expected unsigned int [unsigned] [usertype] pad
drivers/ata/pata_qdi.c:142:9: got restricted __le32 [usertype] <noident>
drivers/ata/pata_qdi.c:146:15: warning: cast to restricted __le32

drivers/ata/pata_winbond.c:110:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_winbond.c:110:9: expected unsigned int [unsigned] [usertype] pad
drivers/ata/pata_winbond.c:110:9: got restricted __le32 [usertype] <noident>
drivers/ata/pata_winbond.c:114:15: warning: cast to restricted __le32

drivers/ata/pata_legacy.c:310:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_legacy.c:310:9: expected unsigned int [unsigned] [usertype] pad
drivers/ata/pata_legacy.c:310:9: got restricted __le32 [usertype] <noident>
drivers/ata/pata_legacy.c:314:15: warning: cast to restricted __le32 drivers/ata/pata_legacy.c:752:11: warning: cast to restricted __le32 drivers/ata/pata_legacy.c:756:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_legacy.c:756:9: expected unsigned int [unsigned] [addressable] [assigned] [usertype] pad
drivers/ata/pata_legacy.c:756:9: got restricted __le32 [usertype] <noident>

---
Al, have incorporated your comments.

 drivers/ata/pata_legacy.c  |   10 ++++------
 drivers/ata/pata_qdi.c     |    2 +-
 drivers/ata/pata_winbond.c |    2 +-
 3 files changed, 6 insertions(+), 8 deletions(-)
drivers/ata/pata_legacy.c +4 -6
index fe7cc8e..bc037ff 100644
@@ -305,7 +305,7 @@ static unsigned int pdc_data_xfer_vlb(struct ata_device *dev,
 			iowrite32_rep(ap->ioaddr.data_addr, buf, buflen >> 2);
 
 		if (unlikely(slop)) {
-			u32 pad;
+			__le32 pad;
 			if (rw == READ) {
 				pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr));
 				memcpy(buf + buflen - slop, &pad, slop);
@@ -746,14 +746,12 @@ static unsigned int vlb32_data_xfer(struct ata_device *adev, unsigned char *buf,
 			ioread32_rep(ap->ioaddr.data_addr, buf, buflen >> 2);
 
 		if (unlikely(slop)) {
-			u32 pad;
+			__le32 pad;
 			if (rw == WRITE) {
 				memcpy(&pad, buf + buflen - slop, slop);
-				pad = le32_to_cpu(pad);
-				iowrite32(pad, ap->ioaddr.data_addr);
+				iowrite32(le32_to_cpu(pad), ap->ioaddr.data_addr);
 			} else {
-				pad = ioread32(ap->ioaddr.data_addr);
-				pad = cpu_to_le32(pad);
+				pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr));
 				memcpy(buf + buflen - slop, &pad, slop);
 			}
 		}
drivers/ata/pata_qdi.c +1 -1
index 97e5b09..63b7a1c 100644
@@ -137,7 +137,7 @@ static unsigned int qdi_data_xfer(struct ata_device *dev, unsigned char *buf,
 			iowrite32_rep(ap->ioaddr.data_addr, buf, buflen >> 2);
 
 		if (unlikely(slop)) {
-			u32 pad;
+			__le32 pad;
 			if (rw == READ) {
 				pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr));
 				memcpy(buf + buflen - slop, &pad, slop);
drivers/ata/pata_winbond.c +1 -1
index 474528f..a7606b0 100644
@@ -105,7 +105,7 @@ static unsigned int winbond_data_xfer(struct ata_device *dev,
 			iowrite32_rep(ap->ioaddr.data_addr, buf, buflen >> 2);
 
 		if (unlikely(slop)) {
-			u32 pad;
+			__le32 pad;
 			if (rw == READ) {
 				pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr));
 				memcpy(buf + buflen - slop, &pad, slop);
Signature · 1 line
1.5.6.rc3.295.gdca2e
Acked-by on v2 1/1
#3 lore raw
Quoted 4 lines · On Wed, 18 Jun 2008 17:16:43 -0700 Harvey Harrison <[email protected]>…

drivers/ata/pata_qdi.c:142:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_qdi.c:142:9: expected unsigned int [unsigned] [usertype] pad
drivers/ata/pata_qdi.c:142:9: got restricted __le32 [usertype] <noident>
drivers/ata/pata_qdi.c:146:15: warning: cast to restricted __le32

This driver is obsolete anyway.. all looks good

Applied
#4 lore raw
In reply to Harvey Harrison
Quoted 19 lines · Harvey Harrison

drivers/ata/pata_qdi.c:142:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_qdi.c:142:9: expected unsigned int [unsigned] [usertype] pad
drivers/ata/pata_qdi.c:142:9: got restricted __le32 [usertype] <noident>
drivers/ata/pata_qdi.c:146:15: warning: cast to restricted __le32

drivers/ata/pata_winbond.c:110:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_winbond.c:110:9: expected unsigned int [unsigned] [usertype] pad
drivers/ata/pata_winbond.c:110:9: got restricted __le32 [usertype] <noident>
drivers/ata/pata_winbond.c:114:15: warning: cast to restricted __le32

drivers/ata/pata_legacy.c:310:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_legacy.c:310:9: expected unsigned int [unsigned] [usertype] pad
drivers/ata/pata_legacy.c:310:9: got restricted __le32 [usertype] <noident>
drivers/ata/pata_legacy.c:314:15: warning: cast to restricted __le32 drivers/ata/pata_legacy.c:752:11: warning: cast to restricted __le32 drivers/ata/pata_legacy.c:756:9: warning: incorrect type in assignment (different base types)
drivers/ata/pata_legacy.c:756:9: expected unsigned int [unsigned] [addressable] [assigned] [usertype] pad
drivers/ata/pata_legacy.c:756:9: got restricted __le32 [usertype] <noident>

Quoted 8 lines

---
Al, have incorporated your comments.

 drivers/ata/pata_legacy.c  |   10 ++++------
 drivers/ata/pata_qdi.c     |    2 +-
 drivers/ata/pata_winbond.c |    2 +-
 3 files changed, 6 insertions(+), 8 deletions(-)

applied