We can use kfifo_initialized() to check if the fifo in lirc_buffer is
initialized or not. There's no need to have a dedicated fifo status
variable in lirc_buffer.

Signed-off-by: Martin Kaiser <mar...@kaiser.cx>
---
 include/media/lirc_dev.h |    8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/include/media/lirc_dev.h b/include/media/lirc_dev.h
index 78f0637..05e7ad5 100644
--- a/include/media/lirc_dev.h
+++ b/include/media/lirc_dev.h
@@ -29,14 +29,13 @@ struct lirc_buffer {
        /* Using chunks instead of bytes pretends to simplify boundary checking
         * And should allow for some performance fine tunning later */
        struct kfifo fifo;
-       u8 fifo_initialized;
 };
 
 static inline void lirc_buffer_clear(struct lirc_buffer *buf)
 {
        unsigned long flags;
 
-       if (buf->fifo_initialized) {
+       if (kfifo_initialized(&buf->fifo)) {
                spin_lock_irqsave(&buf->fifo_lock, flags);
                kfifo_reset(&buf->fifo);
                spin_unlock_irqrestore(&buf->fifo_lock, flags);
@@ -56,17 +55,14 @@ static inline int lirc_buffer_init(struct lirc_buffer *buf,
        buf->chunk_size = chunk_size;
        buf->size = size;
        ret = kfifo_alloc(&buf->fifo, size * chunk_size, GFP_KERNEL);
-       if (ret == 0)
-               buf->fifo_initialized = 1;
 
        return ret;
 }
 
 static inline void lirc_buffer_free(struct lirc_buffer *buf)
 {
-       if (buf->fifo_initialized) {
+       if (kfifo_initialized(&buf->fifo)) {
                kfifo_free(&buf->fifo);
-               buf->fifo_initialized = 0;
        } else
                WARN(1, "calling %s on an uninitialized lirc_buffer\n",
                     __func__);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to