Carl-Daniel Hailfinger wrote:
> To prepare for libflashrom I wanted to make the main loop more readable
> and more correct and factor out stuff which can be useful in libflashrom.
>
> - Factor out printing of supported devices to print.c.
> - Adjust name of wiki printing function to fit the pattern.
> - Abort if the user specified --verify and --noverify at the same time.
> - Check for extra parameters which don't fit commandline syntax.
>
> Signed-off-by: Carl-Daniel Hailfinger <[email protected]>
>   

Acked-by: Stefan Reinauer <[email protected]>

> Index: flashrom-mainloop_cleanup/flash.h
> ===================================================================
> --- flashrom-mainloop_cleanup/flash.h (Revision 755)
> +++ flashrom-mainloop_cleanup/flash.h (Arbeitskopie)
> @@ -338,11 +338,9 @@
>  
>  /* print.c */
>  char *flashbuses_to_text(enum chipbustype bustype);
> -void print_supported_chips(void);
> -void print_supported_chipsets(void);
> -void print_supported_boards(void);
> +void print_supported(void);
>  void print_supported_pcidevs(struct pcidev_status *devs);
> -void print_wiki_tables(void);
> +void print_supported_wiki(void);
>  
>  /* board_enable.c */
>  void w836xx_ext_enter(uint16_t port);
> Index: flashrom-mainloop_cleanup/flashrom.c
> ===================================================================
> --- flashrom-mainloop_cleanup/flashrom.c      (Revision 755)
> +++ flashrom-mainloop_cleanup/flashrom.c      (Arbeitskopie)
> @@ -801,14 +801,25 @@
>                       write_it = 1;
>                       break;
>               case 'v':
> +                     //FIXME: gracefully handle superfluous -v
>                       if (++operation_specified > 1) {
>                               fprintf(stderr, "More than one operation "
>                                       "specified. Aborting.\n");
>                               exit(1);
>                       }
> +                     if (dont_verify_it) {
> +                             fprintf(stderr, "--verify and --noverify are"
> +                                     "mutually exclusive. Aborting.\n");
> +                             exit(1);
> +                     }
>                       verify_it = 1;
>                       break;
>               case 'n':
> +                     if (verify_it) {
> +                             fprintf(stderr, "--verify and --noverify are"
> +                                     "mutually exclusive. Aborting.\n");
> +                             exit(1);
> +                     }
>                       dont_verify_it = 1;
>                       break;
>               case 'c':
> @@ -896,29 +907,13 @@
>       }
>  
>       if (list_supported) {
> -             print_supported_chips();
> -             print_supported_chipsets();
> -             print_supported_boards();
> -             printf("\nSupported PCI devices flashrom can use "
> -                    "as programmer:\n\n");
> -#if NIC3COM_SUPPORT == 1
> -             print_supported_pcidevs(nics_3com);
> -#endif
> -#if GFXNVIDIA_SUPPORT == 1
> -             print_supported_pcidevs(gfx_nvidia);
> -#endif
> -#if DRKAISER_SUPPORT == 1
> -             print_supported_pcidevs(drkaiser_pcidev);
> -#endif
> -#if SATASII_SUPPORT == 1
> -             print_supported_pcidevs(satas_sii);
> -#endif
> +             print_supported();
>               exit(0);
>       }
>  
>  #if PRINT_WIKI_SUPPORT == 1
>       if (list_supported_wiki) {
> -             print_wiki_tables();
> +             print_supported_wiki();
>               exit(0);
>       }
>  #endif
> @@ -930,6 +925,11 @@
>  
>       if (optind < argc)
>               filename = argv[optind++];
> +     
> +     if (optind < argc) {
> +             printf("Error: Extra parameter found.\n");
> +             usage(argv[0]);
> +     }
>  
>       if (programmer_init()) {
>               fprintf(stderr, "Error: Programmer initialization failed.\n");
> @@ -1146,7 +1146,7 @@
>               if (write_it)
>                       programmer_delay(1000*1000);
>               ret = verify_flash(flash, buf);
> -             /* If we tried to write, and now we don't properly verify, we
> +             /* If we tried to write, and verification now fails, we
>                * might have an emergency situation.
>                */
>               if (ret && write_it)
> Index: flashrom-mainloop_cleanup/print_wiki.c
> ===================================================================
> --- flashrom-mainloop_cleanup/print_wiki.c    (Revision 755)
> +++ flashrom-mainloop_cleanup/print_wiki.c    (Arbeitskopie)
> @@ -535,7 +535,7 @@
>       }
>  }
>  
> -void print_wiki_tables(void)
> +void print_supported_wiki(void)
>  {
>       time_t t = time(NULL);
>  
> Index: flashrom-mainloop_cleanup/print.c
> ===================================================================
> --- flashrom-mainloop_cleanup/print.c (Revision 755)
> +++ flashrom-mainloop_cleanup/print.c (Arbeitskopie)
> @@ -222,7 +222,28 @@
>               "Laptops which have been verified to NOT work yet");
>  }
>  
> +void print_supported(void)
> +{
> +             print_supported_chips();
> +             print_supported_chipsets();
> +             print_supported_boards();
> +             printf("\nSupported PCI devices flashrom can use "
> +                    "as programmer:\n\n");
> +#if NIC3COM_SUPPORT == 1
> +             print_supported_pcidevs(nics_3com);
> +#endif
> +#if GFXNVIDIA_SUPPORT == 1
> +             print_supported_pcidevs(gfx_nvidia);
> +#endif
> +#if DRKAISER_SUPPORT == 1
> +             print_supported_pcidevs(drkaiser_pcidev);
> +#endif
> +#if SATASII_SUPPORT == 1
> +             print_supported_pcidevs(satas_sii);
> +#endif
> +}
>  
> +
>  /* Please keep this list alphabetically ordered by vendor/board. */
>  const struct board_info boards_ok[] = {
>       /* Verified working boards that don't need write-enables. */
>
>
>   


-- 
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
      Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: [email protected]http://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866


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

Reply via email to