diff options
Diffstat (limited to 'kernel/power/disk.c')
-rw-r--r-- | kernel/power/disk.c | 15 |
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 @@ | |||
27 | static int noresume = 0; | 27 | static int noresume = 0; |
28 | char resume_file[256] = CONFIG_PM_STD_PARTITION; | 28 | char resume_file[256] = CONFIG_PM_STD_PARTITION; |
29 | dev_t swsusp_resume_device; | 29 | dev_t swsusp_resume_device; |
30 | sector_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 | ||
427 | static 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 | |||
426 | static int __init noresume_setup(char *str) | 440 | static 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); |