From: Al Viro <[email protected]>

Keep ->smsshado_virt_addrp[] and ->buf_virt_addr[] as pointers.
Note that this stuff is 32bit-only, so both unsigned int and
unsigned long are pointer-sized...

Signed-off-by: Al Viro <[email protected]>
---
 drivers/media/platform/omap/omap_vout.c      | 26 ++++++++++++++------------
 drivers/media/platform/omap/omap_vout_vrfb.c |  6 +++---
 drivers/media/platform/omap/omap_voutdef.h   |  4 ++--
 drivers/media/platform/omap/omap_voutlib.c   | 15 +++++++--------
 drivers/media/platform/omap/omap_voutlib.h   |  4 ++--
 5 files changed, 28 insertions(+), 27 deletions(-)

diff --git a/drivers/media/platform/omap/omap_vout.c 
b/drivers/media/platform/omap/omap_vout.c
index 70c28d1..3e298d8 100644
--- a/drivers/media/platform/omap/omap_vout.c
+++ b/drivers/media/platform/omap/omap_vout.c
@@ -240,7 +240,7 @@ void omap_vout_free_buffers(struct omap_vout_device *vout)
                omap_vout_free_buffer(vout->buf_virt_addr[i],
                                vout->buffer_size);
                vout->buf_phy_addr[i] = 0;
-               vout->buf_virt_addr[i] = 0;
+               vout->buf_virt_addr[i] = NULL;
        }
 }
 
@@ -656,7 +656,8 @@ static int omap_vout_buffer_setup(struct videobuf_queue *q, 
unsigned int *count,
                          unsigned int *size)
 {
        int startindex = 0, i, j;
-       u32 phy_addr = 0, virt_addr = 0;
+       u32 phy_addr = 0;
+       void *virt_addr = NULL;
        struct omap_vout_device *vout = q->priv_data;
        struct omapvideo_info *ovid = &vout->vid_info;
        int vid_max_buf_size;
@@ -712,7 +713,7 @@ static int omap_vout_buffer_setup(struct videobuf_queue *q, 
unsigned int *count,
                                omap_vout_free_buffer(
                                                vout->smsshado_virt_addr[j],
                                                vout->smsshado_size);
-                               vout->smsshado_virt_addr[j] = 0;
+                               vout->smsshado_virt_addr[j] = NULL;
                                vout->smsshado_phy_addr[j] = 0;
                                }
                        }
@@ -741,7 +742,7 @@ static void omap_vout_free_extra_buffers(struct 
omap_vout_device *vout)
                        omap_vout_free_buffer(vout->buf_virt_addr[i],
                                        vout->buffer_size);
 
-               vout->buf_virt_addr[i] = 0;
+               vout->buf_virt_addr[i] = NULL;
                vout->buf_phy_addr[i] = 0;
        }
        vout->buffer_allocated = num_buffers;
