Skip to content

Commit 7a71a30

Browse files
committed
Apply suggestion
1 parent 96ae65f commit 7a71a30

File tree

2 files changed

+43
-46
lines changed

2 files changed

+43
-46
lines changed

utils.h

Lines changed: 35 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -16,58 +16,57 @@ void semu_timer_rebase(semu_timer_t *timer, uint64_t time);
1616
/* Linux-like queue API */
1717

1818
#if defined(__GNUC__)
19-
#define __QUEUE_HAVE_TYPEOF 1
19+
#define __list_HAVE_TYPEOF 1
2020
#endif
2121

22-
/* Merely a doubly-linked list */
23-
struct queue_head {
24-
struct queue_head *prev, *next;
22+
struct list_head {
23+
struct list_head *prev, *next;
2524
};
2625

27-
#define QUEUE_HEAD(head) struct queue_head head = {&(head), &(head)}
26+
#define list_HEAD(head) struct list_head head = {&(head), &(head)}
2827

29-
static inline void INIT_QUEUE_HEAD(struct queue_head *head)
28+
static inline void INIT_LIST_HEAD(struct list_head *head)
3029
{
3130
head->next = head;
3231
head->prev = head;
3332
}
3433

35-
/* Push the node to the end of queue */
36-
static inline void queue_push(struct queue_head *node, struct queue_head *head)
34+
/* Push the node to the end of list */
35+
static inline void list_push(struct list_head *node, struct list_head *head)
3736
{
38-
struct queue_head *prev = head->prev;
37+
struct list_head *prev = head->prev;
3938

4039
prev->next = node;
4140
node->next = head;
4241
node->prev = prev;
4342
head->prev = node;
4443
}
4544

46-
static inline int queue_empty(const struct queue_head *head)
45+
static inline int list_empty(const struct list_head *head)
4746
{
4847
return (head->next == head);
4948
}
5049

51-
static inline void queue_del(struct queue_head *node)
50+
static inline void list_del(struct list_head *node)
5251
{
53-
struct queue_head *next = node->next;
54-
struct queue_head *prev = node->prev;
52+
struct list_head *next = node->next;
53+
struct list_head *prev = node->prev;
5554

5655
next->prev = prev;
5756
prev->next = next;
5857

59-
node->prev = (struct queue_head *) (0x00100100);
60-
node->next = (struct queue_head *) (0x00200200);
58+
node->prev = (struct list_head *) (0x00100100);
59+
node->next = (struct list_head *) (0x00200200);
6160
}
6261

63-
static inline void queue_del_init(struct queue_head *node)
62+
static inline void list_del_init(struct list_head *node)
6463
{
65-
queue_del(node);
66-
INIT_QUEUE_HEAD(node);
64+
list_del(node);
65+
INIT_LIST_HEAD(node);
6766
}
6867

6968
#ifndef container_of
70-
#ifdef __QUEUE_HAVE_TYPEOF
69+
#ifdef __list_HAVE_TYPEOF
7170
#define container_of(ptr, type, member) \
7271
__extension__({ \
7372
const __typeof__(((type *) 0)->member) *__pmember = (ptr); \
@@ -79,30 +78,30 @@ static inline void queue_del_init(struct queue_head *node)
7978
#endif
8079
#endif
8180

82-
#define queue_entry(node, type, member) container_of(node, type, member)
81+
#define list_entry(node, type, member) container_of(node, type, member)
8382

84-
#define queue_first_entry(head, type, member) \
85-
queue_entry((head)->next, type, member)
83+
#define list_first_entry(head, type, member) \
84+
list_entry((head)->next, type, member)
8685

87-
#define queue_last_entry(head, type, member) \
88-
queue_entry((head)->prev, type, member)
86+
#define list_last_entry(head, type, member) \
87+
list_entry((head)->prev, type, member)
8988

90-
#define queue_for_each(node, head) \
89+
#define list_for_each(node, head) \
9190
for (node = (head)->next; node != (head); node = node->next)
9291

93-
#ifdef __QUEUE_HAVE_TYPEOF
94-
#define queue_for_each_entry(entry, head, member) \
95-
for (entry = queue_entry((head)->next, __typeof__(*entry), member); \
96-
&entry->member != (head); \
97-
entry = queue_entry(entry->member.next, __typeof__(*entry), member))
92+
#ifdef __list_HAVE_TYPEOF
93+
#define list_for_each_entry(entry, head, member) \
94+
for (entry = list_entry((head)->next, __typeof__(*entry), member); \
95+
&entry->member != (head); \
96+
entry = list_entry(entry->member.next, __typeof__(*entry), member))
9897
#endif
9998

100-
#define queue_for_each_safe(node, safe, head) \
99+
#define list_for_each_safe(node, safe, head) \
101100
for (node = (head)->next, safe = node->next; node != (head); \
102101
node = safe, safe = node->next)
103102

104-
#define queue_for_each_entry_safe(entry, safe, head, member) \
105-
for (entry = queue_entry((head)->next, __typeof__(*entry), member), \
106-
safe = queue_entry(entry->member.next, __typeof__(*entry), member); \
107-
&entry->member != (head); entry = safe, \
108-
safe = queue_entry(safe->member.next, __typeof__(*entry), member))
103+
#define list_for_each_entry_safe(entry, safe, head, member) \
104+
for (entry = list_entry((head)->next, __typeof__(*entry), member), \
105+
safe = list_entry(entry->member.next, __typeof__(*entry), member); \
106+
&entry->member != (head); entry = safe, \
107+
safe = list_entry(safe->member.next, __typeof__(*entry), member))

virtio-snd.c

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -796,7 +796,7 @@ static void __virtio_snd_frame_enqueue(void *payload,
796796

797797
typedef struct {
798798
struct virtq_desc vq_desc;
799-
struct queue_head q;
799+
struct list_head q;
800800
} virtq_desc_queue_node_t;
801801
static int virtio_snd_tx_desc_handler(virtio_snd_state_t *vsnd,
802802
const virtio_snd_queue_t *queue,
@@ -813,9 +813,9 @@ static int virtio_snd_tx_desc_handler(virtio_snd_state_t *vsnd,
813813
* (response payload structure)
814814
*/
815815
virtq_desc_queue_node_t *node;
816-
struct queue_head q;
817-
INIT_QUEUE_HEAD(&q);
818-
assert(queue_empty(&q));
816+
struct list_head q;
817+
INIT_LIST_HEAD(&q);
818+
assert(list_empty(&q));
819819

820820
/* Collect the descriptors */
821821
int cnt = 0;
@@ -828,7 +828,7 @@ static int virtio_snd_tx_desc_handler(virtio_snd_state_t *vsnd,
828828
node->vq_desc.addr = desc[0];
829829
node->vq_desc.len = desc[2];
830830
node->vq_desc.flags = desc[3];
831-
queue_push(&node->q, &q);
831+
list_push(&node->q, &q);
832832
desc_idx = desc[3] >> 16; /* vq_desc[desc_cnt].next */
833833

834834
cnt++;
@@ -844,8 +844,7 @@ static int virtio_snd_tx_desc_handler(virtio_snd_state_t *vsnd,
844844
uint32_t stream_id;
845845
uintptr_t base = (uintptr_t) vsnd->ram;
846846
uint32_t ret_len = 0;
847-
queue_for_each_entry(node, &q, q)
848-
{
847+
list_for_each_entry (node, &q, q) {
849848
uint32_t addr = node->vq_desc.addr;
850849
uint32_t len = node->vq_desc.len;
851850
// fprintf(stderr, "idx %d addr %" PRIu32 " len %" PRIu32 "\n", idx,
@@ -882,9 +881,8 @@ static int virtio_snd_tx_desc_handler(virtio_snd_state_t *vsnd,
882881
/* TODO: remove this part as we are going to use ring buffer */
883882
idx = 0;
884883
virtq_desc_queue_node_t *tmp = NULL;
885-
queue_for_each_entry_safe(node, tmp, &q, q)
886-
{
887-
queue_del(&node->q);
884+
list_for_each_entry_safe (node, tmp, &q, q) {
885+
list_del(&node->q);
888886
free(node);
889887
idx++;
890888
}

0 commit comments

Comments
 (0)