diff options
Diffstat (limited to 'futility/updater.h')
-rw-r--r-- | futility/updater.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/futility/updater.h b/futility/updater.h index 4af2ccaf..7e249346 100644 --- a/futility/updater.h +++ b/futility/updater.h @@ -103,10 +103,44 @@ struct updater_config_arguments { int fast_update; int verbosity; int override_gbb_flags; + int detect_servo; uint32_t gbb_flags; bool detect_model_only; }; +/* + * Shared getopt arguments controlling flash behaviour. + * These are shared by multiple commands. + */ +enum { + OPT_CCD = 0x100, + OPT_EMULATE, + OPT_SERVO, + OPT_SERVO_PORT, +}; + +#ifdef USE_FLASHROM +#define SHARED_FLASH_ARGS_SHORTOPTS "p:" + +#define SHARED_FLASH_ARGS_LONGOPTS \ + {"programmer", 1, NULL, 'p'}, \ + {"ccd", 0, NULL, OPT_CCD}, \ + {"servo", 0, NULL, OPT_SERVO}, \ + {"servo_port", 1, NULL, OPT_SERVO_PORT}, \ + {"emulate", 1, NULL, OPT_EMULATE}, + +#define SHARED_FLASH_ARGS_HELP \ + "-p, --programmer=PRG\tChange AP (host) flashrom programmer\n" \ + " --ccd \tDo fast,force,wp=0,p=raiden_debug_spi\n" \ + " --emulate=FILE \tEmulate system firmware using file\n" \ + " --servo \tFlash using Servo (v2, v4, micro, ...)\n" \ + " --servo_port=PRT\tOverride servod port, implies --servo\n" +#else +#define SHARED_FLASH_ARGS_HELP +#define SHARED_FLASH_ARGS_LONGOPTS +#define SHARED_FLASH_ARGS_SHORTOPTS +#endif /* USE_FLASHROM */ + struct patch_config { char *rootkey; char *vblock_a; @@ -172,6 +206,13 @@ struct updater_config *updater_new_config(void); void updater_delete_config(struct updater_config *cfg); /* + * Handle an argument if it is a shared updater option. + * Returns 1 if argument was used. + */ +int handle_flash_argument(struct updater_config_arguments *args, int opt, + char *optarg); + +/* * Helper function to setup an allocated updater_config object. * Returns number of failures, or 0 on success. */ |