mirror of
https://github.com/torvalds/linux.git
synced 2026-04-23 00:55:48 -04:00
[media] lirc: use kfifo_initialized() on lirc_buffer's fifo
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. [m.chehab@samsung.com: add the same change to lirc_zilog, to avoid breaking compilation of staging drivers] Signed-off-by: Martin Kaiser <martin@kaiser.cx> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
373145282e
commit
77d381af73
@@ -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__);
|
||||
|
||||
Reference in New Issue
Block a user