OSDN Git Service

dma-buf: Prettify typecasts for dma-fence-chain
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 9 Apr 2020 11:00:59 +0000 (12:00 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 9 Apr 2020 18:52:03 +0000 (19:52 +0100)
Inside dma-fence-chain, we use a cmpxchg on an RCU-protected pointer. To
avoid the sparse warning for using the RCU pointer directly, we have to
cast away the __rcu annotation. However, we don't need to use void*
everywhere and can stick to the dma_fence*.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200409110101.18400-1-chris@chris-wilson.co.uk
drivers/dma-buf/dma-fence-chain.c

index 44a7416..3d12350 100644 (file)
@@ -62,7 +62,8 @@ struct dma_fence *dma_fence_chain_walk(struct dma_fence *fence)
                        replacement = NULL;
                }
 
-               tmp = cmpxchg((void **)&chain->prev, (void *)prev, (void *)replacement);
+               tmp = cmpxchg((struct dma_fence __force **)&chain->prev,
+                             prev, replacement);
                if (tmp == prev)
                        dma_fence_put(tmp);
                else