printk: ringbuffer: add BLK_DATALESS() macro
Rather than continually needing to explicitly check @begin and @next to identify a dataless block, introduce and use a BLK_DATALESS() macro. Signed-off-by: John Ogness <john.ogness@linutronix.de> Reviewed-by: Petr Mladek <pmladek@suse.com> Signed-off-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20200914123354.832-3-john.ogness@linutronix.de
This commit is contained in:
parent
2a7f87ed05
commit
e3bc0401c1
|
@ -266,6 +266,8 @@
|
|||
|
||||
/* Determine if a logical position refers to a data-less block. */
|
||||
#define LPOS_DATALESS(lpos) ((lpos) & 1UL)
|
||||
#define BLK_DATALESS(blk) (LPOS_DATALESS((blk)->begin) && \
|
||||
LPOS_DATALESS((blk)->next))
|
||||
|
||||
/* Get the logical position at index 0 of the current wrap. */
|
||||
#define DATA_THIS_WRAP_START_LPOS(data_ring, lpos) \
|
||||
|
@ -1038,7 +1040,7 @@ static unsigned int space_used(struct prb_data_ring *data_ring,
|
|||
struct prb_data_blk_lpos *blk_lpos)
|
||||
{
|
||||
/* Data-less blocks take no space. */
|
||||
if (LPOS_DATALESS(blk_lpos->begin))
|
||||
if (BLK_DATALESS(blk_lpos))
|
||||
return 0;
|
||||
|
||||
if (DATA_WRAPS(data_ring, blk_lpos->begin) == DATA_WRAPS(data_ring, blk_lpos->next)) {
|
||||
|
@ -1071,7 +1073,7 @@ static const char *get_data(struct prb_data_ring *data_ring,
|
|||
struct prb_data_block *db;
|
||||
|
||||
/* Data-less data block description. */
|
||||
if (LPOS_DATALESS(blk_lpos->begin) && LPOS_DATALESS(blk_lpos->next)) {
|
||||
if (BLK_DATALESS(blk_lpos)) {
|
||||
if (blk_lpos->begin == NO_LPOS && blk_lpos->next == NO_LPOS) {
|
||||
*data_size = 0;
|
||||
return "";
|
||||
|
|
Loading…
Reference in New Issue