[PATCH] fix compiler warnings related to casting page pointers

From: Jean-Pierre Sainfeld
Date: Fri Jun 05 2009 - 22:01:02 EST



Signed-off-by: Jean-Pierre Sainfeld <firstlink@xxxxxxxxxxx>
---
drivers/staging/rspiusb/rspiusb.c | 19 +++++++++++++------
1 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/rspiusb/rspiusb.c b/drivers/staging/rspiusb/rspiusb.c
index 25d0737..f209b82 100644
--- a/drivers/staging/rspiusb/rspiusb.c
+++ b/drivers/staging/rspiusb/rspiusb.c
@@ -257,6 +257,7 @@ static int pixis_io(struct ioctl_struct *ctrl, struct device_extension *pdx,
static int pixel_data(struct ioctl_struct *ctrl, struct device_extension *pdx)
{
int i;
+ struct page *page;

if (!pdx->gotPixelData)
return 0;
@@ -265,8 +266,10 @@ static int pixel_data(struct ioctl_struct *ctrl, struct device_extension *pdx)
ctrl->numbytes = pdx->bulk_in_size_returned;
pdx->bulk_in_size_returned -= pdx->frameSize;

- for (i = 0; i < pdx->maplist_numPagesMapped[pdx->active_frame]; i++)
- SetPageDirty(pdx->sgl[pdx->active_frame][i].page_link);
+ for (i = 0; i < pdx->maplist_numPagesMapped[pdx->active_frame]; i++) {
+ page = (struct page *)pdx->sgl[pdx->active_frame][i].page_link;
+ SetPageDirty(page);
+ }

pdx->active_frame = ((pdx->active_frame + 1) % pdx->num_frames);

@@ -487,6 +490,7 @@ static int UnMapUserBuffer(struct device_extension *pdx)
int i = 0;
int k = 0;
unsigned int epAddr;
+ struct page *page;

for (k = 0; k < pdx->num_frames; k++) {
dev_dbg(&pdx->udev->dev,
@@ -518,8 +522,10 @@ static int UnMapUserBuffer(struct device_extension *pdx)

usb_buffer_unmap_sg(pdx->udev, epAddr, pdx->sgl[k],
pdx->maplist_numPagesMapped[k]);
- for (i = 0; i < pdx->maplist_numPagesMapped[k]; i++)
- page_cache_release(pdx->sgl[k][i].page_link);
+ for (i = 0; i < pdx->maplist_numPagesMapped[k]; i++) {
+ page = (struct page *)pdx->sgl[k][i].page_link;
+ page_cache_release(page);
+ }
kfree(pdx->sgl[k]);
kfree(pdx->PixelUrb[k]);
kfree(pdx->pendedPixelUrbs[k]);
@@ -690,7 +696,7 @@ static int MapUserBuffer(struct ioctl_struct *io, struct device_extension *pdx)
dev_dbg(&pdx->udev->dev, "can't allocate mem for sgl");
return -ENOMEM;
}
- pdx->sgl[frameInfo][0].page_link = maplist_p[0];
+ pdx->sgl[frameInfo][0].page_link = (unsigned long)maplist_p[0];
pdx->sgl[frameInfo][0].offset = uaddr & ~PAGE_MASK;
if (pdx->maplist_numPagesMapped[frameInfo] > 1) {
pdx->sgl[frameInfo][0].length =
@@ -698,7 +704,8 @@ static int MapUserBuffer(struct ioctl_struct *io, struct device_extension *pdx)
count -= pdx->sgl[frameInfo][0].length;
for (k = 1; k < pdx->maplist_numPagesMapped[frameInfo]; k++) {
pdx->sgl[frameInfo][k].offset = 0;
- pdx->sgl[frameInfo][k].page_link = maplist_p[k];
+ pdx->sgl[frameInfo][k].page_link =
+ (unsigned long)maplist_p[k];
pdx->sgl[frameInfo][k].length =
(count < PAGE_SIZE) ? count : PAGE_SIZE;
count -= PAGE_SIZE; /* example had PAGE_SIZE here */
--
1.6.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/