|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen staging] x86/apci: Adjust command line parsing for "acpi_sleep"
commit 8cc4476eb8176663b4a495c983daf02e885d4cf3
Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Thu Aug 29 13:35:33 2019 +0100
Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Mon Sep 2 15:44:47 2019 +0100
x86/apci: Adjust command line parsing for "acpi_sleep"
Perform parsing in a custom_param, rather than stashing the content in a
string and parsing in an initcall. Adjust the parsing to conform to current
standards.
No practical change.
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
---
xen/arch/x86/acpi/power.c | 47 ++++++++++++++++++++++++++---------------------
1 file changed, 26 insertions(+), 21 deletions(-)
diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
index 6ae9e29229..e3954eeb75 100644
--- a/xen/arch/x86/acpi/power.c
+++ b/xen/arch/x86/acpi/power.c
@@ -33,8 +33,32 @@
uint32_t system_reset_counter = 1;
-static char __initdata opt_acpi_sleep[20];
-string_param("acpi_sleep", opt_acpi_sleep);
+static int __init parse_acpi_sleep(const char *s)
+{
+ const char *ss;
+ unsigned int flag = 0;
+ int rc = 0;
+
+ do {
+ ss = strchr(s, ',');
+ if ( !ss )
+ ss = strchr(s, '\0');
+
+ if ( !cmdline_strcmp(s, "s3_bios") )
+ flag |= 1;
+ else if ( !cmdline_strcmp(s, "s3_mode") )
+ flag |= 2;
+ else
+ rc = -EINVAL;
+
+ s = ss + 1;
+ } while ( *ss );
+
+ acpi_video_flags |= flag;
+
+ return rc;
+}
+custom_param("acpi_sleep", parse_acpi_sleep);
static DEFINE_SPINLOCK(pm_lock);
@@ -456,22 +480,3 @@ acpi_status acpi_enter_sleep_state(u8 sleep_state)
return_ACPI_STATUS(AE_OK);
}
-
-static int __init acpi_sleep_init(void)
-{
- char *p = opt_acpi_sleep;
-
- while ( (p != NULL) && (*p != '\0') )
- {
- if ( !strncmp(p, "s3_bios", 7) )
- acpi_video_flags |= 1;
- if ( !strncmp(p, "s3_mode", 7) )
- acpi_video_flags |= 2;
- p = strchr(p, ',');
- if ( p != NULL )
- p += strspn(p, ", \t");
- }
-
- return 0;
-}
-__initcall(acpi_sleep_init);
--
generated by git-patchbot for /home/xen/git/xen.git#staging
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |