linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro
@ 2017-04-19  0:17 Logan Gunthorpe
  2017-04-19  3:08 ` [Intel-gfx] " kbuild test robot
  2017-04-19 16:53 ` Sinclair Yeh
  0 siblings, 2 replies; 3+ messages in thread
From: Logan Gunthorpe @ 2017-04-19  0:17 UTC (permalink / raw)
  To: linux-kernel, intel-gfx, linux-media, dri-devel, linux-tegra, devel
  Cc: Christoph Hellwig, Sumit Semwal, Russell King, David Airlie,
	Daniel Vetter, Jani Nikula, Sean Paul, Tomi Valkeinen,
	Thierry Reding, Stephen Warren, Alexandre Courbot,
	VMware Graphics, Sinclair Yeh, Thomas Hellstrom, Pawel Osciak,
	Marek Szyprowski, Kyungmin Park, Mauro Carvalho Chehab,
	Laura Abbott, Greg Kroah-Hartman, Arve Hjønnevåg,
	Riley Andrews, Logan Gunthorpe

Seeing the kunmap_atomic dma_buf_op shares the same name with a macro
in higmem.h, the former can be aliased if any dma-buf user includes
that header.

I'm personally trying to include highmem.h inside scatterlist.h and this
breaks the dma-buf code proper.

Christoph Hellwig suggested [1] renaming it and pushing this patch ASAP.

To maintain consistency I've renamed all four of kmap* and kunmap* to be
map* and unmap*. (Even though only kmap_atomic presently conflicts.)

[1] https://www.spinics.net/lists/target-devel/msg15070.html

Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
---
 drivers/dma-buf/dma-buf.c                      | 16 ++++++++--------
 drivers/gpu/drm/armada/armada_gem.c            |  8 ++++----
 drivers/gpu/drm/drm_prime.c                    |  8 ++++----
 drivers/gpu/drm/i915/i915_gem_dmabuf.c         |  8 ++++----
 drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c      |  8 ++++----
 drivers/gpu/drm/tegra/gem.c                    |  4 ++--
 drivers/gpu/drm/udl/udl_dmabuf.c               |  8 ++++----
 drivers/gpu/drm/vmwgfx/vmwgfx_prime.c          |  8 ++++----
 drivers/media/v4l2-core/videobuf2-dma-contig.c |  4 ++--
 drivers/media/v4l2-core/videobuf2-dma-sg.c     |  4 ++--
 drivers/media/v4l2-core/videobuf2-vmalloc.c    |  4 ++--
 drivers/staging/android/ion/ion.c              |  8 ++++----
 include/linux/dma-buf.h                        | 22 +++++++++++-----------
 13 files changed, 55 insertions(+), 55 deletions(-)

diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
index 0007b79..7cc2bfe 100644
--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
@@ -405,8 +405,8 @@ struct dma_buf *dma_buf_export(const struct dma_buf_export_info *exp_info)
 			  || !exp_info->ops->map_dma_buf
 			  || !exp_info->ops->unmap_dma_buf
 			  || !exp_info->ops->release
-			  || !exp_info->ops->kmap_atomic
-			  || !exp_info->ops->kmap
+			  || !exp_info->ops->map_atomic
+			  || !exp_info->ops->map
 			  || !exp_info->ops->mmap)) {
 		return ERR_PTR(-EINVAL);
 	}
@@ -872,7 +872,7 @@ void *dma_buf_kmap_atomic(struct dma_buf *dmabuf, unsigned long page_num)
 {
 	WARN_ON(!dmabuf);
 
-	return dmabuf->ops->kmap_atomic(dmabuf, page_num);
+	return dmabuf->ops->map_atomic(dmabuf, page_num);
 }
 EXPORT_SYMBOL_GPL(dma_buf_kmap_atomic);
 
