提交 689d7c2a 编写于 作者: D Dave Airlie

drm/radeon: cleanup mkregtable.c

This cleans up the code in mkregtable.c to be more kernel style.
Signed-off-by: NDave Airlie <airlied@redhat.com>
上级 a1a2d1d3
......@@ -25,10 +25,8 @@
*
*/
#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})
const typeof(((type *)0)->member)*__mptr = (ptr); \
(type *)((char *)__mptr - offsetof(type, member)); })
/*
* Simple doubly linked list implementation.
......@@ -63,8 +61,7 @@ static inline void INIT_LIST_HEAD(struct list_head *list)
*/
#ifndef CONFIG_DEBUG_LIST
static inline void __list_add(struct list_head *new,
struct list_head *prev,
struct list_head *next)
struct list_head *prev, struct list_head *next)
{
next->prev = new;
new->next = next;
......@@ -73,8 +70,7 @@ static inline void __list_add(struct list_head *new,
}
#else
extern void __list_add(struct list_head *new,
struct list_head *prev,
struct list_head *next);
struct list_head *prev, struct list_head *next);
#endif
/**
......@@ -90,7 +86,6 @@ static inline void list_add(struct list_head *new, struct list_head *head)
__list_add(new, head, head->next);
}
/**
* list_add_tail - add a new entry
* @new: new entry to be added
......@@ -111,7 +106,7 @@ static inline void list_add_tail(struct list_head *new, struct list_head *head)
* This is only for internal list manipulation where we know
* the prev/next entries already!
*/
static inline void __list_del(struct list_head * prev, struct list_head * next)
static inline void __list_del(struct list_head *prev, struct list_head *next)
{
next->prev = prev;
prev->next = next;
......@@ -127,8 +122,8 @@ static inline void __list_del(struct list_head * prev, struct list_head * next)
static inline void list_del(struct list_head *entry)
{
__list_del(entry->prev, entry->next);
entry->next = (void*)0xDEADBEEF;
entry->prev = (void*)0xBEEFDEAD;
entry->next = (void *)0xDEADBEEF;
entry->prev = (void *)0xBEEFDEAD;
}
#else
extern void list_del(struct list_head *entry);
......@@ -141,8 +136,7 @@ extern void list_del(struct list_head *entry);
*
* If @old was empty, it will be overwritten.
*/
static inline void list_replace(struct list_head *old,
struct list_head *new)
static inline void list_replace(struct list_head *old, struct list_head *new)
{
new->next = old->next;
new->next->prev = new;
......@@ -239,7 +233,8 @@ static inline int list_is_singular(const struct list_head *head)
}
static inline void __list_cut_position(struct list_head *list,
struct list_head *head, struct list_head *entry)
struct list_head *head,
struct list_head *entry)
{
struct list_head *new_first = entry->next;
list->next = head->next;
......@@ -265,12 +260,12 @@ static inline void __list_cut_position(struct list_head *list,
*
*/
static inline void list_cut_position(struct list_head *list,
struct list_head *head, struct list_head *entry)
struct list_head *head,
struct list_head *entry)
{
if (list_empty(head))
return;
if (list_is_singular(head) &&
(head->next != entry && head != entry))
if (list_is_singular(head) && (head->next != entry && head != entry))
return;
if (entry == head)
INIT_LIST_HEAD(list);
......@@ -279,8 +274,7 @@ static inline void list_cut_position(struct list_head *list,
}
static inline void __list_splice(const struct list_head *list,
struct list_head *prev,
struct list_head *next)
struct list_head *prev, struct list_head *next)
{
struct list_head *first = list->next;
struct list_head *last = list->prev;
......@@ -567,11 +561,11 @@ struct table {
char *gpu_prefix;
};
struct offset* offset_new(unsigned o)
struct offset *offset_new(unsigned o)
{
struct offset *offset;
offset = (struct offset*)malloc(sizeof(struct offset));
offset = (struct offset *)malloc(sizeof(struct offset));
if (offset) {
INIT_LIST_HEAD(&offset->list);
offset->offset = o;
......@@ -598,16 +592,18 @@ void table_print(struct table *t)
nlloop = (t->nentry + 3) / 4;
c = t->nentry;
printf("static const unsigned %s_reg_safe_bm[%d] = {\n", t->gpu_prefix, t->nentry);
for(i = 0, id = 0; i < nlloop; i++) {
printf("static const unsigned %s_reg_safe_bm[%d] = {\n", t->gpu_prefix,
t->nentry);
for (i = 0, id = 0; i < nlloop; i++) {
n = 4;
if (n > c) {
if (n > c)
n = c;
}
c -= n;
for(j = 0; j < n; j++) {
if (j == 0) printf("\t");
else printf(" ");
for (j = 0; j < n; j++) {
if (j == 0)
printf("\t");
else
printf(" ");
printf("0x%08X,", t->table[id++]);
}
printf("\n");
......@@ -621,10 +617,9 @@ int table_build(struct table *t)
unsigned i, m;
t->nentry = ((t->offset_max >> 2) + 31) / 32;
t->table = (unsigned*)malloc(sizeof(unsigned) * t->nentry);
if (t->table == NULL) {
t->table = (unsigned *)malloc(sizeof(unsigned) * t->nentry);
if (t->table == NULL)
return -1;
}
memset(t->table, 0xff, sizeof(unsigned) * t->nentry);
list_for_each_entry(offset, &t->offsets, list) {
i = (offset->offset >> 2) / 32;
......@@ -651,7 +646,8 @@ int parser_auth(struct table *t, const char *filename)
char last_reg_s[10];
int last_reg;
if (regcomp(&mask_rex, "(0x[0-9a-fA-F]*) *([_a-zA-Z0-9]*)", REG_EXTENDED)) {
if (regcomp
(&mask_rex, "(0x[0-9a-fA-F]*) *([_a-zA-Z0-9]*)", REG_EXTENDED)) {
fprintf(stderr, "Failed to compile regular expression\n");
return -1;
}
......@@ -678,14 +674,14 @@ int parser_auth(struct table *t, const char *filename)
if (fgets(buf, 1024, file) == NULL)
return -1;
len = strlen(buf);
if (ftell(file) == end) {
if (ftell(file) == end)
done = 1;
}
if (len) {
r = regexec(&mask_rex, buf, 4, match, 0);
if (r == REG_NOMATCH) {
} else if (r) {
fprintf(stderr, "Error matching regular expression %d in %s\n",
fprintf(stderr,
"Error matching regular expression %d in %s\n",
r, filename);
return -1;
} else {
......@@ -695,11 +691,10 @@ int parser_auth(struct table *t, const char *filename)
o = strtol(&buf[match[1].rm_so], NULL, 16);
offset = offset_new(o);
table_offset_add(t, offset);
if (o > t->offset_max) {
if (o > t->offset_max)
t->offset_max = o;
}
}
}
} while (!done);
fclose(file);
if (t->offset_max < last_reg)
......@@ -712,8 +707,7 @@ int main(int argc, char *argv[])
struct table t;
if (argc != 2) {
fprintf(stderr, "Usage: %s <authfile>\n",
argv[0]);
fprintf(stderr, "Usage: %s <authfile>\n", argv[0]);
exit(1);
}
table_init(&t);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册