From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alan Jenkins Date: Fri, 19 Sep 2008 14:53:25 +0000 Subject: [RFC PATCH] compiler warning on 32-bit Message-Id: <48D3BCE5.50703@tuffmail.co.uk> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: quoted-printable To: linux-hotplug@vger.kernel.org The sg_io_v4 interface passes pointers as u64s. It turns out GCC disapproves of us casting a u64 straight to a 32 bit pointer. cc1: warnings being treated as errors scsi_serial.c: In function =91sg_err_category4=92: scsi_serial.c:159: warning: cast to pointer from integer of different size scsi_serial.c: In function =91scsi_dump_v4=92: scsi_serial.c:303: warning: cast to pointer from integer of different size We could either suppress this with -Wno-int-to-pointer-cast or work around = it. diff --git a/extras/scsi_id/scsi_serial.c b/extras/scsi_id/scsi_serial.c index 757f41d..20d30cf 100644 --- a/extras/scsi_id/scsi_serial.c +++ b/extras/scsi_id/scsi_serial.c @@ -156,7 +156,7 @@ static int sg_err_category4(struct udev *udev, struct s= g_io_v4 *hp) { return sg_err_category_new(udev, hp->device_status, 0, hp->transport_status, hp->driver_status, - (unsigned char *)hp->response, + (unsigned char *)(uintptr_t)hp->response, hp->response_len); } =20 @@ -300,7 +300,7 @@ static int scsi_dump_v4(struct udev *udev, dev_scsi->kernel, io->driver_status, io->transport_status, io->device_status); if (io->device_status =3D SCSI_CHECK_CONDITION) - return scsi_dump_sense(udev, dev_scsi, (unsigned char *)io->response, + return scsi_dump_sense(udev, dev_scsi, (unsigned char *)(uintptr_t)io->r= esponse, io->response_len); else return -1;