int eeprom_main(int argc, char *argv[]) { if (argc >= 2) { if (!strcmp(argv[1], "start")) eeprom_start(); if (!strcmp(argv[1], "save_param")) eeprom_save(argv[2]); if (!strcmp(argv[1], "load_param")) eeprom_load(argv[2]); if (!strcmp(argv[1], "erase")) eeprom_erase(); if (!strcmp(argv[1], "test")) eeprom_test(); if (0) { /* these actually require a file on the filesystem... */ if (!strcmp(argv[1], "reformat")) eeprom_ioctl(FIOC_REFORMAT); if (!strcmp(argv[1], "repack")) eeprom_ioctl(FIOC_OPTIMIZE); } } errx(1, "expected a command, try 'start'\n\t'save_param /eeprom/parameters'\n\t'load_param /eeprom/parameters'\n\t'erase'\n"); }
static NVRAM_HANDLER( policetr ) { if (read_or_write) eeprom_save(file); else { eeprom_init(machine, &eeprom_interface_policetr); if (file) eeprom_load(file); } }
void clock_init(void) { THREAD_INIT(clock_thread); thread_register(&clock_thread); clock_state.stored = eeprom_load(); /* no state saved */ if (clock_state.stored & 0xc000) { return; } /* valid clock state stored */ if ((clock_state.stored & 0x07ff) <= CLOCK_MINUTES) { clock_state.time = clock_state.clock = clock_state.stored & 0x07ff; clock_state.state = CLOCK_PENDING; advance_set_polarity((~(clock_state.stored >> 11)) & 1); advance(); } else {