@@ -782,13 +783,14 @@ static int omap_vout_buffer_prepare(struct videobuf_queue 
*q,
                if (ret < 0)
                        return ret;
        } else {
-               unsigned long addr, dma_addr;
+               void *addr;
+               unsigned long dma_addr;
                unsigned long size;
 
-               addr = (unsigned long) vout->buf_virt_addr[vb->i];
+               addr = vout->buf_virt_addr[vb->i];
                size = (unsigned long) vb->size;
 
-               dma_addr = dma_map_single(vout->vid_dev->v4l2_dev.dev, (void *) 
addr,
+               dma_addr = dma_map_single(vout->vid_dev->v4l2_dev.dev, addr,
                                size, DMA_TO_DEVICE);
                if (dma_mapping_error(vout->vid_dev->v4l2_dev.dev, dma_addr))
                        v4l2_err(&vout->vid_dev->v4l2_dev, "dma_map_single 
failed\n");
@@ -913,11 +915,11 @@ static int omap_vout_mmap(struct file *file, struct 
vm_area_struct *vma)
        vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
        vma->vm_ops = &omap_vout_vm_ops;
        vma->vm_private_data = (void *) vout;
-       pos = (void *)vout->buf_virt_addr[i];
-       vma->vm_pgoff = virt_to_phys((void *)pos) >> PAGE_SHIFT;
+       pos = vout->buf_virt_addr[i];
+       vma->vm_pgoff = virt_to_phys(pos) >> PAGE_SHIFT;
        while (size > 0) {
                unsigned long pfn;
-               pfn = virt_to_phys((void *) pos) >> PAGE_SHIFT;
+               pfn = virt_to_phys(pos) >> PAGE_SHIFT;
                if (remap_pfn_range(vma, start, pfn, PAGE_SIZE, PAGE_SHARED))
                        return -EAGAIN;
                start += PAGE_SIZE;
@@ -1501,7 +1503,7 @@ static int vidioc_reqbufs(struct file *file, void *fh,
                for (i = num_buffers; i < vout->buffer_allocated; i++) {
                        omap_vout_free_buffer(vout->buf_virt_addr[i],
                                        vout->buffer_size);
-                       vout->buf_virt_addr[i] = 0;
+                       vout->buf_virt_addr[i] = NULL;
                        vout->buf_phy_addr[i] = 0;
                }
                vout->buffer_allocated = num_buffers;
@@ -1979,7 +1981,7 @@ free_buffers:
        for (i = 0; i < numbuffers; i++) {
                omap_vout_free_buffer(vout->buf_virt_addr[i],
                                                vout->buffer_size);
-               vout->buf_virt_addr[i] = 0;
+               vout->buf_virt_addr[i] = NULL;
                vout->buf_phy_addr[i] = 0;
        }
        return ret;
diff --git a/drivers/media/platform/omap/omap_vout_vrfb.c 
b/drivers/media/platform/omap/omap_vout_vrfb.c
index c6e2527..1c89189 100644
--- a/drivers/media/platform/omap/omap_vout_vrfb.c
+++ b/drivers/media/platform/omap/omap_vout_vrfb.c
@@ -48,13 +48,13 @@ static int omap_vout_allocate_vrfb_buffers(struct 
omap_vout_device *vout,
                                omap_vout_free_buffer(
                                                vout->smsshado_virt_addr[j],
                                                vout->smsshado_size);
-                               vout->smsshado_virt_addr[j] = 0;
+                               vout->smsshado_virt_addr[j] = NULL;
                                vout->smsshado_phy_addr[j] = 0;
                        }
                        *count = 0;
                        return -ENOMEM;
                }
-               memset((void *) vout->smsshado_virt_addr[i], 0,
+               memset(vout->smsshado_virt_addr[i], 0,
                                vout->smsshado_size);
        }
        return 0;
@@ -81,7 +81,7 @@ void omap_vout_free_vrfb_buffers(struct omap_vout_device 
*vout)
        for (j = 0; j < VRFB_NUM_BUFS; j++) {
                omap_vout_free_buffer(vout->smsshado_virt_addr[j],
                                vout->smsshado_size);
-               vout->smsshado_virt_addr[j] = 0;
+               vout->smsshado_virt_addr[j] = NULL;
                vout->smsshado_phy_addr[j] = 0;
        }
 }
diff --git a/drivers/media/platform/omap/omap_voutdef.h 
b/drivers/media/platform/omap/omap_voutdef.h
index 9ccfe1f..d298d1a 100644
--- a/drivers/media/platform/omap/omap_voutdef.h
+++ b/drivers/media/platform/omap/omap_voutdef.h
@@ -126,7 +126,7 @@ struct omap_vout_device {
        /* allow to reuse previously allocated buffer which is big enough */
        int buffer_size;
        /* keep buffer info across opens */
-       unsigned long buf_virt_addr[VIDEO_MAX_FRAME];
+       void *buf_virt_addr[VIDEO_MAX_FRAME];
        unsigned long buf_phy_addr[VIDEO_MAX_FRAME];
        enum omap_color_mode dss_mode;
 
@@ -161,7 +161,7 @@ struct omap_vout_device {
 
        struct vid_vrfb_dma vrfb_dma_tx;
        unsigned int smsshado_phy_addr[MAC_VRFB_CTXS];
-       unsigned int smsshado_virt_addr[MAC_VRFB_CTXS];
+       void *smsshado_virt_addr[MAC_VRFB_CTXS];
        struct vrfb vrfb_context[MAC_VRFB_CTXS];
        bool vrfb_static_allocation;
        unsigned int smsshado_size;
diff --git a/drivers/media/platform/omap/omap_voutlib.c 
b/drivers/media/platform/omap/omap_voutlib.c
index f8cf63a..afce476 100644
--- a/drivers/media/platform/omap/omap_voutlib.c
+++ b/drivers/media/platform/omap/omap_voutlib.c
@@ -298,15 +298,14 @@ EXPORT_SYMBOL_GPL(omap_vout_new_format);
 /*
  * Allocate buffers
  */
-unsigned long omap_vout_alloc_buffer(u32 buf_size, u32 *phys_addr)
+void *omap_vout_alloc_buffer(u32 buf_size, u32 *phys_addr)
 {
        u32 order, size;
-       unsigned long virt_addr, addr;
+       void *virt_addr, *addr;
 
        size = PAGE_ALIGN(buf_size);
        order = get_order(size);
-       virt_addr = __get_free_pages(GFP_KERNEL, order);
-       addr = virt_addr;
+       addr = virt_addr = get_free_pages(GFP_KERNEL, order);
 
        if (virt_addr) {
                while (size > 0) {
@@ -315,17 +314,17 @@ unsigned long omap_vout_alloc_buffer(u32 buf_size, u32 
*phys_addr)
                        size -= PAGE_SIZE;
                }
        }
-       *phys_addr = (u32) virt_to_phys((void *) virt_addr);
+       *phys_addr = (u32) virt_to_phys(virt_addr);
        return virt_addr;
 }
 
 /*
  * Free buffers
  */
-void omap_vout_free_buffer(unsigned long virtaddr, u32 buf_size)
+void omap_vout_free_buffer(void *virtaddr, u32 buf_size)
 {
        u32 order, size;
-       unsigned long addr = virtaddr;
+       void *addr = virtaddr;
 
        size = PAGE_ALIGN(buf_size);
        order = get_order(size);
@@ -335,7 +334,7 @@ void omap_vout_free_buffer(unsigned long virtaddr, u32 
buf_size)
                addr += PAGE_SIZE;
                size -= PAGE_SIZE;
        }
-       free_pages((void *)virtaddr, order);
+       free_pages(virtaddr, order);
 }
 
 bool omap_vout_dss_omap24xx(void)
diff --git a/drivers/media/platform/omap/omap_voutlib.h 
b/drivers/media/platform/omap/omap_voutlib.h
index f9d1c07..c62894e 100644
--- a/drivers/media/platform/omap/omap_voutlib.h
+++ b/drivers/media/platform/omap/omap_voutlib.h
@@ -30,8 +30,8 @@ int omap_vout_new_window(struct v4l2_rect *crop,
 void omap_vout_new_format(struct v4l2_pix_format *pix,
                struct v4l2_framebuffer *fbuf, struct v4l2_rect *crop,
                struct v4l2_window *win);
-unsigned long omap_vout_alloc_buffer(u32 buf_size, u32 *phys_addr);
-void omap_vout_free_buffer(unsigned long virtaddr, u32 buf_size);
+void *omap_vout_alloc_buffer(u32 buf_size, u32 *phys_addr);
+void omap_vout_free_buffer(void *virtaddr, u32 buf_size);
 
 bool omap_vout_dss_omap24xx(void);
 bool omap_vout_dss_omap34xx(void);
-- 
2.1.4

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

Reply via email to