On 02/16/2014 04:00 PM, Tomas Winkler wrote:
> Looks like phys_addr_t's are fully plumbed in the kernel.

This needs a better commit description.

Also you should include Colin and the rest of the Android kernel folks
(cc'ed in this mail) so they can review and hopefully provide acks.

thanks
-john

>
> Signed-off-by: Tomas Winkler <tomas.wink...@intel.com>
> ---
> V2: remove one more comment regarding ion_phys_addr_t
>
>  drivers/staging/android/ion/ion.c               |  2 +-
>  drivers/staging/android/ion/ion.h               | 12 +++---------
>  drivers/staging/android/ion/ion_carveout_heap.c | 14 +++++++-------
>  drivers/staging/android/ion/ion_chunk_heap.c    |  2 +-
>  drivers/staging/android/ion/ion_cma_heap.c      |  2 +-
>  drivers/staging/android/ion/ion_priv.h          | 10 +++++-----
>  drivers/staging/android/ion/ion_system_heap.c   |  2 +-
>  7 files changed, 19 insertions(+), 25 deletions(-)
>
> diff --git a/drivers/staging/android/ion/ion.c 
> b/drivers/staging/android/ion/ion.c
> index 14cb6c6..fb0d105 100644
> --- a/drivers/staging/android/ion/ion.c
> +++ b/drivers/staging/android/ion/ion.c
> @@ -547,7 +547,7 @@ void ion_free(struct ion_client *client, struct 
> ion_handle *handle)
>  EXPORT_SYMBOL(ion_free);
>  
>  int ion_phys(struct ion_client *client, struct ion_handle *handle,
> -          ion_phys_addr_t *addr, size_t *len)
> +          phys_addr_t *addr, size_t *len)
>  {
>       struct ion_buffer *buffer;
>       int ret;
> diff --git a/drivers/staging/android/ion/ion.h 
> b/drivers/staging/android/ion/ion.h
> index dcd2a0c..43b76f3 100644
> --- a/drivers/staging/android/ion/ion.h
> +++ b/drivers/staging/android/ion/ion.h
> @@ -28,12 +28,6 @@ struct ion_mapper;
>  struct ion_client;
>  struct ion_buffer;
>  
> -/* This should be removed some day when phys_addr_t's are fully
> -   plumbed in the kernel, and all instances of ion_phys_addr_t should
> -   be converted to phys_addr_t.  For the time being many kernel interfaces
> -   do not accept phys_addr_t's that would have to */
> -#define ion_phys_addr_t unsigned long
> -
>  /**
>   * struct ion_platform_heap - defines a heap in the given platform
>   * @type:    type of the heap from ion_heap_type enum
> @@ -52,9 +46,9 @@ struct ion_platform_heap {
>       enum ion_heap_type type;
>       unsigned int id;
>       const char *name;
> -     ion_phys_addr_t base;
> +     phys_addr_t base;
>       size_t size;
> -     ion_phys_addr_t align;
> +     phys_addr_t align;
>       void *priv;
>  };
>  
> @@ -145,7 +139,7 @@ void ion_free(struct ion_client *client, struct 
> ion_handle *handle);
>   * holding a reference.
>   */
>  int ion_phys(struct ion_client *client, struct ion_handle *handle,
> -          ion_phys_addr_t *addr, size_t *len);
> +          phys_addr_t *addr, size_t *len);
>  
>  /**
>   * ion_map_dma - return an sg_table describing a handle
> diff --git a/drivers/staging/android/ion/ion_carveout_heap.c 
> b/drivers/staging/android/ion/ion_carveout_heap.c
> index 3cb05b9..295340e 100644
> --- a/drivers/staging/android/ion/ion_carveout_heap.c
> +++ b/drivers/staging/android/ion/ion_carveout_heap.c
> @@ -28,10 +28,10 @@
>  struct ion_carveout_heap {
>       struct ion_heap heap;
>       struct gen_pool *pool;
> -     ion_phys_addr_t base;
> +     phys_addr_t base;
>  };
>  
> -ion_phys_addr_t ion_carveout_allocate(struct ion_heap *heap,
> +phys_addr_t ion_carveout_allocate(struct ion_heap *heap,
>                                     unsigned long size,
>                                     unsigned long align)
>  {
> @@ -45,7 +45,7 @@ ion_phys_addr_t ion_carveout_allocate(struct ion_heap *heap,
>       return offset;
>  }
>  
> -void ion_carveout_free(struct ion_heap *heap, ion_phys_addr_t addr,
> +void ion_carveout_free(struct ion_heap *heap, phys_addr_t addr,
>                      unsigned long size)
>  {
>       struct ion_carveout_heap *carveout_heap =
> @@ -58,11 +58,11 @@ void ion_carveout_free(struct ion_heap *heap, 
> ion_phys_addr_t addr,
>  
>  static int ion_carveout_heap_phys(struct ion_heap *heap,
>                                 struct ion_buffer *buffer,
> -                               ion_phys_addr_t *addr, size_t *len)
> +                               phys_addr_t *addr, size_t *len)
>  {
>       struct sg_table *table = buffer->priv_virt;
>       struct page *page = sg_page(table->sgl);
> -     ion_phys_addr_t paddr = PFN_PHYS(page_to_pfn(page));
> +     phys_addr_t paddr = PFN_PHYS(page_to_pfn(page));
>  
>       *addr = paddr;
>       *len = buffer->size;
> @@ -75,7 +75,7 @@ static int ion_carveout_heap_allocate(struct ion_heap *heap,
>                                     unsigned long flags)
>  {
>       struct sg_table *table;
> -     ion_phys_addr_t paddr;
> +     phys_addr_t paddr;
>       int ret;
>  
>       if (align > PAGE_SIZE)
> @@ -111,7 +111,7 @@ static void ion_carveout_heap_free(struct ion_buffer 
> *buffer)
>       struct ion_heap *heap = buffer->heap;
>       struct sg_table *table = buffer->priv_virt;
>       struct page *page = sg_page(table->sgl);
> -     ion_phys_addr_t paddr = PFN_PHYS(page_to_pfn(page));
> +     phys_addr_t paddr = PFN_PHYS(page_to_pfn(page));
>  
>       ion_heap_buffer_zero(buffer);
>  
> diff --git a/drivers/staging/android/ion/ion_chunk_heap.c 
> b/drivers/staging/android/ion/ion_chunk_heap.c
> index d40f5f8..86b467e 100644
> --- a/drivers/staging/android/ion/ion_chunk_heap.c
> +++ b/drivers/staging/android/ion/ion_chunk_heap.c
> @@ -27,7 +27,7 @@
>  struct ion_chunk_heap {
>       struct ion_heap heap;
>       struct gen_pool *pool;
> -     ion_phys_addr_t base;
> +     phys_addr_t base;
>       unsigned long chunk_size;
>       unsigned long size;
>       unsigned long allocated;
> diff --git a/drivers/staging/android/ion/ion_cma_heap.c 
> b/drivers/staging/android/ion/ion_cma_heap.c
> index f0f9889..f1e9211 100644
> --- a/drivers/staging/android/ion/ion_cma_heap.c
> +++ b/drivers/staging/android/ion/ion_cma_heap.c
> @@ -129,7 +129,7 @@ static void ion_cma_free(struct ion_buffer *buffer)
>  
>  /* return physical address in addr */
>  static int ion_cma_phys(struct ion_heap *heap, struct ion_buffer *buffer,
> -                     ion_phys_addr_t *addr, size_t *len)
> +                     phys_addr_t *addr, size_t *len)
>  {
>       struct ion_cma_heap *cma_heap = to_cma_heap(buffer->heap);
>       struct device *dev = cma_heap->dev;
> diff --git a/drivers/staging/android/ion/ion_priv.h 
> b/drivers/staging/android/ion/ion_priv.h
> index 0942a7f..f16e70f 100644
> --- a/drivers/staging/android/ion/ion_priv.h
> +++ b/drivers/staging/android/ion/ion_priv.h
> @@ -42,7 +42,7 @@ struct ion_buffer *ion_handle_buffer(struct ion_handle 
> *handle);
>   * @priv_virt:               private data to the buffer representable as
>   *                   a void *
>   * @priv_phys:               private data to the buffer representable as
> - *                   an ion_phys_addr_t (and someday a phys_addr_t)
> + *                   an phys_addr_t
>   * @lock:            protects the buffers cnt fields
>   * @kmap_cnt:                number of times the buffer is mapped to the 
> kernel
>   * @vaddr:           the kenrel mapping if kmap_cnt is not zero
> @@ -69,7 +69,7 @@ struct ion_buffer {
>       size_t size;
>       union {
>               void *priv_virt;
> -             ion_phys_addr_t priv_phys;
> +             phys_addr_t priv_phys;
>       };
>       struct mutex lock;
>       int kmap_cnt;
> @@ -106,7 +106,7 @@ struct ion_heap_ops {
>                       unsigned long align, unsigned long flags);
>       void (*free)(struct ion_buffer *buffer);
>       int (*phys)(struct ion_heap *heap, struct ion_buffer *buffer,
> -                 ion_phys_addr_t *addr, size_t *len);
> +                 phys_addr_t *addr, size_t *len);
>       struct sg_table * (*map_dma)(struct ion_heap *heap,
>                                    struct ion_buffer *buffer);
>       void (*unmap_dma)(struct ion_heap *heap, struct ion_buffer *buffer);
> @@ -282,9 +282,9 @@ void ion_cma_heap_destroy(struct ion_heap *);
>   * kernel api to allocate/free from carveout -- used when carveout is
>   * used to back an architecture specific custom heap
>   */
> -ion_phys_addr_t ion_carveout_allocate(struct ion_heap *heap, unsigned long 
> size,
> +phys_addr_t ion_carveout_allocate(struct ion_heap *heap, unsigned long size,
>                                     unsigned long align);
> -void ion_carveout_free(struct ion_heap *heap, ion_phys_addr_t addr,
> +void ion_carveout_free(struct ion_heap *heap, phys_addr_t addr,
>                      unsigned long size);
>  /**
>   * The carveout heap returns physical addresses, since 0 may be a valid
> diff --git a/drivers/staging/android/ion/ion_system_heap.c 
> b/drivers/staging/android/ion/ion_system_heap.c
> index 9849f39..79422c3 100644
> --- a/drivers/staging/android/ion/ion_system_heap.c
> +++ b/drivers/staging/android/ion/ion_system_heap.c
> @@ -442,7 +442,7 @@ static void ion_system_contig_heap_free(struct ion_buffer 
> *buffer)
>  
>  static int ion_system_contig_heap_phys(struct ion_heap *heap,
>                                      struct ion_buffer *buffer,
> -                                    ion_phys_addr_t *addr, size_t *len)
> +                                    phys_addr_t *addr, size_t *len)
>  {
>       struct sg_table *table = buffer->priv_virt;
>       struct page *page = sg_page(table->sgl);

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to