@@ -889,8 +889,8 @@ void dma_buf_kunmap_atomic(struct dma_buf *dmabuf, unsigned long page_num,
 {
 	WARN_ON(!dmabuf);
 
-	if (dmabuf->ops->kunmap_atomic)
-		dmabuf->ops->kunmap_atomic(dmabuf, page_num, vaddr);
+	if (dmabuf->ops->unmap_atomic)
+		dmabuf->ops->unmap_atomic(dmabuf, page_num, vaddr);
 }
 EXPORT_SYMBOL_GPL(dma_buf_kunmap_atomic);
 
@@ -907,7 +907,7 @@ void *dma_buf_kmap(struct dma_buf *dmabuf, unsigned long page_num)
 {
 	WARN_ON(!dmabuf);
 
-	return dmabuf->ops->kmap(dmabuf, page_num);
+	return dmabuf->ops->map(dmabuf, page_num);
 }
 EXPORT_SYMBOL_GPL(dma_buf_kmap);
 
@@ -924,8 +924,8 @@ void dma_buf_kunmap(struct dma_buf *dmabuf, unsigned long page_num,
 {
 	WARN_ON(!dmabuf);
 
-	if (dmabuf->ops->kunmap)
-		dmabuf->ops->kunmap(dmabuf, page_num, vaddr);
+	if (dmabuf->ops->unmap)
+		dmabuf->ops->unmap(dmabuf, page_num, vaddr);
 }
 EXPORT_SYMBOL_GPL(dma_buf_kunmap);
 
diff --git a/drivers/gpu/drm/armada/armada_gem.c b/drivers/gpu/drm/armada/armada_gem.c
index 1597458..d6c2a5d 100644
--- a/drivers/gpu/drm/armada/armada_gem.c
+++ b/drivers/gpu/drm/armada/armada_gem.c
@@ -529,10 +529,10 @@ static const struct dma_buf_ops armada_gem_prime_dmabuf_ops = {
 	.map_dma_buf	= armada_gem_prime_map_dma_buf,
 	.unmap_dma_buf	= armada_gem_prime_unmap_dma_buf,
 	.release	= drm_gem_dmabuf_release,
-	.kmap_atomic	= armada_gem_dmabuf_no_kmap,
-	.kunmap_atomic	= armada_gem_dmabuf_no_kunmap,
-	.kmap		= armada_gem_dmabuf_no_kmap,
-	.kunmap		= armada_gem_dmabuf_no_kunmap,
+	.map_atomic	= armada_gem_dmabuf_no_kmap,
+	.unmap_atomic	= armada_gem_dmabuf_no_kunmap,
+	.map		= armada_gem_dmabuf_no_kmap,
+	.unmap		= armada_gem_dmabuf_no_kunmap,
 	.mmap		= armada_gem_dmabuf_mmap,
 };
 
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index 25aa455..48ffd25 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -402,10 +402,10 @@ static const struct dma_buf_ops drm_gem_prime_dmabuf_ops =  {
 	.map_dma_buf = drm_gem_map_dma_buf,
 	.unmap_dma_buf = drm_gem_unmap_dma_buf,
 	.release = drm_gem_dmabuf_release,
-	.kmap = drm_gem_dmabuf_kmap,
-	.kmap_atomic = drm_gem_dmabuf_kmap_atomic,
-	.kunmap = drm_gem_dmabuf_kunmap,
-	.kunmap_atomic = drm_gem_dmabuf_kunmap_atomic,
+	.map = drm_gem_dmabuf_kmap,
+	.map_atomic = drm_gem_dmabuf_kmap_atomic,
+	.unmap = drm_gem_dmabuf_kunmap,
+	.unmap_atomic = drm_gem_dmabuf_kunmap_atomic,
 	.mmap = drm_gem_dmabuf_mmap,
 	.vmap = drm_gem_dmabuf_vmap,
 	.vunmap = drm_gem_dmabuf_vunmap,
diff --git a/drivers/gpu/drm/i915/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
index 29bb801..6f3d674 100644
--- a/drivers/gpu/drm/i915/i915_gem_dmabuf.c
+++ b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
@@ -200,10 +200,10 @@ static const struct dma_buf_ops i915_dmabuf_ops =  {
 	.map_dma_buf = i915_gem_map_dma_buf,
 	.unmap_dma_buf = i915_gem_unmap_dma_buf,
 	.release = drm_gem_dmabuf_release,
-	.kmap = i915_gem_dmabuf_kmap,
-	.kmap_atomic = i915_gem_dmabuf_kmap_atomic,
-	.kunmap = i915_gem_dmabuf_kunmap,
-	.kunmap_atomic = i915_gem_dmabuf_kunmap_atomic,
+	.map = i915_gem_dmabuf_kmap,
+	.map_atomic = i915_gem_dmabuf_kmap_atomic,
+	.unmap = i915_gem_dmabuf_kunmap,
+	.unmap_atomic = i915_gem_dmabuf_kunmap_atomic,
 	.mmap = i915_gem_dmabuf_mmap,
 	.vmap = i915_gem_dmabuf_vmap,
 	.vunmap = i915_gem_dmabuf_vunmap,
diff --git a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
index ee5883f..0dbe030 100644
--- a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
+++ b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
@@ -160,10 +160,10 @@ static struct dma_buf_ops omap_dmabuf_ops = {
 	.release = omap_gem_dmabuf_release,
 	.begin_cpu_access = omap_gem_dmabuf_begin_cpu_access,
 	.end_cpu_access = omap_gem_dmabuf_end_cpu_access,
-	.kmap_atomic = omap_gem_dmabuf_kmap_atomic,
-	.kunmap_atomic = omap_gem_dmabuf_kunmap_atomic,
-	.kmap = omap_gem_dmabuf_kmap,
-	.kunmap = omap_gem_dmabuf_kunmap,
+	.map_atomic = omap_gem_dmabuf_kmap_atomic,
+	.unmap_atomic = omap_gem_dmabuf_kunmap_atomic,
+	.map = omap_gem_dmabuf_kmap,
+	.unmap = omap_gem_dmabuf_kunmap,
 	.mmap = omap_gem_dmabuf_mmap,
 };
 
diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c
index 17e62ec..1788b14 100644
--- a/drivers/gpu/drm/tegra/gem.c
+++ b/drivers/gpu/drm/tegra/gem.c
@@ -112,8 +112,8 @@ static const struct host1x_bo_ops tegra_bo_ops = {
 	.unpin = tegra_bo_unpin,
 	.mmap = tegra_bo_mmap,
 	.munmap = tegra_bo_munmap,
-	.kmap = tegra_bo_kmap,
-	.kunmap = tegra_bo_kunmap,
+	.map = tegra_bo_kmap,
+	.unmap = tegra_bo_kunmap,
 };
 
 static int tegra_bo_iommu_map(struct tegra_drm *tegra, struct tegra_bo *bo)
diff --git a/drivers/gpu/drm/udl/udl_dmabuf.c b/drivers/gpu/drm/udl/udl_dmabuf.c
index ac90ffd..ed0e636 100644
--- a/drivers/gpu/drm/udl/udl_dmabuf.c
+++ b/drivers/gpu/drm/udl/udl_dmabuf.c
@@ -191,10 +191,10 @@ static struct dma_buf_ops udl_dmabuf_ops = {
 	.detach			= udl_detach_dma_buf,
 	.map_dma_buf		= udl_map_dma_buf,
 	.unmap_dma_buf		= udl_unmap_dma_buf,
-	.kmap			= udl_dmabuf_kmap,
-	.kmap_atomic		= udl_dmabuf_kmap_atomic,
-	.kunmap			= udl_dmabuf_kunmap,
-	.kunmap_atomic		= udl_dmabuf_kunmap_atomic,
+	.map			= udl_dmabuf_kmap,
+	.map_atomic		= udl_dmabuf_kmap_atomic,
+	.unmap			= udl_dmabuf_kunmap,
+	.unmap_atomic		= udl_dmabuf_kunmap_atomic,
 	.mmap			= udl_dmabuf_mmap,
 	.release		= drm_gem_dmabuf_release,
 };
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c b/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
index 31fe32d..0d42a46 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
@@ -108,10 +108,10 @@ const struct dma_buf_ops vmw_prime_dmabuf_ops =  {
 	.map_dma_buf = vmw_prime_map_dma_buf,
 	.unmap_dma_buf = vmw_prime_unmap_dma_buf,
 	.release = NULL,
-	.kmap = vmw_prime_dmabuf_kmap,
-	.kmap_atomic = vmw_prime_dmabuf_kmap_atomic,
-	.kunmap = vmw_prime_dmabuf_kunmap,
-	.kunmap_atomic = vmw_prime_dmabuf_kunmap_atomic,
+	.map = vmw_prime_dmabuf_kmap,
+	.map_atomic = vmw_prime_dmabuf_kmap_atomic,
+	.unmap = vmw_prime_dmabuf_kunmap,
+	.unmap_atomic = vmw_prime_dmabuf_kunmap_atomic,
 	.mmap = vmw_prime_dmabuf_mmap,
 	.vmap = vmw_prime_dmabuf_vmap,
 	.vunmap = vmw_prime_dmabuf_vunmap,
diff --git a/drivers/media/v4l2-core/videobuf2-dma-contig.c b/drivers/media/v4l2-core/videobuf2-dma-contig.c
index fb6a177..2db0413 100644
--- a/drivers/media/v4l2-core/videobuf2-dma-contig.c
+++ b/drivers/media/v4l2-core/videobuf2-dma-contig.c
@@ -356,8 +356,8 @@ static struct dma_buf_ops vb2_dc_dmabuf_ops = {
 	.detach = vb2_dc_dmabuf_ops_detach,
 	.map_dma_buf = vb2_dc_dmabuf_ops_map,
 	.unmap_dma_buf = vb2_dc_dmabuf_ops_unmap,
-	.kmap = vb2_dc_dmabuf_ops_kmap,
-	.kmap_atomic = vb2_dc_dmabuf_ops_kmap,
+	.map = vb2_dc_dmabuf_ops_kmap,
+	.map_atomic = vb2_dc_dmabuf_ops_kmap,
 	.vmap = vb2_dc_dmabuf_ops_vmap,
 	.mmap = vb2_dc_dmabuf_ops_mmap,
 	.release = vb2_dc_dmabuf_ops_release,
diff --git a/drivers/media/v4l2-core/videobuf2-dma-sg.c b/drivers/media/v4l2-core/videobuf2-dma-sg.c
index ecff8f4..6fd1343 100644
--- a/drivers/media/v4l2-core/videobuf2-dma-sg.c
+++ b/drivers/media/v4l2-core/videobuf2-dma-sg.c
@@ -504,8 +504,8 @@ static struct dma_buf_ops vb2_dma_sg_dmabuf_ops = {
 	.detach = vb2_dma_sg_dmabuf_ops_detach,
 	.map_dma_buf = vb2_dma_sg_dmabuf_ops_map,
 	.unmap_dma_buf = vb2_dma_sg_dmabuf_ops_unmap,
-	.kmap = vb2_dma_sg_dmabuf_ops_kmap,
-	.kmap_atomic = vb2_dma_sg_dmabuf_ops_kmap,
+	.map = vb2_dma_sg_dmabuf_ops_kmap,
+	.map_atomic = vb2_dma_sg_dmabuf_ops_kmap,
 	.vmap = vb2_dma_sg_dmabuf_ops_vmap,
 	.mmap = vb2_dma_sg_dmabuf_ops_mmap,
 	.release = vb2_dma_sg_dmabuf_ops_release,
diff --git a/drivers/media/v4l2-core/videobuf2-vmalloc.c b/drivers/media/v4l2-core/videobuf2-vmalloc.c
index 3f77814..27d1db3 100644
--- a/drivers/media/v4l2-core/videobuf2-vmalloc.c
+++ b/drivers/media/v4l2-core/videobuf2-vmalloc.c
@@ -342,8 +342,8 @@ static struct dma_buf_ops vb2_vmalloc_dmabuf_ops = {
 	.detach = vb2_vmalloc_dmabuf_ops_detach,
 	.map_dma_buf = vb2_vmalloc_dmabuf_ops_map,
 	.unmap_dma_buf = vb2_vmalloc_dmabuf_ops_unmap,
-	.kmap = vb2_vmalloc_dmabuf_ops_kmap,
-	.kmap_atomic = vb2_vmalloc_dmabuf_ops_kmap,
+	.map = vb2_vmalloc_dmabuf_ops_kmap,
+	.map_atomic = vb2_vmalloc_dmabuf_ops_kmap,
 	.vmap = vb2_vmalloc_dmabuf_ops_vmap,
 	.mmap = vb2_vmalloc_dmabuf_ops_mmap,
 	.release = vb2_vmalloc_dmabuf_ops_release,
diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c
index f45115f..95a7f16 100644
--- a/drivers/staging/android/ion/ion.c
+++ b/drivers/staging/android/ion/ion.c
@@ -1020,10 +1020,10 @@ static const struct dma_buf_ops dma_buf_ops = {
 	.release = ion_dma_buf_release,
 	.begin_cpu_access = ion_dma_buf_begin_cpu_access,
 	.end_cpu_access = ion_dma_buf_end_cpu_access,
-	.kmap_atomic = ion_dma_buf_kmap,
-	.kunmap_atomic = ion_dma_buf_kunmap,
-	.kmap = ion_dma_buf_kmap,
-	.kunmap = ion_dma_buf_kunmap,
+	.map_atomic = ion_dma_buf_kmap,
+	.unmap_atomic = ion_dma_buf_kunmap,
+	.map = ion_dma_buf_kmap,
+	.unmap = ion_dma_buf_kunmap,
 };
 
 struct dma_buf *ion_share_dma_buf(struct ion_client *client,
diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h
index bfb3704..79f27d6 100644
--- a/include/linux/dma-buf.h
+++ b/include/linux/dma-buf.h
@@ -39,13 +39,13 @@ struct dma_buf_attachment;
 
 /**
  * struct dma_buf_ops - operations possible on struct dma_buf
- * @kmap_atomic: maps a page from the buffer into kernel address
- * 		 space, users may not block until the subsequent unmap call.
- * 		 This callback must not sleep.
- * @kunmap_atomic: [optional] unmaps a atomically mapped page from the buffer.
- * 		   This Callback must not sleep.
- * @kmap: maps a page from the buffer into kernel address space.
- * @kunmap: [optional] unmaps a page from the buffer.
+ * @map_atomic: maps a page from the buffer into kernel address
+ *		space, users may not block until the subsequent unmap call.
+ *		This callback must not sleep.
+ * @unmap_atomic: [optional] unmaps a atomically mapped page from the buffer.
+ *		  This Callback must not sleep.
+ * @map: maps a page from the buffer into kernel address space.
+ * @unmap: [optional] unmaps a page from the buffer.
  * @vmap: [optional] creates a virtual mapping for the buffer into kernel
  *	  address space. Same restrictions as for vmap and friends apply.
  * @vunmap: [optional] unmaps a vmap from the buffer
@@ -206,10 +206,10 @@ struct dma_buf_ops {
 	 * to be restarted.
 	 */
 	int (*end_cpu_access)(struct dma_buf *, enum dma_data_direction);
-	void *(*kmap_atomic)(struct dma_buf *, unsigned long);
-	void (*kunmap_atomic)(struct dma_buf *, unsigned long, void *);
-	void *(*kmap)(struct dma_buf *, unsigned long);
-	void (*kunmap)(struct dma_buf *, unsigned long, void *);
+	void *(*map_atomic)(struct dma_buf *, unsigned long);
+	void (*unmap_atomic)(struct dma_buf *, unsigned long, void *);
+	void *(*map)(struct dma_buf *, unsigned long);
+	void (*unmap)(struct dma_buf *, unsigned long, void *);
 
 	/**
 	 * @mmap:
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Intel-gfx] [PATCH] dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro
  2017-04-19  0:17 [PATCH] dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro Logan Gunthorpe
@ 2017-04-19  3:08 ` kbuild test robot
  2017-04-19 16:53 ` Sinclair Yeh
  1 sibling, 0 replies; 3+ messages in thread
From: kbuild test robot @ 2017-04-19  3:08 UTC (permalink / raw)
  To: Logan Gunthorpe
  Cc: kbuild-all, linux-kernel, intel-gfx, linux-media, dri-devel,
	linux-tegra, devel, David Airlie, Thierry Reding,
	Arve Hjønnevåg, Daniel Vetter, Sumit Semwal,
	Marek Szyprowski, Alexandre Courbot, Thomas Hellstrom,
	Sinclair Yeh, Russell King, Christoph Hellwig, Tomi Valkeinen,
	VMware Graphics, Laura Abbott, Pawel Osciak, Stephen Warren,
	Riley Andrews, Mauro Carvalho Chehab, Greg Kroah-Hartman,
	Kyungmin Park, Logan Gunthorpe

[-- Attachment #1: Type: text/plain, Size: 2874 bytes --]

Hi Logan,

[auto build test ERROR on linus/master]
[also build test ERROR on v4.11-rc7 next-20170418]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Logan-Gunthorpe/dma-buf-Rename-dma-ops-to-prevent-conflict-with-kunmap_atomic-macro/20170419-082521
config: arm64-defconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm64 

All errors (new ones prefixed by >>):

>> drivers/gpu/drm/tegra/gem.c:115:2: error: unknown field 'map' specified in initializer
     .map = tegra_bo_kmap,
     ^
>> drivers/gpu/drm/tegra/gem.c:116:2: error: unknown field 'unmap' specified in initializer
     .unmap = tegra_bo_kunmap,
     ^
>> drivers/gpu/drm/tegra/gem.c:622:2: error: unknown field 'kmap_atomic' specified in initializer
     .kmap_atomic = tegra_gem_prime_kmap_atomic,
     ^
>> drivers/gpu/drm/tegra/gem.c:622:17: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
     .kmap_atomic = tegra_gem_prime_kmap_atomic,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/tegra/gem.c:622:17: note: (near initialization for 'tegra_gem_prime_dmabuf_ops.begin_cpu_access')
>> drivers/gpu/drm/tegra/gem.c:623:2: error: unknown field 'kunmap_atomic' specified in initializer
     .kunmap_atomic = tegra_gem_prime_kunmap_atomic,
     ^
   drivers/gpu/drm/tegra/gem.c:623:19: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
     .kunmap_atomic = tegra_gem_prime_kunmap_atomic,
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/tegra/gem.c:623:19: note: (near initialization for 'tegra_gem_prime_dmabuf_ops.end_cpu_access')
>> drivers/gpu/drm/tegra/gem.c:624:2: error: unknown field 'kmap' specified in initializer
     .kmap = tegra_gem_prime_kmap,
     ^
>> drivers/gpu/drm/tegra/gem.c:625:2: error: unknown field 'kunmap' specified in initializer
     .kunmap = tegra_gem_prime_kunmap,
     ^
   cc1: some warnings being treated as errors

vim +/map +115 drivers/gpu/drm/tegra/gem.c

   109		.get = tegra_bo_get,
   110		.put = tegra_bo_put,
   111		.pin = tegra_bo_pin,
   112		.unpin = tegra_bo_unpin,
   113		.mmap = tegra_bo_mmap,
   114		.munmap = tegra_bo_munmap,
 > 115		.map = tegra_bo_kmap,
 > 116		.unmap = tegra_bo_kunmap,
   117	};
   118	
   119	static int tegra_bo_iommu_map(struct tegra_drm *tegra, struct tegra_bo *bo)

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 34503 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro
  2017-04-19  0:17 [PATCH] dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro Logan Gunthorpe
  2017-04-19  3:08 ` [Intel-gfx] " kbuild test robot
@ 2017-04-19 16:53 ` Sinclair Yeh
  1 sibling, 0 replies; 3+ messages in thread
From: Sinclair Yeh @ 2017-04-19 16:53 UTC (permalink / raw)
  To: Logan Gunthorpe
  Cc: linux-kernel, intel-gfx, linux-media, dri-devel, linux-tegra,
	devel, Christoph Hellwig, Sumit Semwal, Russell King,
	David Airlie, Daniel Vetter, Jani Nikula, Sean Paul,
	Tomi Valkeinen, Thierry Reding, Stephen Warren,
	Alexandre Courbot, VMware Graphics, Thomas Hellstrom,
	Pawel Osciak, Marek Szyprowski, Kyungmin Park,
	Mauro Carvalho Chehab, Laura Abbott, Greg Kroah-Hartman,
	Arve Hjønnevåg, Riley Andrews

Minor nits, otherwise the vmwgfx part,
  Reviewed-by: Sinclair Yeh <syeh@vmware.com>

On Tue, Apr 18, 2017 at 06:17:00PM -0600, Logan Gunthorpe wrote:
> Seeing the kunmap_atomic dma_buf_op shares the same name with a macro
                                    s^

> in higmem.h, the former can be aliased if any dma-buf user includes
       h^
> that header.
> 
> I'm personally trying to include highmem.h inside scatterlist.h and this
> breaks the dma-buf code proper.
> 
> Christoph Hellwig suggested [1] renaming it and pushing this patch ASAP.
> 
> To maintain consistency I've renamed all four of kmap* and kunmap* to be
> map* and unmap*. (Even though only kmap_atomic presently conflicts.)
> 
> [1] https://urldefense.proofpoint.com/v2/url?u=https-3A__www.spinics.net_lists_target-2Ddevel_msg15070.html&d=DwIBAg&c=uilaK90D4TOVoH58JNXRgQ&r=HaJ2a6NYExoV0cntAYcoqA&m=QP_jolGTC4ofBnHRnAs0tFIXHnVWaTT0AdMyCL9SM64&s=un2hxBL1283iOTtJeJnvyyvtAu1d5Imyh5Q7AzljrfQ&e= 
> 
> Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
> ---
>  drivers/dma-buf/dma-buf.c                      | 16 ++++++++--------
>  drivers/gpu/drm/armada/armada_gem.c            |  8 ++++----
>  drivers/gpu/drm/drm_prime.c                    |  8 ++++----
>  drivers/gpu/drm/i915/i915_gem_dmabuf.c         |  8 ++++----
>  drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c      |  8 ++++----
>  drivers/gpu/drm/tegra/gem.c                    |  4 ++--
>  drivers/gpu/drm/udl/udl_dmabuf.c               |  8 ++++----
>  drivers/gpu/drm/vmwgfx/vmwgfx_prime.c          |  8 ++++----
>  drivers/media/v4l2-core/videobuf2-dma-contig.c |  4 ++--
>  drivers/media/v4l2-core/videobuf2-dma-sg.c     |  4 ++--
>  drivers/media/v4l2-core/videobuf2-vmalloc.c    |  4 ++--
>  drivers/staging/android/ion/ion.c              |  8 ++++----
>  include/linux/dma-buf.h                        | 22 +++++++++++-----------
>  13 files changed, 55 insertions(+), 55 deletions(-)
> 
> diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
> index 0007b79..7cc2bfe 100644
> --- a/drivers/dma-buf/dma-buf.c
> +++ b/drivers/dma-buf/dma-buf.c
> @@ -405,8 +405,8 @@ struct dma_buf *dma_buf_export(const struct dma_buf_export_info *exp_info)
>  			  || !exp_info->ops->map_dma_buf
>  			  || !exp_info->ops->unmap_dma_buf
>  			  || !exp_info->ops->release
> -			  || !exp_info->ops->kmap_atomic
> -			  || !exp_info->ops->kmap
> +			  || !exp_info->ops->map_atomic
> +			  || !exp_info->ops->map
>  			  || !exp_info->ops->mmap)) {
>  		return ERR_PTR(-EINVAL);
>  	}
> @@ -872,7 +872,7 @@ void *dma_buf_kmap_atomic(struct dma_buf *dmabuf, unsigned long page_num)
>  {
>  	WARN_ON(!dmabuf);
>  
> -	return dmabuf->ops->kmap_atomic(dmabuf, page_num);
> +	return dmabuf->ops->map_atomic(dmabuf, page_num);
>  }
>  EXPORT_SYMBOL_GPL(dma_buf_kmap_atomic);
>  
> @@ -889,8 +889,8 @@ void dma_buf_kunmap_atomic(struct dma_buf *dmabuf, unsigned long page_num,
>  {
>  	WARN_ON(!dmabuf);
>  
> -	if (dmabuf->ops->kunmap_atomic)
> -		dmabuf->ops->kunmap_atomic(dmabuf, page_num, vaddr);
> +	if (dmabuf->ops->unmap_atomic)
> +		dmabuf->ops->unmap_atomic(dmabuf, page_num, vaddr);
>  }
>  EXPORT_SYMBOL_GPL(dma_buf_kunmap_atomic);
>  
> @@ -907,7 +907,7 @@ void *dma_buf_kmap(struct dma_buf *dmabuf, unsigned long page_num)
>  {
>  	WARN_ON(!dmabuf);
>  
> -	return dmabuf->ops->kmap(dmabuf, page_num);
> +	return dmabuf->ops->map(dmabuf, page_num);
>  }
>  EXPORT_SYMBOL_GPL(dma_buf_kmap);
>  
> @@ -924,8 +924,8 @@ void dma_buf_kunmap(struct dma_buf *dmabuf, unsigned long page_num,
>  {
>  	WARN_ON(!dmabuf);
>  
> -	if (dmabuf->ops->kunmap)
> -		dmabuf->ops->kunmap(dmabuf, page_num, vaddr);
> +	if (dmabuf->ops->unmap)
> +		dmabuf->ops->unmap(dmabuf, page_num, vaddr);
>  }
>  EXPORT_SYMBOL_GPL(dma_buf_kunmap);
>  
> diff --git a/drivers/gpu/drm/armada/armada_gem.c b/drivers/gpu/drm/armada/armada_gem.c
> index 1597458..d6c2a5d 100644
> --- a/drivers/gpu/drm/armada/armada_gem.c
> +++ b/drivers/gpu/drm/armada/armada_gem.c
> @@ -529,10 +529,10 @@ static const struct dma_buf_ops armada_gem_prime_dmabuf_ops = {
>  	.map_dma_buf	= armada_gem_prime_map_dma_buf,
>  	.unmap_dma_buf	= armada_gem_prime_unmap_dma_buf,
>  	.release	= drm_gem_dmabuf_release,
> -	.kmap_atomic	= armada_gem_dmabuf_no_kmap,
> -	.kunmap_atomic	= armada_gem_dmabuf_no_kunmap,
> -	.kmap		= armada_gem_dmabuf_no_kmap,
> -	.kunmap		= armada_gem_dmabuf_no_kunmap,
> +	.map_atomic	= armada_gem_dmabuf_no_kmap,
> +	.unmap_atomic	= armada_gem_dmabuf_no_kunmap,
> +	.map		= armada_gem_dmabuf_no_kmap,
> +	.unmap		= armada_gem_dmabuf_no_kunmap,
>  	.mmap		= armada_gem_dmabuf_mmap,
>  };
>  
> diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
> index 25aa455..48ffd25 100644
> --- a/drivers/gpu/drm/drm_prime.c
> +++ b/drivers/gpu/drm/drm_prime.c
> @@ -402,10 +402,10 @@ static const struct dma_buf_ops drm_gem_prime_dmabuf_ops =  {
>  	.map_dma_buf = drm_gem_map_dma_buf,
>  	.unmap_dma_buf = drm_gem_unmap_dma_buf,
>  	.release = drm_gem_dmabuf_release,
> -	.kmap = drm_gem_dmabuf_kmap,
> -	.kmap_atomic = drm_gem_dmabuf_kmap_atomic,
> -	.kunmap = drm_gem_dmabuf_kunmap,
> -	.kunmap_atomic = drm_gem_dmabuf_kunmap_atomic,
> +	.map = drm_gem_dmabuf_kmap,
> +	.map_atomic = drm_gem_dmabuf_kmap_atomic,
> +	.unmap = drm_gem_dmabuf_kunmap,
> +	.unmap_atomic = drm_gem_dmabuf_kunmap_atomic,
>  	.mmap = drm_gem_dmabuf_mmap,
>  	.vmap = drm_gem_dmabuf_vmap,
>  	.vunmap = drm_gem_dmabuf_vunmap,
> diff --git a/drivers/gpu/drm/i915/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
> index 29bb801..6f3d674 100644
> --- a/drivers/gpu/drm/i915/i915_gem_dmabuf.c
> +++ b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
> @@ -200,10 +200,10 @@ static const struct dma_buf_ops i915_dmabuf_ops =  {
>  	.map_dma_buf = i915_gem_map_dma_buf,
>  	.unmap_dma_buf = i915_gem_unmap_dma_buf,
>  	.release = drm_gem_dmabuf_release,
> -	.kmap = i915_gem_dmabuf_kmap,
> -	.kmap_atomic = i915_gem_dmabuf_kmap_atomic,
> -	.kunmap = i915_gem_dmabuf_kunmap,
> -	.kunmap_atomic = i915_gem_dmabuf_kunmap_atomic,
> +	.map = i915_gem_dmabuf_kmap,
> +	.map_atomic = i915_gem_dmabuf_kmap_atomic,
> +	.unmap = i915_gem_dmabuf_kunmap,
> +	.unmap_atomic = i915_gem_dmabuf_kunmap_atomic,
>  	.mmap = i915_gem_dmabuf_mmap,
>  	.vmap = i915_gem_dmabuf_vmap,
>  	.vunmap = i915_gem_dmabuf_vunmap,
> diff --git a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
> index ee5883f..0dbe030 100644
> --- a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
> +++ b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
> @@ -160,10 +160,10 @@ static struct dma_buf_ops omap_dmabuf_ops = {
>  	.release = omap_gem_dmabuf_release,
>  	.begin_cpu_access = omap_gem_dmabuf_begin_cpu_access,
>  	.end_cpu_access = omap_gem_dmabuf_end_cpu_access,
> -	.kmap_atomic = omap_gem_dmabuf_kmap_atomic,
> -	.kunmap_atomic = omap_gem_dmabuf_kunmap_atomic,
> -	.kmap = omap_gem_dmabuf_kmap,
> -	.kunmap = omap_gem_dmabuf_kunmap,
> +	.map_atomic = omap_gem_dmabuf_kmap_atomic,
> +	.unmap_atomic = omap_gem_dmabuf_kunmap_atomic,
> +	.map = omap_gem_dmabuf_kmap,
> +	.unmap = omap_gem_dmabuf_kunmap,
>  	.mmap = omap_gem_dmabuf_mmap,
>  };
>  
> diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c
> index 17e62ec..1788b14 100644
> --- a/drivers/gpu/drm/tegra/gem.c
> +++ b/drivers/gpu/drm/tegra/gem.c
> @@ -112,8 +112,8 @@ static const struct host1x_bo_ops tegra_bo_ops = {
>  	.unpin = tegra_bo_unpin,
>  	.mmap = tegra_bo_mmap,
>  	.munmap = tegra_bo_munmap,
> -	.kmap = tegra_bo_kmap,
> -	.kunmap = tegra_bo_kunmap,
> +	.map = tegra_bo_kmap,
> +	.unmap = tegra_bo_kunmap,
>  };
>  
>  static int tegra_bo_iommu_map(struct tegra_drm *tegra, struct tegra_bo *bo)
> diff --git a/drivers/gpu/drm/udl/udl_dmabuf.c b/drivers/gpu/drm/udl/udl_dmabuf.c
> index ac90ffd..ed0e636 100644
> --- a/drivers/gpu/drm/udl/udl_dmabuf.c
> +++ b/drivers/gpu/drm/udl/udl_dmabuf.c
> @@ -191,10 +191,10 @@ static struct dma_buf_ops udl_dmabuf_ops = {
>  	.detach			= udl_detach_dma_buf,
>  	.map_dma_buf		= udl_map_dma_buf,
>  	.unmap_dma_buf		= udl_unmap_dma_buf,
> -	.kmap			= udl_dmabuf_kmap,
> -	.kmap_atomic		= udl_dmabuf_kmap_atomic,
> -	.kunmap			= udl_dmabuf_kunmap,
> -	.kunmap_atomic		= udl_dmabuf_kunmap_atomic,
> +	.map			= udl_dmabuf_kmap,
> +	.map_atomic		= udl_dmabuf_kmap_atomic,
> +	.unmap			= udl_dmabuf_kunmap,
> +	.unmap_atomic		= udl_dmabuf_kunmap_atomic,
>  	.mmap			= udl_dmabuf_mmap,
>  	.release		= drm_gem_dmabuf_release,
>  };
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c b/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
> index 31fe32d..0d42a46 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
> @@ -108,10 +108,10 @@ const struct dma_buf_ops vmw_prime_dmabuf_ops =  {
>  	.map_dma_buf = vmw_prime_map_dma_buf,
>  	.unmap_dma_buf = vmw_prime_unmap_dma_buf,
>  	.release = NULL,
> -	.kmap = vmw_prime_dmabuf_kmap,
> -	.kmap_atomic = vmw_prime_dmabuf_kmap_atomic,
> -	.kunmap = vmw_prime_dmabuf_kunmap,
> -	.kunmap_atomic = vmw_prime_dmabuf_kunmap_atomic,
> +	.map = vmw_prime_dmabuf_kmap,
> +	.map_atomic = vmw_prime_dmabuf_kmap_atomic,
> +	.unmap = vmw_prime_dmabuf_kunmap,
> +	.unmap_atomic = vmw_prime_dmabuf_kunmap_atomic,
>  	.mmap = vmw_prime_dmabuf_mmap,
>  	.vmap = vmw_prime_dmabuf_vmap,
>  	.vunmap = vmw_prime_dmabuf_vunmap,
> diff --git a/drivers/media/v4l2-core/videobuf2-dma-contig.c b/drivers/media/v4l2-core/videobuf2-dma-contig.c
> index fb6a177..2db0413 100644
> --- a/drivers/media/v4l2-core/videobuf2-dma-contig.c
> +++ b/drivers/media/v4l2-core/videobuf2-dma-contig.c
> @@ -356,8 +356,8 @@ static struct dma_buf_ops vb2_dc_dmabuf_ops = {
>  	.detach = vb2_dc_dmabuf_ops_detach,
>  	.map_dma_buf = vb2_dc_dmabuf_ops_map,
>  	.unmap_dma_buf = vb2_dc_dmabuf_ops_unmap,
> -	.kmap = vb2_dc_dmabuf_ops_kmap,
> -	.kmap_atomic = vb2_dc_dmabuf_ops_kmap,
> +	.map = vb2_dc_dmabuf_ops_kmap,
> +	.map_atomic = vb2_dc_dmabuf_ops_kmap,
>  	.vmap = vb2_dc_dmabuf_ops_vmap,
>  	.mmap = vb2_dc_dmabuf_ops_mmap,
>  	.release = vb2_dc_dmabuf_ops_release,
> diff --git a/drivers/media/v4l2-core/videobuf2-dma-sg.c b/drivers/media/v4l2-core/videobuf2-dma-sg.c
> index ecff8f4..6fd1343 100644
> --- a/drivers/media/v4l2-core/videobuf2-dma-sg.c
> +++ b/drivers/media/v4l2-core/videobuf2-dma-sg.c
> @@ -504,8 +504,8 @@ static struct dma_buf_ops vb2_dma_sg_dmabuf_ops = {
>  	.detach = vb2_dma_sg_dmabuf_ops_detach,
>  	.map_dma_buf = vb2_dma_sg_dmabuf_ops_map,
>  	.unmap_dma_buf = vb2_dma_sg_dmabuf_ops_unmap,
> -	.kmap = vb2_dma_sg_dmabuf_ops_kmap,
> -	.kmap_atomic = vb2_dma_sg_dmabuf_ops_kmap,
> +	.map = vb2_dma_sg_dmabuf_ops_kmap,
> +	.map_atomic = vb2_dma_sg_dmabuf_ops_kmap,
>  	.vmap = vb2_dma_sg_dmabuf_ops_vmap,
>  	.mmap = vb2_dma_sg_dmabuf_ops_mmap,
>  	.release = vb2_dma_sg_dmabuf_ops_release,
> diff --git a/drivers/media/v4l2-core/videobuf2-vmalloc.c b/drivers/media/v4l2-core/videobuf2-vmalloc.c
> index 3f77814..27d1db3 100644
> --- a/drivers/media/v4l2-core/videobuf2-vmalloc.c
> +++ b/drivers/media/v4l2-core/videobuf2-vmalloc.c
> @@ -342,8 +342,8 @@ static struct dma_buf_ops vb2_vmalloc_dmabuf_ops = {
>  	.detach = vb2_vmalloc_dmabuf_ops_detach,
>  	.map_dma_buf = vb2_vmalloc_dmabuf_ops_map,
>  	.unmap_dma_buf = vb2_vmalloc_dmabuf_ops_unmap,
> -	.kmap = vb2_vmalloc_dmabuf_ops_kmap,
> -	.kmap_atomic = vb2_vmalloc_dmabuf_ops_kmap,
> +	.map = vb2_vmalloc_dmabuf_ops_kmap,
> +	.map_atomic = vb2_vmalloc_dmabuf_ops_kmap,
>  	.vmap = vb2_vmalloc_dmabuf_ops_vmap,
>  	.mmap = vb2_vmalloc_dmabuf_ops_mmap,
>  	.release = vb2_vmalloc_dmabuf_ops_release,
> diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c
> index f45115f..95a7f16 100644
> --- a/drivers/staging/android/ion/ion.c
> +++ b/drivers/staging/android/ion/ion.c
> @@ -1020,10 +1020,10 @@ static const struct dma_buf_ops dma_buf_ops = {
>  	.release = ion_dma_buf_release,
>  	.begin_cpu_access = ion_dma_buf_begin_cpu_access,
>  	.end_cpu_access = ion_dma_buf_end_cpu_access,
> -	.kmap_atomic = ion_dma_buf_kmap,
> -	.kunmap_atomic = ion_dma_buf_kunmap,
> -	.kmap = ion_dma_buf_kmap,
> -	.kunmap = ion_dma_buf_kunmap,
> +	.map_atomic = ion_dma_buf_kmap,
> +	.unmap_atomic = ion_dma_buf_kunmap,
> +	.map = ion_dma_buf_kmap,
> +	.unmap = ion_dma_buf_kunmap,
>  };
>  
>  struct dma_buf *ion_share_dma_buf(struct ion_client *client,
> diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h
> index bfb3704..79f27d6 100644
> --- a/include/linux/dma-buf.h
> +++ b/include/linux/dma-buf.h
> @@ -39,13 +39,13 @@ struct dma_buf_attachment;
>  
>  /**
>   * struct dma_buf_ops - operations possible on struct dma_buf
> - * @kmap_atomic: maps a page from the buffer into kernel address
> - * 		 space, users may not block until the subsequent unmap call.
> - * 		 This callback must not sleep.
> - * @kunmap_atomic: [optional] unmaps a atomically mapped page from the buffer.
> - * 		   This Callback must not sleep.
> - * @kmap: maps a page from the buffer into kernel address space.
> - * @kunmap: [optional] unmaps a page from the buffer.
> + * @map_atomic: maps a page from the buffer into kernel address
> + *		space, users may not block until the subsequent unmap call.
> + *		This callback must not sleep.
> + * @unmap_atomic: [optional] unmaps a atomically mapped page from the buffer.
> + *		  This Callback must not sleep.
> + * @map: maps a page from the buffer into kernel address space.
> + * @unmap: [optional] unmaps a page from the buffer.
>   * @vmap: [optional] creates a virtual mapping for the buffer into kernel
>   *	  address space. Same restrictions as for vmap and friends apply.
>   * @vunmap: [optional] unmaps a vmap from the buffer
> @@ -206,10 +206,10 @@ struct dma_buf_ops {
>  	 * to be restarted.
>  	 */
>  	int (*end_cpu_access)(struct dma_buf *, enum dma_data_direction);
> -	void *(*kmap_atomic)(struct dma_buf *, unsigned long);
> -	void (*kunmap_atomic)(struct dma_buf *, unsigned long, void *);
> -	void *(*kmap)(struct dma_buf *, unsigned long);
> -	void (*kunmap)(struct dma_buf *, unsigned long, void *);
> +	void *(*map_atomic)(struct dma_buf *, unsigned long);
> +	void (*unmap_atomic)(struct dma_buf *, unsigned long, void *);
> +	void *(*map)(struct dma_buf *, unsigned long);
> +	void (*unmap)(struct dma_buf *, unsigned long, void *);
>  
>  	/**
>  	 * @mmap:
> -- 
> 2.1.4
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-04-19 16:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-19  0:17 [PATCH] dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro Logan Gunthorpe
2017-04-19  3:08 ` [Intel-gfx] " kbuild test robot
2017-04-19 16:53 ` Sinclair Yeh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).