summaryrefslogtreecommitdiff
path: root/bootloader/x1000.c
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2022-03-05 09:21:58 +0000
committerAidan MacDonald <amachronic@protonmail.com>2022-03-12 18:25:10 +0000
commit22cf852db1a37349061a665ea5b7a45bb1b2c2a7 (patch)
tree20e93e0c52a390785b0d59889746913036792ecf /bootloader/x1000.c
parent6fb1b8b3421cd73657ac2a84b0b13b975926746f (diff)
downloadrockbox-22cf852db1a37349061a665ea5b7a45bb1b2c2a7.tar.gz
rockbox-22cf852db1a37349061a665ea5b7a45bb1b2c2a7.zip
x1000: bootloader: split off installer code
Change-Id: I75918301214cd415392f8c95e8a07205cfa21659
Diffstat (limited to 'bootloader/x1000.c')
-rw-r--r--bootloader/x1000.c58
1 files changed, 0 insertions, 58 deletions
diff --git a/bootloader/x1000.c b/bootloader/x1000.c
index a079c478d5..72a02188c3 100644
--- a/bootloader/x1000.c
+++ b/bootloader/x1000.c
@@ -77,9 +77,6 @@ void boot_rockbox(void);
77void usb_mode(void); 77void usb_mode(void);
78void shutdown(void); 78void shutdown(void);
79void reboot(void); 79void reboot(void);
80void bootloader_install(void);
81void bootloader_backup(void);
82void bootloader_restore(void);
83 80
84/* Defines the recovery menu contents */ 81/* Defines the recovery menu contents */
85const struct menuitem recovery_items[] = { 82const struct menuitem recovery_items[] = {
@@ -274,61 +271,6 @@ void reboot(void)
274 while(1); 271 while(1);
275} 272}
276 273
277enum {
278 INSTALL,
279 BACKUP,
280 RESTORE,
281};
282
283void bootloader_action(int which)
284{
285 if(init_disk() != 0) {
286 splash2(5*HZ, "Install aborted", "Cannot access SD card");
287 return;
288 }
289
290 const char* msg;
291 switch(which) {
292 case INSTALL: msg = "Installing"; break;
293 case BACKUP: msg = "Backing up"; break;
294 case RESTORE: msg = "Restoring"; break;
295 default: return; /* can't happen */
296 }
297
298 splash(0, msg);
299
300 int rc;
301 switch(which) {
302 case INSTALL: rc = install_bootloader("/bootloader." BOOTFILE_EXT); break;
303 case BACKUP: rc = backup_bootloader(BOOTBACKUP_FILE); break;
304 case RESTORE: rc = restore_bootloader(BOOTBACKUP_FILE); break;
305 default: return;
306 }
307
308 static char buf[64];
309 snprintf(buf, sizeof(buf), "%s (%d)", installer_strerror(rc), rc);
310 const char* msg1 = rc == 0 ? "Success" : buf;
311 const char* msg2 = "Press " BL_QUIT_NAME " to continue";
312 splash2(0, msg1, msg2);
313
314 while(get_button(TIMEOUT_BLOCK) != BL_QUIT);
315}
316
317void bootloader_install(void)
318{
319 bootloader_action(INSTALL);
320}
321
322void bootloader_backup(void)
323{
324 bootloader_action(BACKUP);
325}
326
327void bootloader_restore(void)
328{
329 bootloader_action(RESTORE);
330}
331
332void main(void) 274void main(void)
333{ 275{
334 system_init(); 276 system_init();