drivers/wifi: Remove unnecessary data structure copy
[coreboot2.git] / util / sconfig / sconfig.l
blobe0e3c6b770d344fed9c1638afa356c9522d28704
1 %{
2 /* sconfig, coreboot device tree compiler */
3 /* SPDX-License-Identifier: GPL-2.0-only */
5 #include "sconfig.tab.h"
7 int linenum = 0;
8 %}
9 %option nodebug
11 [ \t]+                  {}
12 #.*\n                   {linenum++;}
13 \r?\n                   {linenum++;}
14 chip                    {return(CHIP);}
15 device                  {return(DEVICE);}
16 alias                   {return(ALIAS);}
17 ops                     {return(OPS);}
18 use                     {return(REFERENCE);}
19 ref                     {return(REFERENCE);}
20 as                      {return(ASSOCIATION);}
21 register                {return(REGISTER);}
22 fw_config               {return(FW_CONFIG_TABLE);}
23 field                   {return(FW_CONFIG_FIELD);}
24 option                  {return(FW_CONFIG_OPTION);}
25 probe                   {return(FW_CONFIG_PROBE);}
26 unprovisioned           {return(FW_CONFIG_UNPROVISIONED);}
27 on                      {yylval.number=1; return(BOOL);}
28 off                     {yylval.number=0; return(BOOL);}
29 hidden                  {yylval.number=3; return(STATUS);}
30 mandatory               {yylval.number=5; return(STATUS);}
31 pci                     {yylval.number=PCI; return(BUS);}
32 pnp                     {yylval.number=PNP; return(BUS);}
33 i2c                     {yylval.number=I2C; return(BUS);}
34 cpu_cluster             {yylval.number=CPU_CLUSTER; return(BUS);}
35 cpu                     {yylval.number=CPU; return(BUS);}
36 domain                  {yylval.number=DOMAIN; return(BUS);}
37 generic                 {yylval.number=GENERIC; return(BUS);}
38 mmio                    {yylval.number=MMIO; return(BUS);}
39 spi                     {yylval.number=SPI; return(BUS);}
40 usb                     {yylval.number=USB; return(BUS);}
41 gpio                    {yylval.number=GPIO; return(BUS);}
42 mdio                    {yylval.number=MDIO; return(BUS);}
43 irq                     {yylval.number=IRQ; return(RESOURCE);}
44 drq                     {yylval.number=DRQ; return(RESOURCE);}
45 io                      {yylval.number=IO; return(RESOURCE);}
46 inherit                 {return(INHERIT);}
47 subsystemid             {return(SUBSYSTEMID);}
48 end                     {return(END);}
49 smbios_slot_desc        {return(SLOT_DESC);}
50 smbios_dev_info         {return(SMBIOS_DEV_INFO);}
51 =                       {return(EQUALS);}
52 \|                      {return(PIPE);}
53 0x[0-9a-fA-F.]+         {yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
54 [0-9.]+                 {yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
55 [0-9a-fA-F.]+           {yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
56 \"\"[^\"]+\"\"          {yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);}
57 \"[^\"]+\"              {yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);}
58 [^ \n\t]+               {yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(STRING);}