Author: hailfinger
Date: Thu Oct  7 01:48:34 2010
New Revision: 1199
URL: http://flashrom.org/trac/flashrom/changeset/1199

Log:
flashrom -L output did not contain a list of programmers nor were all
programmers listed.
Fix it and mention at least the name of each programmer.
Wiki output is unchanged, and will need separate fixups.

Signed-off-by: Carl-Daniel Hailfinger <[email protected]>
Acked-by: Uwe Hermann <[email protected]>

Modified:
   trunk/atahpt.c
   trunk/cli_classic.c
   trunk/flash.h
   trunk/flashrom.c
   trunk/ft2232_spi.c
   trunk/pcidev.c
   trunk/print.c

Modified: trunk/atahpt.c
==============================================================================
--- trunk/atahpt.c      Thu Oct  7 01:16:10 2010        (r1198)
+++ trunk/atahpt.c      Thu Oct  7 01:48:34 2010        (r1199)
@@ -30,7 +30,7 @@
 
 #define PCI_VENDOR_ID_HPT      0x1103
 
-struct pcidev_status ata_hpt[] = {
+const struct pcidev_status ata_hpt[] = {
        {0x1103, 0x0004, NT, "Highpoint", "HPT366/368/370/370A/372/372N"},
        {0x1103, 0x0005, NT, "Highpoint", "HPT372A/372N"},
        {0x1103, 0x0006, NT, "Highpoint", "HPT302/302N"},

Modified: trunk/cli_classic.c
==============================================================================
--- trunk/cli_classic.c Thu Oct  7 01:16:10 2010        (r1198)
+++ trunk/cli_classic.c Thu Oct  7 01:48:34 2010        (r1199)
@@ -33,11 +33,6 @@
 
 static void cli_classic_usage(const char *name)
 {
-       const char *pname;
-       int pnamelen;
-       int remaining = 0;
-       enum programmer p;
-
        printf("Usage: flashrom [-n] [-V] [-f] [-h|-R|-L|"
 #if CONFIG_PRINT_WIKI == 1
                 "-z|"
@@ -83,32 +78,9 @@
                 "in wiki syntax\n"
 #endif
               "   -p | --programmer <name>[:<param>] specify the programmer "
-                "device");
-
-       for (p = 0; p < PROGRAMMER_INVALID; p++) {
-               pname = programmer_table[p].name;
-               pnamelen = strlen(pname);
-               if (remaining - pnamelen - 2 < 0) {
-                       printf("\n                                     ");
-                       remaining = 43;
-               } else {
-                       printf(" ");
-                       remaining--;
-               }
-               if (p == 0) {
-                       printf("(");
-                       remaining--;
-               }
-               printf("%s", pname);
-               remaining -= pnamelen;
-               if (p < PROGRAMMER_INVALID - 1) {
-                       printf(",");
-                       remaining--;
-               } else {
-                       printf(")\n");
-               }
-       }
+                "device\n");
 
+       list_programmers_linebreak(37, 80, 1);
        printf("\nYou can specify one of -h, -R, -L, "
 #if CONFIG_PRINT_WIKI == 1
                 "-z, "

Modified: trunk/flash.h
==============================================================================
--- trunk/flash.h       Thu Oct  7 01:16:10 2010        (r1198)
+++ trunk/flash.h       Thu Oct  7 01:48:34 2010        (r1199)
@@ -200,6 +200,7 @@
 char *strcat_realloc(char *dest, const char *src);
 void print_version(void);
 void print_banner(void);
+void list_programmers_linebreak(int startcol, int cols, int paren);
 int selfcheck(void);
 int doit(struct flashchip *flash, int force, char *filename, int read_it, int 
write_it, int erase_it, int verify_it);
 

Modified: trunk/flashrom.c
==============================================================================
--- trunk/flashrom.c    Thu Oct  7 01:16:10 2010        (r1198)
+++ trunk/flashrom.c    Thu Oct  7 01:48:34 2010        (r1199)
@@ -1332,6 +1332,47 @@
        msg_ginfo("\n");        
 }
 
+void list_programmers_linebreak(int startcol, int cols, int paren)
+{
+       const char *pname;
+       int pnamelen;
+       int remaining = 0;
+       int firstline = 1;
+       enum programmer p;
+       int i;
+
+       for (p = 0; p < PROGRAMMER_INVALID; p++) {
+               pname = programmer_table[p].name;
+               pnamelen = strlen(pname);
+               if (remaining - pnamelen - 2 < 0) {
+                       if (firstline)
+                               firstline = 0;
+                       else
+                               printf("\n");
+                       for (i = 0; i < startcol; i++)
+                               printf(" ");
+                       remaining = cols - startcol;
+               } else {
+                       printf(" ");
+                       remaining--;
+               }
+               if (paren && (p == 0)) {
+                       printf("(");
+                       remaining--;
+               }
+               printf("%s", pname);
+               remaining -= pnamelen;
+               if (p < PROGRAMMER_INVALID - 1) {
+                       printf(",");
+                       remaining--;
+               } else {
+                       if (paren)
+                               printf(")");
+                       printf("\n");
+               }
+       }
+}
+
 void print_sysinfo(void)
 {
 #if HAVE_UTSNAME == 1

Modified: trunk/ft2232_spi.c
==============================================================================
--- trunk/ft2232_spi.c  Thu Oct  7 01:16:10 2010        (r1198)
+++ trunk/ft2232_spi.c  Thu Oct  7 01:48:34 2010        (r1199)
@@ -346,6 +346,7 @@
 {
        int i;
 
+       msg_pinfo("USB devices:\n");
        for (i = 0; devs[i].vendor_name != NULL; i++) {
                msg_pinfo("%s %s [%04x:%04x]%s\n", devs[i].vendor_name,
                          devs[i].device_name, devs[i].vendor_id,

Modified: trunk/pcidev.c
==============================================================================
--- trunk/pcidev.c      Thu Oct  7 01:16:10 2010        (r1198)
+++ trunk/pcidev.c      Thu Oct  7 01:48:34 2010        (r1199)
@@ -132,6 +132,7 @@
 {
        int i;
 
+       msg_pinfo("PCI devices:\n");
        for (i = 0; devs[i].vendor_name != NULL; i++) {
                msg_pinfo("%s %s [%02x:%02x]%s\n", devs[i].vendor_name,
                       devs[i].device_name, devs[i].vendor_id,

Modified: trunk/print.c
==============================================================================
--- trunk/print.c       Thu Oct  7 01:16:10 2010        (r1198)
+++ trunk/print.c       Thu Oct  7 01:48:34 2010        (r1199)
@@ -223,49 +223,89 @@
 
 void print_supported(void)
 {
-               print_supported_chips();
+       print_supported_chips();
+
+       printf("\nSupported programmers:\n");
+       list_programmers_linebreak(0, 80, 0);
 #if CONFIG_INTERNAL == 1
-               print_supported_chipsets();
-               print_supported_boards_helper(boards_known, "boards");
-               print_supported_boards_helper(laptops_known, "laptops");
-#endif
-#if 
CONFIG_NIC3COM+CONFIG_NICREALTEK+CONFIG_NICNATSEMI+CONFIG_GFXNVIDIA+CONFIG_DRKAISER+CONFIG_SATASII+CONFIG_ATAHPT
 >= 1
-               printf("\nSupported PCI devices flashrom can use "
-                      "as programmer:\n\n");
+       printf("\nSupported devices for the %s programmer:\n",
+              programmer_table[PROGRAMMER_INTERNAL].name);
+       print_supported_chipsets();
+       print_supported_boards_helper(boards_known, "boards");
+       print_supported_boards_helper(laptops_known, "laptops");
+#endif
+#if CONFIG_DUMMY == 1
+       printf("\nSupported devices for the %s programmer:\n",
+              programmer_table[PROGRAMMER_DUMMY].name);
+       /* FIXME */
 #endif
 #if CONFIG_NIC3COM == 1
-               print_supported_pcidevs(nics_3com);
+       printf("\nSupported devices for the %s programmer:\n",
+              programmer_table[PROGRAMMER_NIC3COM].name);
+       print_supported_pcidevs(nics_3com);
 #endif
 #if CONFIG_NICREALTEK == 1
-               print_supported_pcidevs(nics_realtek);
-               print_supported_pcidevs(nics_realteksmc1211);
+       printf("\nSupported devices for the %s programmer:\n",
+              programmer_table[PROGRAMMER_NICREALTEK].name);
+       print_supported_pcidevs(nics_realtek);
+       printf("\nSupported devices for the %s programmer:\n",
+              programmer_table[PROGRAMMER_NICREALTEK2].name);
+       print_supported_pcidevs(nics_realteksmc1211);
 #endif
 #if CONFIG_NICNATSEMI == 1
-               print_supported_pcidevs(nics_natsemi);
+       printf("\nSupported devices for the %s programmer:\n",
+              programmer_table[PROGRAMMER_NICNATSEMI].name);
+       print_supported_pcidevs(nics_natsemi);
 #endif
 #if CONFIG_GFXNVIDIA == 1
-               print_supported_pcidevs(gfx_nvidia);
+       printf("\nSupported devices for the %s programmer:\n",
+              programmer_table[PROGRAMMER_GFXNVIDIA].name);
+       print_supported_pcidevs(gfx_nvidia);
 #endif
 #if CONFIG_DRKAISER == 1
-               print_supported_pcidevs(drkaiser_pcidev);
+       printf("\nSupported devices for the %s programmer:\n",
+              programmer_table[PROGRAMMER_DRKAISER].name);
+       print_supported_pcidevs(drkaiser_pcidev);
 #endif
 #if CONFIG_SATASII == 1
-               print_supported_pcidevs(satas_sii);
+       printf("\nSupported devices for the %s programmer:\n",
+              programmer_table[PROGRAMMER_SATASII].name);
+       print_supported_pcidevs(satas_sii);
 #endif
 #if CONFIG_ATAHPT == 1
-               print_supported_pcidevs(ata_hpt);
-#endif
-#if CONFIG_NICINTEL_SPI == 1
-               print_supported_pcidevs(nics_intel_spi);
-#endif
-
-#if CONFIG_FT2232_SPI+CONFIG_DEDIPROG >= 1
-               printf("\nSupported USB devices flashrom can use "
-                      "as programmer:\n\n");
+       printf("\nSupported devices for the %s programmer:\n",
+              programmer_table[PROGRAMMER_ATAHPT].name);
+       print_supported_pcidevs(ata_hpt);
 #endif
-
 #if CONFIG_FT2232_SPI == 1
-               print_supported_usbdevs(devs_ft2232spi);
+       printf("\nSupported devices for the %s programmer:\n",
+              programmer_table[PROGRAMMER_FT2232_SPI].name);
+       print_supported_usbdevs(devs_ft2232spi);
+#endif
+#if CONFIG_SERPROG == 1
+       printf("\nSupported devices for the %s programmer:\n",
+              programmer_table[PROGRAMMER_SERPROG].name);
+       /* FIXME */
+#endif
+#if CONFIG_BUSPIRATE_SPI == 1
+       printf("\nSupported devices for the %s programmer:\n",
+              programmer_table[PROGRAMMER_BUSPIRATE_SPI].name);
+       /* FIXME */
+#endif
+#if CONFIG_DEDIPROG == 1
+       printf("\nSupported devices for the %s programmer:\n",
+              programmer_table[PROGRAMMER_DEDIPROG].name);
+       /* FIXME */
+#endif
+#if CONFIG_RAYER_SPI == 1
+       printf("\nSupported devices for the %s programmer:\n",
+              programmer_table[PROGRAMMER_RAYER_SPI].name);
+       /* FIXME */
+#endif
+#if CONFIG_NICINTEL_SPI == 1
+       printf("\nSupported devices for the %s programmer:\n",
+              programmer_table[PROGRAMMER_NICINTEL_SPI].name);
+       print_supported_pcidevs(nics_intel_spi);
 #endif
 }
 

_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to