sconfig: Add a new generic device type
Add support for a basic generic device in the devicetree to bind to a device that does not have a specific bus, but may need to be described in tables for the operating system. For instance some chips may have various GPIO connections that need described but do not fall under any other device. In order to support this export the basic 'scan_static_bus()' that can be used in a device_operations->scan_bus() method to scan for the generic devices. It has been possible to get a semi-generic device by using a fake PNP device, but that isn't really appropriate for many devices. Also Re-generate the shipped files for sconfig. Use flex 2.6.0 to avoid everything being rewritten. Clean up the local paths that leak into the generated configs. Change-Id: If45a5b18825bdb2cf1e4ba4297ee426cbd1678e3 Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-on: https://review.coreboot.org/14789 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Leroy P Leahy <leroy.p.leahy@intel.com>
This commit is contained in:
committed by
Duncan Laurie
parent
b7ce5fe311
commit
4650f5baff
@@ -373,8 +373,8 @@ static void yy_fatal_error (yyconst char msg[] );
|
||||
*yy_cp = '\0'; \
|
||||
(yy_c_buf_p) = yy_cp;
|
||||
|
||||
#define YY_NUM_RULES 31
|
||||
#define YY_END_OF_BUFFER 32
|
||||
#define YY_NUM_RULES 33
|
||||
#define YY_END_OF_BUFFER 34
|
||||
/* This struct is not used in this scanner,
|
||||
but its presence is necessary. */
|
||||
struct yy_trans_info
|
||||
@@ -382,21 +382,22 @@ struct yy_trans_info
|
||||
flex_int32_t yy_verify;
|
||||
flex_int32_t yy_nxt;
|
||||
};
|
||||
static yyconst flex_int16_t yy_accept[116] =
|
||||
static yyconst flex_int16_t yy_accept[130] =
|
||||
{ 0,
|
||||
0, 0, 32, 30, 1, 3, 30, 30, 30, 26,
|
||||
26, 24, 27, 30, 27, 27, 27, 30, 30, 30,
|
||||
30, 30, 30, 30, 1, 3, 30, 0, 30, 0,
|
||||
2, 26, 27, 30, 30, 30, 30, 27, 30, 30,
|
||||
30, 30, 30, 19, 30, 30, 30, 7, 30, 30,
|
||||
30, 30, 29, 29, 25, 30, 30, 15, 30, 30,
|
||||
18, 23, 12, 30, 30, 17, 30, 8, 9, 11,
|
||||
30, 30, 28, 4, 30, 30, 30, 30, 30, 30,
|
||||
30, 30, 30, 30, 30, 30, 30, 13, 30, 30,
|
||||
30, 5, 16, 30, 10, 30, 30, 30, 21, 30,
|
||||
0, 0, 34, 32, 1, 3, 32, 32, 32, 27,
|
||||
27, 25, 28, 32, 28, 28, 28, 32, 32, 32,
|
||||
32, 32, 32, 32, 32, 1, 3, 32, 0, 32,
|
||||
32, 0, 2, 27, 28, 32, 32, 32, 32, 28,
|
||||
32, 32, 32, 32, 32, 32, 20, 32, 32, 32,
|
||||
7, 32, 32, 32, 32, 31, 31, 32, 0, 26,
|
||||
32, 32, 15, 32, 32, 19, 24, 32, 12, 32,
|
||||
32, 18, 32, 8, 9, 11, 32, 32, 32, 0,
|
||||
29, 4, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
32, 30, 30, 32, 32, 32, 32, 32, 32, 13,
|
||||
|
||||
30, 30, 30, 30, 6, 30, 30, 30, 30, 30,
|
||||
20, 30, 14, 22, 0
|
||||
32, 32, 32, 5, 16, 32, 32, 10, 32, 32,
|
||||
32, 17, 22, 32, 32, 32, 32, 32, 6, 32,
|
||||
32, 32, 32, 32, 21, 32, 14, 23, 0
|
||||
} ;
|
||||
|
||||
static yyconst YY_CHAR yy_ec[256] =
|
||||
@@ -439,94 +440,102 @@ static yyconst YY_CHAR yy_meta[39] =
|
||||
1, 1, 1, 1, 1, 1, 1, 1
|
||||
} ;
|
||||
|
||||
static yyconst flex_uint16_t yy_base[121] =
|
||||
static yyconst flex_uint16_t yy_base[137] =
|
||||
{ 0,
|
||||
0, 0, 181, 0, 178, 182, 176, 37, 41, 38,
|
||||
141, 0, 44, 163, 54, 78, 60, 45, 159, 42,
|
||||
47, 154, 139, 0, 171, 182, 77, 167, 69, 168,
|
||||
182, 0, 82, 104, 155, 144, 133, 93, 140, 135,
|
||||
145, 145, 139, 145, 130, 130, 137, 0, 133, 127,
|
||||
133, 137, 0, 182, 0, 143, 123, 136, 126, 133,
|
||||
0, 0, 0, 128, 118, 0, 122, 0, 0, 0,
|
||||
121, 112, 0, 0, 125, 124, 117, 109, 115, 120,
|
||||
105, 90, 101, 99, 91, 93, 98, 0, 80, 76,
|
||||
73, 0, 0, 72, 89, 83, 69, 65, 0, 72,
|
||||
0, 0, 200, 0, 197, 201, 195, 37, 41, 38,
|
||||
160, 0, 44, 182, 54, 78, 60, 174, 45, 177,
|
||||
42, 47, 172, 157, 0, 189, 201, 77, 185, 87,
|
||||
69, 186, 201, 0, 86, 104, 173, 162, 151, 93,
|
||||
158, 153, 163, 154, 162, 156, 162, 147, 147, 154,
|
||||
0, 150, 144, 150, 154, 0, 201, 101, 166, 0,
|
||||
159, 139, 152, 142, 149, 0, 0, 144, 0, 143,
|
||||
133, 0, 137, 0, 0, 0, 136, 127, 154, 153,
|
||||
0, 0, 138, 137, 130, 122, 121, 127, 132, 117,
|
||||
111, 0, 201, 122, 126, 118, 120, 119, 124, 0,
|
||||
|
||||
64, 74, 60, 61, 0, 65, 62, 50, 51, 33,
|
||||
0, 28, 0, 0, 182, 40, 129, 131, 133, 135
|
||||
108, 95, 92, 0, 0, 101, 85, 102, 96, 80,
|
||||
76, 0, 0, 83, 73, 77, 63, 64, 0, 64,
|
||||
62, 50, 51, 33, 0, 28, 0, 0, 201, 40,
|
||||
129, 131, 133, 135, 137, 139
|
||||
} ;
|
||||
|
||||
static yyconst flex_int16_t yy_def[121] =
|
||||
static yyconst flex_int16_t yy_def[137] =
|
||||
{ 0,
|
||||
115, 1, 115, 116, 115, 115, 116, 117, 118, 116,
|
||||
10, 116, 10, 116, 10, 10, 10, 116, 116, 116,
|
||||
116, 116, 116, 116, 115, 115, 117, 119, 118, 120,
|
||||
115, 10, 10, 10, 116, 116, 116, 10, 116, 116,
|
||||
116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
|
||||
116, 116, 116, 115, 34, 116, 116, 116, 116, 116,
|
||||
116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
|
||||
116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
|
||||
116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
|
||||
116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
|
||||
129, 1, 129, 130, 129, 129, 130, 131, 132, 130,
|
||||
10, 130, 10, 130, 10, 10, 10, 130, 130, 130,
|
||||
130, 130, 130, 130, 130, 129, 129, 131, 133, 134,
|
||||
132, 135, 129, 10, 10, 10, 130, 130, 130, 10,
|
||||
130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
|
||||
130, 130, 130, 130, 130, 130, 129, 134, 136, 36,
|
||||
130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
|
||||
130, 130, 130, 130, 130, 130, 130, 130, 130, 129,
|
||||
130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
|
||||
130, 130, 129, 130, 130, 130, 130, 130, 130, 130,
|
||||
|
||||
116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
|
||||
116, 116, 116, 116, 0, 115, 115, 115, 115, 115
|
||||
130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
|
||||
130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
|
||||
130, 130, 130, 130, 130, 130, 130, 130, 0, 129,
|
||||
129, 129, 129, 129, 129, 129
|
||||
} ;
|
||||
|
||||
static yyconst flex_uint16_t yy_nxt[221] =
|
||||
static yyconst flex_uint16_t yy_nxt[240] =
|
||||
{ 0,
|
||||
4, 5, 6, 7, 8, 9, 10, 11, 10, 12,
|
||||
13, 13, 14, 4, 4, 4, 13, 13, 15, 16,
|
||||
17, 13, 4, 4, 18, 19, 4, 4, 20, 21,
|
||||
4, 22, 23, 4, 4, 4, 4, 4, 28, 28,
|
||||
24, 24, 30, 31, 32, 32, 32, 114, 33, 33,
|
||||
33, 33, 33, 42, 33, 33, 33, 33, 33, 33,
|
||||
33, 33, 33, 47, 113, 49, 33, 33, 33, 48,
|
||||
30, 31, 43, 44, 50, 112, 45, 36, 28, 28,
|
||||
111, 53, 110, 37, 33, 33, 33, 41, 33, 33,
|
||||
33, 109, 108, 107, 106, 105, 104, 103, 38, 33,
|
||||
17, 13, 18, 4, 19, 20, 4, 4, 21, 22,
|
||||
4, 23, 24, 4, 4, 4, 4, 4, 29, 29,
|
||||
25, 30, 32, 33, 34, 34, 34, 128, 35, 35,
|
||||
35, 35, 35, 45, 35, 35, 35, 35, 35, 35,
|
||||
35, 35, 35, 50, 127, 52, 35, 35, 35, 51,
|
||||
32, 33, 46, 47, 53, 126, 48, 38, 29, 29,
|
||||
125, 56, 124, 39, 35, 35, 35, 43, 59, 59,
|
||||
123, 25, 35, 35, 35, 122, 121, 120, 40, 35,
|
||||
|
||||
33, 33, 102, 101, 100, 99, 39, 98, 97, 40,
|
||||
55, 55, 55, 96, 55, 55, 95, 94, 93, 92,
|
||||
55, 55, 55, 55, 55, 55, 91, 90, 59, 27,
|
||||
27, 29, 29, 28, 28, 30, 30, 89, 88, 87,
|
||||
86, 85, 84, 83, 82, 81, 80, 79, 78, 77,
|
||||
76, 75, 74, 73, 72, 71, 70, 69, 68, 67,
|
||||
66, 65, 64, 63, 62, 61, 60, 58, 57, 56,
|
||||
31, 54, 25, 52, 51, 46, 35, 34, 26, 25,
|
||||
115, 3, 115, 115, 115, 115, 115, 115, 115, 115,
|
||||
115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
|
||||
35, 35, 59, 59, 119, 79, 41, 118, 117, 42,
|
||||
60, 60, 60, 116, 60, 60, 115, 114, 113, 112,
|
||||
60, 60, 60, 60, 60, 60, 111, 110, 64, 28,
|
||||
28, 31, 31, 29, 29, 58, 58, 32, 32, 59,
|
||||
59, 109, 108, 107, 106, 105, 104, 103, 102, 101,
|
||||
100, 99, 98, 97, 96, 95, 94, 93, 92, 91,
|
||||
90, 89, 88, 87, 86, 85, 84, 83, 82, 81,
|
||||
80, 78, 77, 76, 75, 74, 73, 72, 71, 70,
|
||||
69, 68, 67, 66, 65, 63, 62, 61, 33, 57,
|
||||
26, 55, 54, 49, 44, 37, 36, 27, 26, 129,
|
||||
|
||||
115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
|
||||
115, 115, 115, 115, 115, 115, 115, 115, 115, 115
|
||||
3, 129, 129, 129, 129, 129, 129, 129, 129, 129,
|
||||
129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
|
||||
129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
|
||||
129, 129, 129, 129, 129, 129, 129, 129, 129
|
||||
} ;
|
||||
|
||||
static yyconst flex_int16_t yy_chk[221] =
|
||||
static yyconst flex_int16_t yy_chk[240] =
|
||||
{ 0,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 8, 8,
|
||||
116, 8, 9, 9, 10, 10, 10, 112, 10, 10,
|
||||
13, 13, 13, 18, 10, 10, 10, 10, 10, 10,
|
||||
15, 15, 15, 20, 110, 21, 17, 17, 17, 20,
|
||||
29, 29, 18, 18, 21, 109, 18, 15, 27, 27,
|
||||
108, 27, 107, 15, 16, 16, 16, 17, 33, 33,
|
||||
33, 106, 104, 103, 102, 101, 100, 98, 16, 38,
|
||||
130, 8, 9, 9, 10, 10, 10, 126, 10, 10,
|
||||
13, 13, 13, 19, 10, 10, 10, 10, 10, 10,
|
||||
15, 15, 15, 21, 124, 22, 17, 17, 17, 21,
|
||||
31, 31, 19, 19, 22, 123, 19, 15, 28, 28,
|
||||
122, 28, 121, 15, 16, 16, 16, 17, 30, 30,
|
||||
120, 30, 35, 35, 35, 118, 117, 116, 16, 40,
|
||||
|
||||
38, 38, 97, 96, 95, 94, 16, 91, 90, 16,
|
||||
34, 34, 34, 89, 34, 34, 87, 86, 85, 84,
|
||||
34, 34, 34, 34, 34, 34, 83, 82, 38, 117,
|
||||
117, 118, 118, 119, 119, 120, 120, 81, 80, 79,
|
||||
78, 77, 76, 75, 72, 71, 67, 65, 64, 60,
|
||||
59, 58, 57, 56, 52, 51, 50, 49, 47, 46,
|
||||
45, 44, 43, 42, 41, 40, 39, 37, 36, 35,
|
||||
30, 28, 25, 23, 22, 19, 14, 11, 7, 5,
|
||||
3, 115, 115, 115, 115, 115, 115, 115, 115, 115,
|
||||
115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
|
||||
40, 40, 58, 58, 115, 58, 16, 114, 111, 16,
|
||||
36, 36, 36, 110, 36, 36, 109, 108, 107, 106,
|
||||
36, 36, 36, 36, 36, 36, 103, 102, 40, 131,
|
||||
131, 132, 132, 133, 133, 134, 134, 135, 135, 136,
|
||||
136, 101, 99, 98, 97, 96, 95, 94, 91, 90,
|
||||
89, 88, 87, 86, 85, 84, 83, 80, 79, 78,
|
||||
77, 73, 71, 70, 68, 65, 64, 63, 62, 61,
|
||||
59, 55, 54, 53, 52, 50, 49, 48, 47, 46,
|
||||
45, 44, 43, 42, 41, 39, 38, 37, 32, 29,
|
||||
26, 24, 23, 20, 18, 14, 11, 7, 5, 3,
|
||||
|
||||
115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
|
||||
115, 115, 115, 115, 115, 115, 115, 115, 115, 115
|
||||
129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
|
||||
129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
|
||||
129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
|
||||
129, 129, 129, 129, 129, 129, 129, 129, 129
|
||||
} ;
|
||||
|
||||
static yy_state_type yy_last_accepting_state;
|
||||
@@ -805,13 +814,13 @@ yy_match:
|
||||
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
||||
{
|
||||
yy_current_state = (int) yy_def[yy_current_state];
|
||||
if ( yy_current_state >= 116 )
|
||||
if ( yy_current_state >= 130 )
|
||||
yy_c = yy_meta[(unsigned int) yy_c];
|
||||
}
|
||||
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
|
||||
++yy_cp;
|
||||
}
|
||||
while ( yy_base[yy_current_state] != 182 );
|
||||
while ( yy_base[yy_current_state] != 201 );
|
||||
|
||||
yy_find_action:
|
||||
yy_act = yy_accept[yy_current_state];
|
||||
@@ -903,39 +912,39 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 17:
|
||||
YY_RULE_SETUP
|
||||
{yylval.number=IRQ; return(RESOURCE);}
|
||||
{yylval.number=GENERIC; return(BUS);}
|
||||
YY_BREAK
|
||||
case 18:
|
||||
YY_RULE_SETUP
|
||||
{yylval.number=DRQ; return(RESOURCE);}
|
||||
{yylval.number=IRQ; return(RESOURCE);}
|
||||
YY_BREAK
|
||||
case 19:
|
||||
YY_RULE_SETUP
|
||||
{yylval.number=IO; return(RESOURCE);}
|
||||
{yylval.number=DRQ; return(RESOURCE);}
|
||||
YY_BREAK
|
||||
case 20:
|
||||
YY_RULE_SETUP
|
||||
{return(IOAPIC_IRQ);}
|
||||
{yylval.number=IO; return(RESOURCE);}
|
||||
YY_BREAK
|
||||
case 21:
|
||||
YY_RULE_SETUP
|
||||
{return(INHERIT);}
|
||||
{return(IOAPIC_IRQ);}
|
||||
YY_BREAK
|
||||
case 22:
|
||||
YY_RULE_SETUP
|
||||
{return(SUBSYSTEMID);}
|
||||
{return(INHERIT);}
|
||||
YY_BREAK
|
||||
case 23:
|
||||
YY_RULE_SETUP
|
||||
{return(END);}
|
||||
{return(SUBSYSTEMID);}
|
||||
YY_BREAK
|
||||
case 24:
|
||||
YY_RULE_SETUP
|
||||
{return(EQUALS);}
|
||||
{return(END);}
|
||||
YY_BREAK
|
||||
case 25:
|
||||
YY_RULE_SETUP
|
||||
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
|
||||
{return(EQUALS);}
|
||||
YY_BREAK
|
||||
case 26:
|
||||
YY_RULE_SETUP
|
||||
@@ -947,18 +956,27 @@ YY_RULE_SETUP
|
||||
YY_BREAK
|
||||
case 28:
|
||||
YY_RULE_SETUP
|
||||
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(PCIINT);}
|
||||
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
|
||||
YY_BREAK
|
||||
case 29:
|
||||
/* rule 29 can match eol */
|
||||
YY_RULE_SETUP
|
||||
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(PCIINT);}
|
||||
YY_BREAK
|
||||
case 30:
|
||||
/* rule 30 can match eol */
|
||||
YY_RULE_SETUP
|
||||
{yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);}
|
||||
YY_BREAK
|
||||
case 30:
|
||||
case 31:
|
||||
/* rule 31 can match eol */
|
||||
YY_RULE_SETUP
|
||||
{yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);}
|
||||
YY_BREAK
|
||||
case 32:
|
||||
YY_RULE_SETUP
|
||||
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(STRING);}
|
||||
YY_BREAK
|
||||
case 31:
|
||||
case 33:
|
||||
YY_RULE_SETUP
|
||||
ECHO;
|
||||
YY_BREAK
|
||||
@@ -1254,7 +1272,7 @@ static int yy_get_next_buffer (void)
|
||||
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
||||
{
|
||||
yy_current_state = (int) yy_def[yy_current_state];
|
||||
if ( yy_current_state >= 116 )
|
||||
if ( yy_current_state >= 130 )
|
||||
yy_c = yy_meta[(unsigned int) yy_c];
|
||||
}
|
||||
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
|
||||
@@ -1282,11 +1300,11 @@ static int yy_get_next_buffer (void)
|
||||
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
||||
{
|
||||
yy_current_state = (int) yy_def[yy_current_state];
|
||||
if ( yy_current_state >= 116 )
|
||||
if ( yy_current_state >= 130 )
|
||||
yy_c = yy_meta[(unsigned int) yy_c];
|
||||
}
|
||||
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
|
||||
yy_is_jam = (yy_current_state == 115);
|
||||
yy_is_jam = (yy_current_state == 129);
|
||||
|
||||
return yy_is_jam ? 0 : yy_current_state;
|
||||
}
|
||||
|
Reference in New Issue
Block a user