aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/power/disk.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/power/disk.c')
-rw-r--r--kernel/power/disk.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/kernel/power/disk.c b/kernel/power/disk.c
index b1fb7866b0b3..d79feeb45459 100644
--- a/kernel/power/disk.c
+++ b/kernel/power/disk.c
@@ -27,6 +27,7 @@
27static int noresume = 0; 27static int noresume = 0;
28char resume_file[256] = CONFIG_PM_STD_PARTITION; 28char resume_file[256] = CONFIG_PM_STD_PARTITION;
29dev_t swsusp_resume_device; 29dev_t swsusp_resume_device;
30sector_t swsusp_resume_block;
30 31
31/** 32/**
32 * power_down - Shut machine down for hibernate. 33 * power_down - Shut machine down for hibernate.
@@ -423,6 +424,19 @@ static int __init resume_setup(char *str)
423 return 1; 424 return 1;
424} 425}
425 426
427static int __init resume_offset_setup(char *str)
428{
429 unsigned long long offset;
430
431 if (noresume)
432 return 1;
433
434 if (sscanf(str, "%llu", &offset) == 1)
435 swsusp_resume_block = offset;
436
437 return 1;
438}
439
426static int __init noresume_setup(char *str) 440static int __init noresume_setup(char *str)
427{ 441{
428 noresume = 1; 442 noresume = 1;
@@ -430,4 +444,5 @@ static int __init noresume_setup(char *str)
430} 444}
431 445
432__setup("noresume", noresume_setup); 446__setup("noresume", noresume_setup);
447__setup("resume_offset=", resume_offset_setup);
433__setup("resume=", resume_setup); 448__setup("resume=", resume_setup);