Patchwork [U-Boot] scsi: Correct types of scsi_read/write()

login
register
mail settings
Submitter Simon Glass
Date July 3, 2013, 2:11 p.m.
Message ID <1372860701-7496-1-git-send-email-sjg@chromium.org>
Download mbox | patch
Permalink /patch/256650/
State Accepted
Delegated to: Tom Rini
Headers show

Comments

Simon Glass - July 3, 2013, 2:11 p.m.
The block device expects to see lbaint_t for the blknr parameter. Change
the SCSI read/write functions to suit.

This fixes the following build warnings for coreboot:

cmd_scsi.c: In function ‘scsi_scan’:
cmd_scsi.c:119:30: error: assignment from incompatible pointer type [-Werror]
cmd_scsi.c:120:32: error: assignment from incompatible pointer type [-Werror]

Signed-off-by: Simon Glass <sjg@chromium.org>
---
 common/cmd_scsi.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
Tom Rini - July 16, 2013, 2:37 p.m.
On Wed, Jul 03, 2013 at 07:11:41AM -0700, Simon Glass wrote:

> The block device expects to see lbaint_t for the blknr parameter. Change
> the SCSI read/write functions to suit.
> 
> This fixes the following build warnings for coreboot:
> 
> cmd_scsi.c: In function ???scsi_scan???:
> cmd_scsi.c:119:30: error: assignment from incompatible pointer type [-Werror]
> cmd_scsi.c:120:32: error: assignment from incompatible pointer type [-Werror]
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

Patch

diff --git a/common/cmd_scsi.c b/common/cmd_scsi.c
index 294d9f5..3b59944 100644
--- a/common/cmd_scsi.c
+++ b/common/cmd_scsi.c
@@ -82,8 +82,9 @@  void scsi_ident_cpy (unsigned char *dest, unsigned char *src, unsigned int len);
 
 static int scsi_read_capacity(ccb *pccb, lbaint_t *capacity,
 			      unsigned long *blksz);
-static ulong scsi_read(int device, ulong blknr, lbaint_t blkcnt, void *buffer);
-static ulong scsi_write(int device, ulong blknr,
+static ulong scsi_read(int device, lbaint_t blknr, lbaint_t blkcnt,
+		       void *buffer);
+static ulong scsi_write(int device, lbaint_t blknr,
 			lbaint_t blkcnt, const void *buffer);
 
 
@@ -372,7 +373,8 @@  int do_scsi (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 
 #define SCSI_MAX_READ_BLK 0xFFFF /* almost the maximum amount of the scsi_ext command.. */
 
-static ulong scsi_read(int device, ulong blknr, lbaint_t blkcnt, void *buffer)
+static ulong scsi_read(int device, lbaint_t blknr, lbaint_t blkcnt,
+		       void *buffer)
 {
 	lbaint_t start, blks;
 	uintptr_t buf_addr;
@@ -427,7 +429,7 @@  static ulong scsi_read(int device, ulong blknr, lbaint_t blkcnt, void *buffer)
 /* Almost the maximum amount of the scsi_ext command.. */
 #define SCSI_MAX_WRITE_BLK 0xFFFF
 
-static ulong scsi_write(int device, ulong blknr,
+static ulong scsi_write(int device, lbaint_t blknr,
 			lbaint_t blkcnt, const void *buffer)
 {
 	lbaint_t start, blks;