mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 07:02:06 +00:00 
			
		
		
		
	 92c16f7e9c
			
		
	
	
		92c16f7e9c
		
	
	
	
	
		
			
			This changes only
  - whitespace
  - C99 initializers
  - comment style
  - order of #includes
  - if { } else { } bracing
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
		
	
			
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| struct list {
 | |
| 	struct list *next, *prev;
 | |
| };
 | |
| 
 | |
| static inline void
 | |
| list_init(struct list *list)
 | |
| {
 | |
| 	list->next = list;
 | |
| 	list->prev = list;
 | |
| }
 | |
| 
 | |
| static inline int
 | |
| list_empty(struct list *list)
 | |
| {
 | |
| 	return list->next == list;
 | |
| }
 | |
| 
 | |
| static inline void
 | |
| list_insert(struct list *link, struct list *new_link)
 | |
| {
 | |
| 	new_link->prev		= link->prev;
 | |
| 	new_link->next		= link;
 | |
| 	new_link->prev->next	= new_link;
 | |
| 	new_link->next->prev	= new_link;
 | |
| }
 | |
| 
 | |
| static inline void
 | |
| list_append(struct list *list, struct list *new_link)
 | |
| {
 | |
| 	list_insert((struct list *)list, new_link);
 | |
| }
 | |
| 
 | |
| static inline void
 | |
| list_prepend(struct list *list, struct list *new_link)
 | |
| {
 | |
| 	list_insert(list->next, new_link);
 | |
| }
 | |
| 
 | |
| static inline void
 | |
| list_remove(struct list *link)
 | |
| {
 | |
| 	link->prev->next = link->next;
 | |
| 	link->next->prev = link->prev;
 | |
| }
 | |
| 
 | |
| #define list_entry(link, type, member) \
 | |
| 	((type *)((char *)(link)-(unsigned long)(&((type *)0)->member)))
 | |
| 
 | |
| #define list_head(list, type, member)		\
 | |
| 	list_entry((list)->next, type, member)
 | |
| 
 | |
| #define list_tail(list, type, member)		\
 | |
| 	list_entry((list)->prev, type, member)
 | |
| 
 | |
| #define list_next(elm, member)					\
 | |
| 	list_entry((elm)->member.next, typeof(*elm), member)
 | |
| 
 | |
| #define list_for_each_entry(pos, list, member)			\
 | |
| 	for (pos = list_head(list, typeof(*pos), member);	\
 | |
| 	     &pos->member != (list);				\
 | |
| 	     pos = list_next(pos, member))
 | |
| 
 |