diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-10-19 19:04:47 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-19 19:04:47 +0200 |
commit | 3e10e879a8c334a5927d800a3663a24d562cfa31 (patch) | |
tree | 5d18bc7e38c986a044e99aa0d0a4aff4931ec7d0 /arch/powerpc/boot/dtc-src/srcpos.h | |
parent | 98d9c66ab07471006fd7910cb16453581c41a3e7 (diff) | |
parent | 0cfd81031a26717fe14380d18275f8e217571615 (diff) |
Merge branch 'linus' into tracing-v28-for-linus-v3
Conflicts:
init/main.c
kernel/module.c
scripts/bootgraph.pl
Diffstat (limited to 'arch/powerpc/boot/dtc-src/srcpos.h')
-rw-r--r-- | arch/powerpc/boot/dtc-src/srcpos.h | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/arch/powerpc/boot/dtc-src/srcpos.h b/arch/powerpc/boot/dtc-src/srcpos.h index ce7ab5ba5b4..e17c7c04db8 100644 --- a/arch/powerpc/boot/dtc-src/srcpos.h +++ b/arch/powerpc/boot/dtc-src/srcpos.h @@ -22,13 +22,21 @@ * array of all opened filenames. */ +#include <stdio.h> + +struct dtc_file { + char *dir; + const char *name; + FILE *file; +}; + #if ! defined(YYLTYPE) && ! defined(YYLTYPE_IS_DECLARED) typedef struct YYLTYPE { int first_line; int first_column; int last_line; int last_column; - int filenum; + struct dtc_file *file; } YYLTYPE; #define YYLTYPE_IS_DECLARED 1 @@ -48,7 +56,7 @@ typedef struct YYLTYPE { (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ - (Current).filenum = YYRHSLOC (Rhs, N).filenum; \ + (Current).file = YYRHSLOC (Rhs, N).file; \ } \ else \ { \ @@ -56,20 +64,22 @@ typedef struct YYLTYPE { YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ - (Current).filenum = YYRHSLOC (Rhs, 0).filenum; \ + (Current).file = YYRHSLOC (Rhs, 0).file; \ } \ while (YYID (0)) extern void yyerror(char const *); +extern void yyerrorf(char const *, ...) __attribute__((format(printf, 1, 2))); -extern int srcpos_filenum; +extern struct dtc_file *srcpos_file; -extern int push_input_file(const char *filename); -extern int pop_input_file(void); +struct search_path { + const char *dir; /* NULL for current directory */ + struct search_path *prev, *next; +}; -extern FILE *dtc_open_file(const char *fname); -extern int lookup_file_name(const char *fname, int add_it); -extern const char *srcpos_filename_for_num(int filenum); -const char *srcpos_get_filename(void); +extern struct dtc_file *dtc_open_file(const char *fname, + const struct search_path *search); +extern void dtc_close_file(struct dtc_file *file); |