scripts/dtc: Update to upstream version v1.4.7-57-gf267e674d145
Subsystems (2)
Rob Herring
maintainerPATCH 1/3 scripts/dtc: Update to upstream version v1.4.7-57-gf267e674d145
This adds the following commits from upstream:
f267e674d145 checks: Fix crash with multiple source annotations 3616b9a811b6 checks: Use source position information for check failures 2bdbd07a1223 checks: Make each message output atomica1eff70c02cf util: Add xa{v}sprintf_append functions82a52ce4573b libfdt: Add a test for fdt_getprop_by_offset() 607b8586b383 PEP8 / Flake8 cleanups for setup.pyf9c0a425b648 Remove broken objdir / srcdir support5182b5e6f28c pylibfdt: Use common PREFIX variabled45bf1f5f2a6 Refine make tests_clean target99284c4db9cb Refine pylibfdt_clean targeta4629cfaedfb Refine libfdt_clean target08380fc43aa2 tests: Use modern octal literals for Python8113c00b99d3 pylibfdt: Allow switch to Python 3 via environment variable PYTHON 11738cf01f15 libfdt: Don't use memcpy to handle unaligned reads on ARM 86a288a73670 checks: Restructure check_msg to decrease indentation 5667e7ef9a9a annotations: add the annotation functionality 8e20ccf52f90 annotations: add positionsca930e20bb54 tests: Don't lose errors from make checkm43366bb4eeee tests: Property count valgrind errors in wrapped tests 5062516fb8cb srcpos: Remove srcpos_emptya3143fafbf83 Revert "annotations: add positions"403cc79f06a1 checks: Update SPI bus check for 'spi-slave'baa1d2cf7894 annotations: add positionsff2ad38f6a5a Merge remote-tracking branch 'origin/pr/18'aa7254d9cb17 libfdt: return correct value if #size-cells property is not present 49903aed7783 use ptrdiff_t modifier for printing pointer differences da2b691ccf68 treesource: Fix dts output for phandles in middle of a sequence of ints 8f8b77a0d62d tests: Wrap check_align() calls with base_run_test() 522d81d572f2 Fix dts output with a REF_PATH markere45198c98359 Added test cases for target references0fcffda15e9f Merge nodes with local target label references 1e4a0928f3b3 pylibfdt: Don't have setup.py depend on where it's invoked from ca399b14956f pylibfdt: Eliminate run_setup make function98972f1b3e33 pylibfdt: Improved version extraction7ba2be6cda5f pylibfdt: Don't silence setup.py when V=17691f9d39301 pylibfdt: Make SETUP make variable855b9963def9 pylibfdt: Simpler CFLAGS handling47cafbeeb977 pylibfdt: Link extension module with libfdt rather than rebuilding dd695d6afb19 pylibfdt: Correctly set build output directory 59327523d0d8 pylibfdt: We don't need include files from the base directory e84742aa7b93 checks: fix simple-bus compatible matching8c59a97ce096 Fix missing labels when emitting dts formatd448f9a5fd94 Revert dts output formatting changes of spaces around brackets
--- scripts/dtc/checks.c | 73 +++++++++++--- scripts/dtc/dtc-lexer.l | 4 +- scripts/dtc/dtc-parser.y | 52 +++++++--- scripts/dtc/dtc.c | 11 ++- scripts/dtc/dtc.h | 11 ++- scripts/dtc/flattree.c | 4 +- scripts/dtc/fstree.c | 5 +- scripts/dtc/libfdt/Makefile.libfdt | 4 + scripts/dtc/libfdt/fdt_addresses.c | 16 ++- scripts/dtc/libfdt/libfdt.h | 24 +++-- scripts/dtc/livetree.c | 33 ++++--- scripts/dtc/srcpos.c | 153 ++++++++++++++++++++++++++--- scripts/dtc/srcpos.h | 14 +-- scripts/dtc/treesource.c | 115 ++++++++++++++-------- scripts/dtc/util.c | 60 +++++++---- scripts/dtc/util.h | 2 + scripts/dtc/version_gen.h | 2 +- 17 files changed, 436 insertions(+), 147 deletions(-)
scripts/dtc/checks.c +57 -16
@@ -19,6 +19,7 @@*/ #include "dtc.h" +#include "srcpos.h" #ifdef TRACE_CHECKS #define TRACE (c, ...) \
@@ -78,23 +79,56 @@ static inline void PRINTF(5, 6) check_msg(struct check *c, struct dt_info *dti, const char *fmt, ...) {va_list ap; -va_start (ap, fmt); +char *str =NULL ; +struct srcpos *pos =NULL ; +char *file_str; + +if (!(c->warn && (quiet <1 )) && !(c->error && (quiet <2 ))) +return ; + +if (prop && prop->srcpos) + pos = prop->srcpos; +else if (node && node->srcpos) + pos = node->srcpos; + +if (pos) { + file_str =srcpos_string (pos); +xasprintf (&str,"%s" , file_str); +free (file_str); + }else if (streq (dti->outname,"-" )) { +xasprintf (&str,"<stdout>" ); + }else { +xasprintf (&str,"%s" , dti->outname); + } -if ((c->warn && (quiet <1 )) - || (c->error && (quiet <2 ))) { -fprintf (stderr,"%s: %s (%s): " , -strcmp (dti->outname,"-" ) ? dti->outname :"<stdout>" , +xasprintf_append (&str,": %s (%s): " , (c->error) ?"ERROR" :"Warning" , c->name); -if (node) { -fprintf (stderr,"%s" , node->fullpath); -if (prop) -fprintf (stderr,":%s" , prop->name); -fputs (": " , stderr); - } -vfprintf (stderr, fmt, ap); -fprintf (stderr,"\n" ); + +if (node) { +if (prop) +xasprintf_append (&str,"%s:%s: " , node->fullpath, prop->name); +else +xasprintf_append (&str,"%s: " , node->fullpath); } + +va_start (ap, fmt); +xavsprintf_append (&str, fmt, ap);va_end (ap); + +xasprintf_append (&str,"\n" ); + +if (!prop && pos) { + pos = node->srcpos; +while (pos->next) { + pos = pos->next; + + file_str =srcpos_string (pos); +xasprintf_append (&str," also defined at %s\n" , file_str); +free (file_str); + } + } + +fputs (str, stderr); }#define FAIL (c, dti, node, ...) \
@@ -910,7 +944,7 @@ static bool node_is_compatible(struct node *node, const char *compat)for (str = prop->val.val, end = str + prop->val.len; str < end; str +=strnlen (str, end - str) +1 ) { -if (strprefixeq (str, end - str, compat)) +if (streq (str, compat))return true; }return false;
@@ -921,7 +955,8 @@ static void check_simple_bus_bridge(struct check *c, struct dt_info *dti, structif (node_is_compatible (node,"simple-bus" )) node->bus = &simple_bus; } -WARNING (simple_bus_bridge, check_simple_bus_bridge,NULL , &addr_size_cells); +WARNING (simple_bus_bridge, check_simple_bus_bridge,NULL , + &addr_size_cells, &compatible_is_string_list);static void check_simple_bus_reg (struct check *c,struct dt_info *dti,struct node *node) {
@@ -1035,6 +1070,7 @@ static const struct bus_type spi_bus = {static void check_spi_bus_bridge (struct check *c,struct dt_info *dti,struct node *node) { +int spi_addr_cells =1 ;if (strprefixeq (node->name, node->basenamelen,"spi" )) { node->bus = &spi_bus;
@@ -1063,7 +1099,9 @@ static void check_spi_bus_bridge(struct check *c, struct dt_info *dti, struct noif (node->bus != &spi_bus || !node->children)return ; -if (node_addr_cells (node) !=1 ) +if (get_property (node,"spi-slave" )) + spi_addr_cells =0 ; +if (node_addr_cells (node) != spi_addr_cells)FAIL (c, dti, node,"incorrect #address-cells for SPI bus" );if (node_size_cells (node) !=0 )FAIL (c, dti, node,"incorrect #size-cells for SPI bus" );
@@ -1082,6 +1120,9 @@ static void check_spi_bus_reg(struct check *c, struct dt_info *dti, struct nodeif (!node->parent || (node->parent->bus != &spi_bus))return ; +if (get_property (node->parent,"spi-slave" )) +return ; + prop =get_property (node,"reg" );if (prop) cells = (cell_t *)prop->val.val;
scripts/dtc/dtc-lexer.l +2 -2
@@ -213,14 +213,14 @@ static void PRINTF(1, 2) lexical_error(const char *fmt, ...); <*>\&{LABEL} { /* label reference */ DPRINT("Ref: %s\n", yytext+1); yylval.labelref = xstrdup(yytext+1); - return DT_REF; + return DT_LABEL_REF; } <*>"&{/"{PATHCHAR}*\} { /* new-style path reference */ yytext[yyleng-1] = '\0'; DPRINT("Ref: %s\n", yytext+2); yylval.labelref = xstrdup(yytext+2); - return DT_REF; + return DT_PATH_REF; } <BYTESTRING>[0-9a-fA-F]{2} {
scripts/dtc/dtc-parser.y +39 -13
134 lines not on this page · raw message
scripts/dtc/dtc.c +10 -1
@@ -35,6 +35,8 @@ int phandle_format = PHANDLE_EPAPR; /* Use linux,phandle or phandle properties *int generate_symbols;/* enable symbols & fixup support */ int generate_fixups;/* suppress generation of fixups on symbol support */ int auto_label_aliases;/* auto generate labels -> aliases */ +int annotate;/* Level of annotation: 1 for input source location +>1 for full input source location. */ static int is_power_of_2 (int x) {
@@ -60,7 +62,7 @@ static void fill_fullpaths(struct node *tree, const char *prefix)/* Usage related data. */ static const char usage_synopsis[] ="dtc [options] <input file>" ; -static const char usage_short_opts[] ="qI:O:o:V:d:R:S:p:a:fb:i:H:sW:E:@Ahv" ; +static const char usage_short_opts[] ="qI:O:o:V:d:R:S:p:a:fb:i:H:sW:E:@AThv" ;static struct option const usage_long_opts[] = { {"quiet" , no_argument,NULL ,'q' }, {"in-format" , a_argument,NULL ,'I' },
@@ -81,6 +83,7 @@ static struct option const usage_long_opts[] = { {"error", a_argument, NULL, 'E'}, {"symbols", no_argument, NULL, '@'}, {"auto-alias", no_argument, NULL, 'A'}, + {"annotate", no_argument, NULL, 'T'}, {"help", no_argument, NULL, 'h'}, {"version", no_argument, NULL, 'v'}, {NULL, no_argument, NULL, 0x0},
@@ -117,6 +120,7 @@ static const char * const usage_opts_help[] = {"\n\tEnable/disable errors (prefix with \"no-\")" ,"\n\tEnable generation of symbols" ,"\n\tEnable auto-alias of labels" , +"\n\tAnnotate output .dts with input source file and line (-T -T for more details)" ,"\n\tPrint this help and exit" ,"\n\tPrint version and exit" , NULL,
@@ -264,6 +268,9 @@ int main(int argc, char *argv[])case 'A' : auto_label_aliases =1 ;break ; +case 'T' : + annotate++; +break ;case 'h' :usage (NULL );
@@ -302,6 +309,8 @@ int main(int argc, char *argv[]) outform ="dts" ; } } +if (annotate && (!streq (inform,"dts" ) || !streq (outform,"dts" ))) +die ("--annotate requires -I dts -O dts\n" );if (streq (inform,"dts" )) dti =dt_from_source (arg);else if (streq (inform,"fs" ))
scripts/dtc/dtc.h +8 -3
@@ -58,6 +58,7 @@ extern int phandle_format; /* Use linux,phandle or phandle properties */extern int generate_symbols;/* generate symbols for nodes with labels */ extern int generate_fixups;/* generate fixups */ extern int auto_label_aliases;/* auto generate labels -> aliases */ +extern int annotate;/* annotate .dts with input source location */ #define PHANDLE_LEGACY 0x1#define PHANDLE_EPAPR 0x2
@@ -158,6 +159,7 @@ struct property {struct property *next;struct label *labels; +struct srcpos *srcpos; };struct node {
@@ -177,6 +179,7 @@ struct node {struct label *labels;const struct bus_type *bus; +struct srcpos *srcpos;bool omit_if_unused, is_referenced; };
@@ -205,13 +208,15 @@ struct node {void add_label (struct label **labels,char *label);void delete_labels (struct label **labels); -struct property *build_property (char *name,struct data val); +struct property *build_property (char *name,struct data val, +struct srcpos *srcpos);struct property *build_property_delete (char *name);struct property *chain_property (struct property *first,struct property *list);struct property *reverse_properties (struct property *first); -struct node *build_node (struct property *proplist,struct node *children); -struct node *build_node_delete (void ); +struct node *build_node (struct property *proplist,struct node *children, +struct srcpos *srcpos); +struct node *build_node_delete (struct srcpos *srcpos);struct node *name_node (struct node *node,char *name);struct node *omit_node_if_unused (struct node *node);struct node *reference_node (struct node *node);
scripts/dtc/flattree.c +2 -2
@@ -692,7 +692,7 @@ static struct property *flat_read_property(struct inbuf *dtbuf, val =flat_read_data (dtbuf, proplen); -return build_property (name, val); +return build_property (name, val,NULL ); }
@@ -750,7 +750,7 @@ static struct node *unflatten_tree(struct inbuf *dtbuf,char *flatname;uint32_t val; - node =build_node (NULL ,NULL ); + node =build_node (NULL ,NULL ,NULL ); flatname =flat_read_string (dtbuf);
scripts/dtc/fstree.c +3 -2
@@ -34,7 +34,7 @@ static struct node *read_fstree(const char *dirname)if (!d)die ("Couldn't opendir() \"%s\": %s\n" , dirname,strerror (errno)); - tree =build_node (NULL ,NULL ); + tree =build_node (NULL ,NULL ,NULL );while ((de =readdir (d)) !=NULL ) {char *tmpname;
@@ -60,7 +60,8 @@ static struct node *read_fstree(const char *dirname) }else { prop =build_property (xstrdup (de->d_name),data_copy_file (pfile, - st.st_size)); + st.st_size), +NULL );add_property (tree, prop);fclose (pfile); }
scripts/dtc/libfdt/Makefile.libfdt +4 -0
@@ -9,3 +9,7 @@ LIBFDT_VERSION = version.lds LIBFDT_SRCS = fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c fdt_empty_tree.c \ fdt_addresses.c fdt_overlay.c LIBFDT_OBJS = $(LIBFDT_SRCS:%.c=%.o) + +libfdt_clean: + @$(VECHO) CLEAN "(libfdt)" + rm -f $(STD_CLEANFILES:%=$(LIBFDT_dir)/%)
scripts/dtc/libfdt/fdt_addresses.c +13 -3
@@ -64,7 +64,7 @@ static int fdt_cells(const void *fdt, int nodeoffset, const char *name) c =fdt_getprop (fdt, nodeoffset, name, &len);if (!c) -return 2 ; +return len;if (len !=sizeof (*c))return -FDT_ERR_BADNCELLS ;
@@ -78,10 +78,20 @@ static int fdt_cells(const void *fdt, int nodeoffset, const char *name)int fdt_address_cells (const void *fdt,int nodeoffset) { -return fdt_cells (fdt, nodeoffset,"#address-cells" ); +int val; + + val =fdt_cells (fdt, nodeoffset,"#address-cells" ); +if (val == -FDT_ERR_NOTFOUND ) +return 2 ; +return val; }int fdt_size_cells (const void *fdt,int nodeoffset) { -return fdt_cells (fdt, nodeoffset,"#size-cells" ); +int val; + + val =fdt_cells (fdt, nodeoffset,"#size-cells" ); +if (val == -FDT_ERR_NOTFOUND ) +return 1 ; +return val; }
scripts/dtc/libfdt/libfdt.h +16 -8
@@ -163,18 +163,26 @@ uint32_t fdt_next_tag(const void *fdt, int offset, int *nextoffset);static inline uint32_t fdt32_ld (const fdt32_t *p) { -fdt32_t v; +const uint8_t *bp = (const uint8_t *)p; -memcpy (&v, p,sizeof (v)); -return fdt32_to_cpu (v); +return ((uint32_t )bp[0 ] <<24 ) + | ((uint32_t )bp[1 ] <<16 ) + | ((uint32_t )bp[2 ] <<8 ) + | bp[3 ]; }static inline uint64_t fdt64_ld (const fdt64_t *p) { -fdt64_t v; - -memcpy (&v, p,sizeof (v)); -return fdt64_to_cpu (v); +const uint8_t *bp = (const uint8_t *)p; + +return ((uint64_t )bp[0 ] <<56 ) + | ((uint64_t )bp[1 ] <<48 ) + | ((uint64_t )bp[2 ] <<40 ) + | ((uint64_t )bp[3 ] <<32 ) + | ((uint64_t )bp[4 ] <<24 ) + | ((uint64_t )bp[5 ] <<16 ) + | ((uint64_t )bp[6 ] <<8 ) + | bp[7 ]; }/**********************************************************************/
@@ -1145,7 +1153,7 @@ int fdt_address_cells(const void *fdt, int nodeoffset);* * returns: * 0 <= n < FDT_MAX_NCELLS, on success -* 2, if the node has no #size-cells property +* 1, if the node has no #size-cells property * -FDT_ERR_BADNCELLS, if the node has a badly formatted or invalid * #size-cells property * -FDT_ERR_BADMAGIC,
scripts/dtc/livetree.c +22 -11
@@ -19,6 +19,7 @@*/ #include "dtc.h" +#include "srcpos.h" /* * Tree building functions
@@ -50,7 +51,8 @@ void delete_labels(struct label **labels) label->deleted =1 ; } -struct property *build_property (char *name,struct data val) +struct property *build_property (char *name,struct data val, +struct srcpos *srcpos) {struct property *new =xmalloc (sizeof (*new));
@@ -58,6 +60,7 @@ struct property *build_property(char *name, struct data val) new->name = name; new->val = val; + new->srcpos =srcpos_copy (srcpos);return new; }
@@ -97,7 +100,8 @@ struct property *reverse_properties(struct property *first)return head; } -struct node *build_node (struct property *proplist,struct node *children) +struct node *build_node (struct property *proplist,struct node *children, +struct srcpos *srcpos) {struct node *new =xmalloc (sizeof (*new));struct node *child;
@@ -106,6 +110,7 @@ struct node *build_node(struct property *proplist, struct node *children) new->proplist =reverse_properties (proplist); new->children = children; + new->srcpos =srcpos_copy (srcpos);for_each_child (new, child) { child->parent = new;
@@ -114,13 +119,14 @@ struct node *build_node(struct property *proplist, struct node *children)return new; } -struct node *build_node_delete (void ) +struct node *build_node_delete (struct srcpos *srcpos) {struct node *new =xmalloc (sizeof (*new));memset (new,0 ,sizeof (*new)); new->deleted =1 ; + new->srcpos =srcpos_copy (srcpos);return new; }
@@ -183,6 +189,8 @@ struct node *merge_nodes(struct node *old_node, struct node *new_node) old_prop->val = new_prop->val; old_prop->deleted =0 ; +free (old_prop->srcpos); + old_prop->srcpos = new_prop->srcpos;free (new_prop); new_prop =NULL ;break ;
@@ -223,6 +231,8 @@ struct node *merge_nodes(struct node *old_node, struct node *new_node)add_child (old_node, new_child); } + old_node->srcpos =srcpos_extend (old_node->srcpos, new_node->srcpos); +/* The new node contents are now merged into the old node. Free * the new node. */ free (new_node);
@@ -241,18 +251,18 @@ struct node * add_orphan_node(struct node *dt, struct node *new_node, char *ref)if (ref[0 ] =='/' ) { d =data_append_data (d, ref,strlen (ref) +1 ); - p =build_property ("target-path" , d); + p =build_property ("target-path" , d,NULL ); }else { d =data_add_marker (d,REF_PHANDLE , ref); d =data_append_integer (d,0xffffffff ,32 ); - p =build_property ("target" , d); + p =build_property ("target" , d,NULL ); }xasprintf (&name,"fragment@%u" , next_orphan_fragment++);name_node (new_node,"__overlay__" ); - node =build_node (p, new_node); + node =build_node (p, new_node,NULL );name_node (node, name);add_child (dt, node);
@@ -351,7 +361,7 @@ void append_to_property(struct node *node, p->val = d; }else { d =data_append_data (empty_data, data, len); - p =build_property (name, d); + p =build_property (name, d,NULL );add_property (node, p); } }
@@ -609,11 +619,11 @@ cell_t get_node_phandle(struct node *root, struct node *node)if (!get_property (node,"linux,phandle" ) && (phandle_format &PHANDLE_LEGACY )) -add_property (node,build_property ("linux,phandle" , d)); +add_property (node,build_property ("linux,phandle" , d,NULL ));if (!get_property (node,"phandle" ) && (phandle_format &PHANDLE_EPAPR )) -add_property (node,build_property ("phandle" , d)); +add_property (node,build_property ("phandle" , d,NULL ));/* If the node *does* have a phandle property, we must * be dealing with a self-referencing phandle, which will be
@@ -787,7 +797,7 @@ static struct node *build_and_name_child_node(struct node *parent, char *name) {struct node *node; - node =build_node (NULL ,NULL ); + node =build_node (NULL ,NULL ,NULL );name_node (node,xstrdup (name));add_child (parent, node);
@@ -849,7 +859,8 @@ static void generate_label_tree_internal(struct dt_info *dti,/* insert it */ p =build_property (l->label,data_copy_mem (node->fullpath, -strlen (node->fullpath) +1 )); +strlen (node->fullpath) +1 ), +NULL );add_property (an, p); }
scripts/dtc/srcpos.c +138 -15
202 lines not on this page · raw message
scripts/dtc/srcpos.h +7 -7
@@ -74,6 +74,7 @@ struct srcpos {int last_line;int last_column;struct srcfile_state *file; +struct srcpos *next; };#define YYLTYPE struct srcpos
@@ -93,19 +94,18 @@ struct srcpos {YYRHSLOC (Rhs,0 ).last_column; \ (Current).file =YYRHSLOC (Rhs,0 ).file; \ } \ + (Current).next =NULL ; \ }while (0 ) -/* -* Fictional source position used for IR nodes that are -* created without otherwise knowing a true source position. -* For example,constant definitions from the command line. -*/ -extern struct srcpos srcpos_empty; - extern void srcpos_update(struct srcpos *pos, const char *text, int len);extern struct srcpos *srcpos_copy (struct srcpos *pos); +extern struct srcpos *srcpos_extend (struct srcpos *new_srcpos, +struct srcpos *old_srcpos);extern char *srcpos_string (struct srcpos *pos); +extern char *srcpos_string_first (struct srcpos *pos,int level); +extern char *srcpos_string_last (struct srcpos *pos,int level); + extern void PRINTF(3, 0) srcpos_verror(struct srcpos *pos, const char *prefix, const char *fmt, va_list va);
scripts/dtc/treesource.c +73 -42
191 lines not on this page · raw message
scripts/dtc/util.c +39 -21
75 lines not on this page · raw message
scripts/dtc/util.h +2 -0
@@ -72,6 +72,8 @@ static inline void *xrealloc(void *p, size_t len)extern char *xstrdup (const char *s); extern int PRINTF(2, 3) xasprintf(char **strp, const char *fmt, ...); +extern int PRINTF(2, 3) xasprintf_append(char **strp, const char *fmt, ...); +extern int xavsprintf_append(char **strp, const char *fmt, va_list ap); extern char *join_path(const char *path, const char *name); /**
scripts/dtc/version_gen.h +1 -1
@@ -1 +1 @@ -#define DTC_VERSION "DTC 1.4.7-gc86da84d" +#define DTC_VERSION "DTC 1.4.7-gf267e674"
Signature · 1 line
2.19.1
Rob Herring
maintainerPATCH 2/3 kbuild: disable dtc simple_bus_reg warnings by default
The updated version of dtc has a bug fix for simple_bus_reg warnings and lots of warnings are generated now. So disable this warning by default.
--- scripts/Makefile.lib | 1 + 1 file changed, 1 insertion(+)
scripts/Makefile.lib +1 -0
@@ -252,6 +252,7 @@ DTC_FLAGS += -Wno-unit_address_vs_reg \ -Wno-alias_paths \ -Wno-graph_child_address \ -Wno-graph_port \ + -Wno-simple_bus_reg \ -Wno-unique_unit_address \ -Wno-pci_device_reg endif
Signature · 1 line
2.19.1
Rob Herring
maintainerPATCH 3/3 kbuild: Enable dtc graph_port warning by default
In reply to Rob HerringAll the 'graph_port' warnings have been fixed or have pending fixes, so we can enable it by default now.
--- scripts/Makefile.lib | 1 - 1 file changed, 1 deletion(-)
scripts/Makefile.lib +0 -1
@@ -251,7 +251,6 @@ DTC_FLAGS += -Wno-unit_address_vs_reg \ -Wno-avoid_unnecessary_addr_size \ -Wno-alias_paths \ -Wno-graph_child_address \ - -Wno-graph_port \ -Wno-simple_bus_reg \ -Wno-unique_unit_address \ -Wno-pci_device_reg
Signature · 1 line
2.19.1