]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
iio: buffer-dmaengine: Use the cleanup.h API
authorNuno Sá <nuno.sa@analog.com>
Fri, 19 Dec 2025 15:28:16 +0000 (15:28 +0000)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 21 Dec 2025 12:01:00 +0000 (12:01 +0000)
Make use of the cleanup.h API for locks in order to simplify some code
paths.

Signed-off-by: Nuno Sá <nuno.sa@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/buffer/industrialio-buffer-dmaengine.c

index 27dd56334345135742d077fab157e2f091d07488..750bd3f3fd4af38ecbbc86e84e80885a7dbd8dd5 100644 (file)
@@ -6,6 +6,7 @@
 
 #include <linux/slab.h>
 #include <linux/kernel.h>
+#include <linux/cleanup.h>
 #include <linux/dmaengine.h>
 #include <linux/dma-mapping.h>
 #include <linux/spinlock.h>
@@ -49,11 +50,9 @@ static void iio_dmaengine_buffer_block_done(void *data,
                const struct dmaengine_result *result)
 {
        struct iio_dma_buffer_block *block = data;
-       unsigned long flags;
 
-       spin_lock_irqsave(&block->queue->list_lock, flags);
-       list_del(&block->head);
-       spin_unlock_irqrestore(&block->queue->list_lock, flags);
+       scoped_guard(spinlock_irqsave, &block->queue->list_lock)
+               list_del(&block->head);
        block->bytes_used -= result->residue;
        iio_dma_buffer_block_done(block);
 }
@@ -131,9 +130,8 @@ static int iio_dmaengine_buffer_submit_block(struct iio_dma_buffer_queue *queue,
        if (dma_submit_error(cookie))
                return dma_submit_error(cookie);
 
-       spin_lock_irq(&dmaengine_buffer->queue.list_lock);
-       list_add_tail(&block->head, &dmaengine_buffer->active);
-       spin_unlock_irq(&dmaengine_buffer->queue.list_lock);
+       scoped_guard(spinlock_irq, &dmaengine_buffer->queue.list_lock)
+               list_add_tail(&block->head, &dmaengine_buffer->active);
 
        dma_async_issue_pending(dmaengine_buffer->chan);