diff options
author | Michael Niewöhner <foss@mniewoehner.de> | 2020-12-11 21:26:02 +0100 |
---|---|---|
committer | Michael Niewöhner <foss@mniewoehner.de> | 2020-12-28 17:47:04 +0000 |
commit | dbb667ac08f8283eb38861151f971efd46736ab6 (patch) | |
tree | 6f05ddb27c8dab11f11cac66fa4a4aee4381d662 /util/sconfig/lex.yy.c_shipped | |
parent | 5c2efa1990853545664a6f6e3ff94be79477d407 (diff) |
device + util/sconfig: introduce new device `gpio`
Introduce a new device `gpio` that is going to be used for generic
abstraction of gpio operations in the devicetree.
The general idea behind this is that every chip can have gpios that
shall be accessible in a very generic way by any driver through the
devicetree.
The chip that implements the chip-specific gpio operations has to assign
them to the generic device operations struct, which then gets assigned
to the gpio device during device probing. See CB:48583 for how this gets
done for the SoCs using intelblocks/gpio.
The gpio device then can be added to the devicetree with an alias name
like in the following example:
chip soc/whateverlake
device gpio 0 alias soc_gpio on end
...
end
Any driver that requires access to this gpio device needs to have a
device pointer (or multiple) and an option for specifying the gpio to be
used in its chip config like this:
struct drivers_ipmi_config {
...
DEVTREE_CONST struct device *gpio_dev;
u16 post_complete_gpio;
...
};
The device `soc_gpio` can then be linked to the chip driver's `gpio_dev`
above by using the syntax `use ... as ...`, which was introduced in
commit 8e1ea52:
chip drivers/ipmi
use soc_gpio as gpio_dev
register "bmc_jumper_gpio" = "GPP_D22"
...
end
The IPMI driver can then use the generic gpio operations without any
knowlege of the chip's specifics:
unsigned int gpio_val;
const struct gpio_operations *gpio_ops;
gpio_ops = dev_get_gpio_ops(conf->gpio_dev);
gpio_val = gpio_ops->get(conf->bmc_jumper_gpio);
For a full example have a look at CB:48096 and CB:48095.
This change adds the new device type to sconfig and adds generic gpio
operations to the `device_operations` struct. Also, a helper for getting
the gpio operations from a device after checking them for NULL pointers
gets added.
Successfully tested on Supermicro X11SSM-F with CB:48097, X11SSH-TF with
CB:48711 and OCP DeltaLake with CB:48672.
Change-Id: Ic4572ad8b37bd1afd2fb213b2c67fb8aec536786
Tested-by: Johnny Lin <Johnny_Lin@wiwynn.com>
Tested-by: Michael Niewöhner <foss@mniewoehner.de>
Tested-by: Patrick Rudolph <siro@das-labor.org>
Signed-off-by: Michael Niewöhner <foss@mniewoehner.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/48582
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'util/sconfig/lex.yy.c_shipped')
-rw-r--r-- | util/sconfig/lex.yy.c_shipped | 316 |
1 files changed, 161 insertions, 155 deletions
diff --git a/util/sconfig/lex.yy.c_shipped b/util/sconfig/lex.yy.c_shipped index 18b34b5e87..c3d985945a 100644 --- a/util/sconfig/lex.yy.c_shipped +++ b/util/sconfig/lex.yy.c_shipped @@ -349,8 +349,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 49 -#define YY_END_OF_BUFFER 50 +#define YY_NUM_RULES 50 +#define YY_END_OF_BUFFER 51 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -358,31 +358,31 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[203] = +static const flex_int16_t yy_accept[206] = { 0, - 0, 0, 50, 48, 1, 3, 48, 48, 48, 43, - 43, 41, 44, 48, 44, 44, 44, 44, 44, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 1, 3, 48, 0, 48, 48, 0, 2, 43, 44, - 48, 48, 48, 9, 48, 48, 44, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 35, 48, 48, - 48, 48, 48, 48, 15, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 47, 47, 48, 0, 42, 48, - 48, 48, 25, 48, 48, 34, 39, 48, 48, 48, - 48, 48, 22, 48, 48, 33, 48, 31, 48, 48, - - 16, 48, 19, 21, 48, 8, 48, 48, 29, 48, - 30, 7, 48, 0, 45, 48, 4, 48, 48, 48, - 32, 48, 48, 48, 48, 48, 48, 48, 48, 28, - 48, 48, 48, 48, 48, 46, 46, 6, 48, 48, - 48, 12, 48, 48, 48, 48, 48, 23, 48, 48, - 14, 48, 48, 48, 48, 5, 26, 48, 48, 17, - 48, 20, 48, 13, 48, 48, 48, 48, 48, 27, - 37, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 10, 48, 48, 48, 11, 48, 18, 48, 48, 48, - 36, 48, 48, 24, 48, 38, 48, 48, 48, 48, - - 40, 0 + 0, 0, 51, 49, 1, 3, 49, 49, 49, 44, + 44, 42, 45, 49, 45, 45, 45, 45, 45, 49, + 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, + 1, 3, 49, 0, 49, 49, 0, 2, 44, 45, + 49, 49, 49, 9, 49, 49, 45, 49, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49, 36, 49, + 49, 49, 49, 49, 49, 15, 49, 49, 49, 49, + 49, 49, 49, 49, 49, 48, 48, 49, 0, 43, + 49, 49, 49, 25, 49, 49, 35, 40, 49, 49, + 49, 49, 49, 49, 22, 49, 49, 34, 49, 31, + + 49, 49, 16, 49, 19, 21, 49, 8, 49, 49, + 29, 49, 30, 7, 49, 0, 46, 49, 4, 49, + 49, 49, 32, 49, 49, 49, 33, 49, 49, 49, + 49, 49, 28, 49, 49, 49, 49, 49, 47, 47, + 6, 49, 49, 49, 12, 49, 49, 49, 49, 49, + 23, 49, 49, 14, 49, 49, 49, 49, 5, 26, + 49, 49, 17, 49, 20, 49, 13, 49, 49, 49, + 49, 49, 27, 38, 49, 49, 49, 49, 49, 49, + 49, 49, 49, 10, 49, 49, 49, 11, 49, 18, + 49, 49, 49, 37, 49, 49, 24, 49, 39, 49, + + 49, 49, 49, 41, 0 } ; static const YY_CHAR yy_ec[256] = @@ -425,136 +425,138 @@ static const YY_CHAR yy_meta[40] = 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; -static const flex_int16_t yy_base[210] = +static const flex_int16_t yy_base[213] = { 0, - 0, 0, 275, 0, 272, 276, 270, 38, 42, 39, - 234, 0, 45, 257, 55, 59, 83, 65, 62, 249, - 244, 68, 25, 48, 54, 75, 247, 75, 234, 0, - 264, 276, 106, 260, 111, 76, 261, 276, 0, 110, - 113, 248, 237, 0, 236, 225, 119, 232, 227, 237, - 226, 234, 238, 225, 232, 232, 226, 232, 217, 217, - 227, 217, 219, 221, 0, 208, 216, 210, 210, 63, - 220, 212, 218, 118, 0, 276, 135, 230, 0, 223, - 216, 202, 215, 205, 212, 0, 0, 203, 201, 207, - 204, 204, 0, 202, 192, 0, 196, 0, 200, 190, - - 0, 193, 0, 0, 199, 0, 191, 190, 0, 181, - 0, 0, 208, 207, 0, 178, 0, 191, 190, 183, - 0, 187, 177, 173, 183, 171, 177, 182, 183, 0, - 170, 177, 164, 167, 156, 0, 276, 0, 168, 172, - 164, 0, 163, 165, 161, 163, 168, 0, 152, 157, - 0, 150, 150, 149, 146, 0, 0, 158, 160, 0, - 144, 161, 147, 0, 154, 158, 139, 139, 146, 0, - 0, 145, 137, 136, 121, 132, 118, 128, 118, 110, - 0, 122, 120, 125, 0, 114, 0, 115, 118, 110, - 0, 107, 109, 0, 107, 0, 86, 80, 62, 61, - - 0, 276, 48, 155, 157, 159, 161, 163, 165 + 0, 0, 278, 0, 275, 279, 273, 38, 42, 39, + 237, 0, 45, 260, 55, 59, 83, 65, 62, 54, + 248, 68, 25, 59, 73, 86, 251, 81, 238, 0, + 268, 279, 77, 264, 104, 117, 265, 279, 0, 114, + 117, 252, 241, 0, 240, 229, 123, 236, 231, 241, + 230, 238, 242, 229, 231, 235, 235, 229, 235, 220, + 220, 230, 220, 222, 224, 0, 211, 219, 213, 213, + 118, 223, 215, 221, 92, 0, 279, 140, 233, 0, + 226, 219, 205, 218, 208, 215, 0, 0, 206, 204, + 210, 207, 198, 206, 0, 204, 194, 0, 198, 0, + + 202, 192, 0, 195, 0, 0, 201, 0, 193, 192, + 0, 183, 0, 0, 210, 209, 0, 180, 0, 193, + 192, 185, 0, 189, 179, 175, 0, 185, 173, 179, + 184, 185, 0, 172, 179, 166, 169, 158, 0, 279, + 0, 170, 174, 166, 0, 165, 167, 163, 165, 170, + 0, 154, 159, 0, 152, 152, 151, 148, 0, 0, + 160, 162, 0, 146, 163, 149, 0, 156, 160, 141, + 141, 148, 0, 0, 147, 126, 125, 123, 134, 120, + 130, 120, 112, 0, 124, 122, 127, 0, 116, 0, + 117, 119, 101, 0, 93, 97, 0, 86, 0, 74, + + 64, 45, 46, 0, 279, 48, 159, 161, 163, 165, + 167, 169 } ; -static const flex_int16_t yy_def[210] = +static const flex_int16_t yy_def[213] = { 0, - 202, 1, 202, 203, 202, 202, 203, 204, 205, 203, - 10, 203, 10, 203, 10, 10, 10, 10, 10, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 202, 202, 204, 206, 207, 205, 208, 202, 10, 10, - 10, 203, 203, 203, 203, 203, 10, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 202, 207, 209, 41, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 202, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 202, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, - - 203, 0, 202, 202, 202, 202, 202, 202, 202 + 205, 1, 205, 206, 205, 205, 206, 207, 208, 206, + 10, 206, 10, 206, 10, 10, 10, 10, 10, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 205, 205, 207, 209, 210, 208, 211, 205, 10, 10, + 10, 206, 206, 206, 206, 206, 10, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 205, 210, 212, 41, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 205, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 205, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + + 206, 206, 206, 206, 0, 205, 205, 205, 205, 205, + 205, 205 } ; -static const flex_int16_t yy_nxt[316] = +static const flex_int16_t yy_nxt[319] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 10, 12, 13, 13, 14, 4, 4, 4, 15, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 4, 25, 26, 4, 27, 28, 4, 29, 4, 4, 4, 4, 34, - 34, 60, 35, 37, 38, 39, 39, 39, 30, 40, - 40, 40, 40, 40, 61, 40, 40, 40, 40, 40, + 34, 61, 35, 37, 38, 39, 39, 39, 30, 40, 40, 40, 40, 40, 62, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 63, 64, 56, 37, 38, 201, - 43, 65, 45, 66, 106, 107, 52, 44, 46, 40, - 40, 40, 50, 67, 200, 57, 58, 51, 53, 59, - - 199, 71, 68, 47, 72, 198, 69, 34, 34, 73, - 75, 48, 78, 78, 49, 30, 40, 40, 40, 79, - 79, 79, 197, 79, 79, 40, 40, 40, 196, 79, - 79, 79, 79, 79, 79, 111, 78, 78, 112, 113, - 195, 194, 193, 192, 191, 190, 189, 188, 187, 186, - 185, 184, 183, 182, 84, 33, 33, 36, 36, 34, - 34, 77, 77, 37, 37, 78, 78, 181, 180, 179, - 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, - 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, - 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, - - 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, - 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, - 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, - 118, 117, 116, 115, 114, 110, 109, 108, 105, 104, - 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, - 93, 92, 91, 90, 89, 88, 87, 86, 85, 83, - 82, 81, 80, 38, 76, 31, 74, 70, 55, 54, - 42, 41, 32, 31, 202, 3, 202, 202, 202, 202, - 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, - 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, - - 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, - 202, 202, 202, 202, 202 + 40, 40, 40, 40, 204, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 54, 63, 57, 203, 34, 34, + 43, 76, 45, 55, 202, 64, 52, 44, 46, 40, + 40, 40, 50, 201, 65, 58, 59, 51, 53, 60, + + 66, 200, 67, 47, 68, 79, 79, 72, 30, 113, + 73, 48, 114, 69, 49, 74, 199, 70, 37, 38, + 40, 40, 40, 80, 80, 80, 198, 80, 80, 40, + 40, 40, 197, 80, 80, 80, 80, 80, 80, 108, + 109, 79, 79, 196, 115, 195, 194, 193, 192, 191, + 190, 189, 188, 187, 186, 185, 184, 183, 85, 33, + 33, 36, 36, 34, 34, 78, 78, 37, 37, 79, + 79, 182, 181, 180, 179, 178, 177, 176, 175, 174, + 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, + 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, + + 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, + 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, + 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, + 123, 122, 121, 120, 119, 118, 117, 116, 112, 111, + 110, 107, 106, 105, 104, 103, 102, 101, 100, 99, + 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, + 88, 87, 86, 84, 83, 82, 81, 38, 77, 31, + 75, 71, 56, 42, 41, 32, 31, 205, 3, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205 } ; -static const flex_int16_t yy_chk[316] = +static const flex_int16_t yy_chk[319] = { 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, 1, 8, - 8, 23, 8, 9, 9, 10, 10, 10, 203, 10, + 8, 23, 8, 9, 9, 10, 10, 10, 206, 10, 10, 13, 13, 13, 23, 10, 10, 10, 10, 10, - 10, 15, 15, 15, 24, 16, 16, 16, 19, 19, - 19, 18, 18, 18, 24, 25, 22, 36, 36, 200, - 15, 25, 16, 25, 70, 70, 19, 15, 16, 17, - 17, 17, 18, 26, 199, 22, 22, 18, 19, 22, - - 198, 28, 26, 17, 28, 197, 26, 33, 33, 28, - 33, 17, 35, 35, 17, 35, 40, 40, 40, 41, - 41, 41, 195, 41, 41, 47, 47, 47, 193, 41, - 41, 41, 41, 41, 41, 74, 77, 77, 74, 77, - 192, 190, 189, 188, 186, 184, 183, 182, 180, 179, - 178, 177, 176, 175, 47, 204, 204, 205, 205, 206, - 206, 207, 207, 208, 208, 209, 209, 174, 173, 172, - 169, 168, 167, 166, 165, 163, 162, 161, 159, 158, - 155, 154, 153, 152, 150, 149, 147, 146, 145, 144, - 143, 141, 140, 139, 135, 134, 133, 132, 131, 129, - - 128, 127, 126, 125, 124, 123, 122, 120, 119, 118, - 116, 114, 113, 110, 108, 107, 105, 102, 100, 99, - 97, 95, 94, 92, 91, 90, 89, 88, 85, 84, - 83, 82, 81, 80, 78, 73, 72, 71, 69, 68, - 67, 66, 64, 63, 62, 61, 60, 59, 58, 57, - 56, 55, 54, 53, 52, 51, 50, 49, 48, 46, - 45, 43, 42, 37, 34, 31, 29, 27, 21, 20, - 14, 11, 7, 5, 3, 202, 202, 202, 202, 202, - 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, - 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, - - 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, - 202, 202, 202, 202, 202 + 10, 15, 15, 15, 203, 16, 16, 16, 19, 19, + 19, 18, 18, 18, 20, 24, 22, 202, 33, 33, + 15, 33, 16, 20, 201, 24, 19, 15, 16, 17, + 17, 17, 18, 200, 25, 22, 22, 18, 19, 22, + + 25, 198, 25, 17, 26, 35, 35, 28, 35, 75, + 28, 17, 75, 26, 17, 28, 196, 26, 36, 36, + 40, 40, 40, 41, 41, 41, 195, 41, 41, 47, + 47, 47, 193, 41, 41, 41, 41, 41, 41, 71, + 71, 78, 78, 192, 78, 191, 189, 187, 186, 185, + 183, 182, 181, 180, 179, 178, 177, 176, 47, 207, + 207, 208, 208, 209, 209, 210, 210, 211, 211, 212, + 212, 175, 172, 171, 170, 169, 168, 166, 165, 164, + 162, 161, 158, 157, 156, 155, 153, 152, 150, 149, + 148, 147, 146, 144, 143, 142, 138, 137, 136, 135, + + 134, 132, 131, 130, 129, 128, 126, 125, 124, 122, + 121, 120, 118, 116, 115, 112, 110, 109, 107, 104, + 102, 101, 99, 97, 96, 94, 93, 92, 91, 90, + 89, 86, 85, 84, 83, 82, 81, 79, 74, 73, + 72, 70, 69, 68, 67, 65, 64, 63, 62, 61, + 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, + 50, 49, 48, 46, 45, 43, 42, 37, 34, 31, + 29, 27, 21, 14, 11, 7, 5, 3, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205 } ; static yy_state_type yy_last_accepting_state; @@ -819,13 +821,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 >= 203 ) + if ( yy_current_state >= 206 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 276 ); + while ( yy_base[yy_current_state] != 279 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -981,43 +983,43 @@ YY_RULE_SETUP YY_BREAK case 33: YY_RULE_SETUP -{yylval.number=IRQ; return(RESOURCE);} +{yylval.number=GPIO; return(BUS);} YY_BREAK case 34: YY_RULE_SETUP -{yylval.number=DRQ; return(RESOURCE);} +{yylval.number=IRQ; return(RESOURCE);} YY_BREAK case 35: YY_RULE_SETUP -{yylval.number=IO; return(RESOURCE);} +{yylval.number=DRQ; return(RESOURCE);} YY_BREAK case 36: YY_RULE_SETUP -{return(IOAPIC_IRQ);} +{yylval.number=IO; return(RESOURCE);} YY_BREAK case 37: YY_RULE_SETUP -{return(INHERIT);} +{return(IOAPIC_IRQ);} YY_BREAK case 38: YY_RULE_SETUP -{return(SUBSYSTEMID);} +{return(INHERIT);} YY_BREAK case 39: YY_RULE_SETUP -{return(END);} +{return(SUBSYSTEMID);} YY_BREAK case 40: YY_RULE_SETUP -{return(SLOT_DESC);} +{return(END);} YY_BREAK case 41: YY_RULE_SETUP -{return(EQUALS);} +{return(SLOT_DESC);} YY_BREAK case 42: YY_RULE_SETUP -{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);} +{return(EQUALS);} YY_BREAK case 43: YY_RULE_SETUP @@ -1029,12 +1031,11 @@ YY_RULE_SETUP YY_BREAK case 45: 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 46: -/* rule 46 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);} +{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(PCIINT);} YY_BREAK case 47: /* rule 47 can match eol */ @@ -1042,11 +1043,16 @@ 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 48: +/* rule 48 can match eol */ YY_RULE_SETUP -{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(STRING);} +{yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);} YY_BREAK case 49: YY_RULE_SETUP +{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(STRING);} + YY_BREAK +case 50: +YY_RULE_SETUP ECHO; YY_BREAK case YY_STATE_EOF(INITIAL): @@ -1345,7 +1351,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 >= 203 ) + if ( yy_current_state >= 206 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -1373,11 +1379,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 >= 203 ) + if ( yy_current_state >= 206 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 202); + yy_is_jam = (yy_current_state == 205); return yy_is_jam ? 0 : yy_current_state; } |