_DESCS_COUNT
memset(descs, 0, _DESCS_COUNT(descbits) * sizeof(descs[0]));
memset(infos, 0, _DESCS_COUNT(descbits) * sizeof(infos[0]));
atomic_long_set(&(descs[_DESCS_COUNT(descbits) - 1].state_var), DESC0_SV(descbits));
descs[_DESCS_COUNT(descbits) - 1].text_blk_lpos.begin = FAILED_LPOS;
descs[_DESCS_COUNT(descbits) - 1].text_blk_lpos.next = FAILED_LPOS;
infos[0].seq = -(u64)_DESCS_COUNT(descbits);
infos[_DESCS_COUNT(descbits) - 1].seq = 0;
#define DESCS_COUNT(desc_ring) _DESCS_COUNT((desc_ring)->count_bits)
#define DESC0_ID(ct_bits) DESC_ID(-(_DESCS_COUNT(ct_bits) + 1))
static struct prb_desc _##name##_descs[_DESCS_COUNT(descbits)] = { \
[_DESCS_COUNT(descbits) - 1] = { \
static struct printk_info _##name##_infos[_DESCS_COUNT(descbits)] = { \
.seq = -(u64)_DESCS_COUNT(descbits), \
[_DESCS_COUNT(descbits) - 1] = { \