linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ata: endianness annotations in pata drivers
@ 2008-06-18 22:53 Harvey Harrison
  2008-06-18 23:33 ` Al Viro
  0 siblings, 1 reply; 5+ messages in thread
From: Harvey Harrison @ 2008-06-18 22:53 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Al Viro, linux-ide

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>

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
---
 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(-)

diff --git a/drivers/ata/pata_legacy.c b/drivers/ata/pata_legacy.c
index fe7cc8e..0e0442f 100644
--- a/drivers/ata/pata_legacy.c
+++ b/drivers/ata/pata_legacy.c
@@ -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);
 			}
 		}
diff --git a/drivers/ata/pata_qdi.c b/drivers/ata/pata_qdi.c
index 97e5b09..63b7a1c 100644
--- a/drivers/ata/pata_qdi.c
+++ b/drivers/ata/pata_qdi.c
@@ -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);
diff --git a/drivers/ata/pata_winbond.c b/drivers/ata/pata_winbond.c
index 474528f..a7606b0 100644
--- a/drivers/ata/pata_winbond.c
+++ b/drivers/ata/pata_winbond.c
@@ -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);
-- 
1.5.6.rc3.295.gdca2e




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] ata: endianness annotations in pata drivers
  2008-06-18 22:53 [PATCH] ata: endianness annotations in pata drivers Harvey Harrison
@ 2008-06-18 23:33 ` Al Viro
  2008-06-19  0:16   ` [PATCHv2] " Harvey Harrison
  0 siblings, 1 reply; 5+ messages in thread
From: Al Viro @ 2008-06-18 23:33 UTC (permalink / raw)
  To: Harvey Harrison; +Cc: Jeff Garzik, linux-ide

On Wed, Jun 18, 2008 at 03:53:02PM -0700, Harvey Harrison wrote:
>  			if (rw == WRITE) {
>  				memcpy(&pad, buf + buflen - slop, slop);
> -				pad = le32_to_cpu(pad);
> +				le32_to_cpus(&pad);
Ewww....
>  				iowrite32(pad, ap->ioaddr.data_addr);

What's wrong with
  				iowrite32(le32_to_cpu(pad),
					  ap->ioaddr.data_addr);
instead of that crap?

>  				pad = ioread32(ap->ioaddr.data_addr);
> -				pad = cpu_to_le32(pad);
> +				cpu_to_le32s(pad);

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCHv2] ata: endianness annotations in pata drivers
  2008-06-18 23:33 ` Al Viro
@ 2008-06-19  0:16   ` Harvey Harrison
  2008-06-19 14:55     ` Alan Cox
  2008-06-27  6:56     ` Jeff Garzik
  0 siblings, 2 replies; 5+ messages in thread
From: Harvey Harrison @ 2008-06-19  0:16 UTC (permalink / raw)
  To: Al Viro; +Cc: Jeff Garzik, linux-ide

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>

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
---
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(-)

diff --git a/drivers/ata/pata_legacy.c b/drivers/ata/pata_legacy.c
index fe7cc8e..bc037ff 100644
--- a/drivers/ata/pata_legacy.c
+++ b/drivers/ata/pata_legacy.c
@@ -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);
 			}
 		}
diff --git a/drivers/ata/pata_qdi.c b/drivers/ata/pata_qdi.c
index 97e5b09..63b7a1c 100644
--- a/drivers/ata/pata_qdi.c
+++ b/drivers/ata/pata_qdi.c
@@ -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);
diff --git a/drivers/ata/pata_winbond.c b/drivers/ata/pata_winbond.c
index 474528f..a7606b0 100644
--- a/drivers/ata/pata_winbond.c
+++ b/drivers/ata/pata_winbond.c
@@ -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);
-- 
1.5.6.rc3.295.gdca2e




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCHv2] ata: endianness annotations in pata drivers
  2008-06-19  0:16   ` [PATCHv2] " Harvey Harrison
@ 2008-06-19 14:55     ` Alan Cox
  2008-06-27  6:56     ` Jeff Garzik
  1 sibling, 0 replies; 5+ messages in thread
From: Alan Cox @ 2008-06-19 14:55 UTC (permalink / raw)
  To: Harvey Harrison; +Cc: Al Viro, Jeff Garzik, linux-ide

On Wed, 18 Jun 2008 17:16:43 -0700
Harvey Harrison <harvey.harrison@gmail.com> wrote:

> 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

Acked-by: Alan Cox <alan@redhat.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCHv2] ata: endianness annotations in pata drivers
  2008-06-19  0:16   ` [PATCHv2] " Harvey Harrison
  2008-06-19 14:55     ` Alan Cox
@ 2008-06-27  6:56     ` Jeff Garzik
  1 sibling, 0 replies; 5+ messages in thread
From: Jeff Garzik @ 2008-06-27  6:56 UTC (permalink / raw)
  To: Harvey Harrison; +Cc: Al Viro, linux-ide

Harvey Harrison wrote:
> 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>
> 
> Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
> ---
> 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



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-06-27  6:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-18 22:53 [PATCH] ata: endianness annotations in pata drivers Harvey Harrison
2008-06-18 23:33 ` Al Viro
2008-06-19  0:16   ` [PATCHv2] " Harvey Harrison
2008-06-19 14:55     ` Alan Cox
2008-06-27  6:56     ` Jeff Garzik

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).