Loading drivers/staging/android/logger.c +26 −14 Original line number Diff line number Diff line Loading @@ -32,38 +32,50 @@ #include <asm/ioctls.h> /* /** * struct logger_log - represents a specific log, such as 'main' or 'radio' * @buffer: The actual ring buffer * @misc: The "misc" device representing the log * @wq: The wait queue for @readers * @readers: This log's readers * @mutex: The mutex that protects the @buffer * @w_off: The current write head offset * @head: The head, or location that readers start reading at. * @size: The size of the log * @logs: The list of log channels * * This structure lives from module insertion until module removal, so it does * not need additional reference counting. The structure is protected by the * mutex 'mutex'. */ struct logger_log { unsigned char *buffer;/* the ring buffer itself */ struct miscdevice misc; /* misc device representing the log */ wait_queue_head_t wq; /* wait queue for readers */ struct list_head readers; /* this log's readers */ struct mutex mutex; /* mutex protecting buffer */ size_t w_off; /* current write head offset */ size_t head; /* new readers start here */ size_t size; /* size of the log */ struct list_head logs; /* list of log channels (myself)*/ unsigned char *buffer; struct miscdevice misc; wait_queue_head_t wq; struct list_head readers; struct mutex mutex; size_t w_off; size_t head; size_t size; struct list_head logs; }; static LIST_HEAD(log_list); /* /** * struct logger_reader - a logging device open for reading * @log: The associated log * @list: The associated entry in @logger_log's list * @r_off: The current read head offset. * * This object lives from open to release, so we don't need additional * reference counting. The structure is protected by log->mutex. */ struct logger_reader { struct logger_log *log; /* associated log */ struct list_head list; /* entry in logger_log's list */ size_t r_off; /* current read head offset */ struct logger_log *log; struct list_head list; size_t r_off; }; /* logger_offset - returns index 'n' into the log via (optimized) modulus */ Loading Loading
drivers/staging/android/logger.c +26 −14 Original line number Diff line number Diff line Loading @@ -32,38 +32,50 @@ #include <asm/ioctls.h> /* /** * struct logger_log - represents a specific log, such as 'main' or 'radio' * @buffer: The actual ring buffer * @misc: The "misc" device representing the log * @wq: The wait queue for @readers * @readers: This log's readers * @mutex: The mutex that protects the @buffer * @w_off: The current write head offset * @head: The head, or location that readers start reading at. * @size: The size of the log * @logs: The list of log channels * * This structure lives from module insertion until module removal, so it does * not need additional reference counting. The structure is protected by the * mutex 'mutex'. */ struct logger_log { unsigned char *buffer;/* the ring buffer itself */ struct miscdevice misc; /* misc device representing the log */ wait_queue_head_t wq; /* wait queue for readers */ struct list_head readers; /* this log's readers */ struct mutex mutex; /* mutex protecting buffer */ size_t w_off; /* current write head offset */ size_t head; /* new readers start here */ size_t size; /* size of the log */ struct list_head logs; /* list of log channels (myself)*/ unsigned char *buffer; struct miscdevice misc; wait_queue_head_t wq; struct list_head readers; struct mutex mutex; size_t w_off; size_t head; size_t size; struct list_head logs; }; static LIST_HEAD(log_list); /* /** * struct logger_reader - a logging device open for reading * @log: The associated log * @list: The associated entry in @logger_log's list * @r_off: The current read head offset. * * This object lives from open to release, so we don't need additional * reference counting. The structure is protected by log->mutex. */ struct logger_reader { struct logger_log *log; /* associated log */ struct list_head list; /* entry in logger_log's list */ size_t r_off; /* current read head offset */ struct logger_log *log; struct list_head list; size_t r_off; }; /* logger_offset - returns index 'n' into the log via (optimized) modulus */ Loading