@@ -84,6 +84,9 @@ int main(int argc, char *argv[])
}
}
+ /* Test if s2ram will use quirks from the configuration file */
+ ret = get_s2ram_config();
+
/* Check if the KMS support is disabled by user */
if (!no_kms_flag) {
/* KMS */
@@ -98,9 +101,6 @@ int main(int argc, char *argv[])
printf("KMS disabled by user.\n");
}
- /* Test if s2ram will use quirks from the configuration file */
- ret = get_s2ram_config();
-
if (ret) {
/* No configuration file, using quirks form database */
ret = s2ram_is_supported();
@@ -32,7 +32,7 @@ static unsigned char vga_pci_state[256];
static struct pci_dev vga_dev;
static struct pci_access *pacc;
static int vbe_mode = -1, dmi_scanned;
-static char s2ram_force;
+static char s2ram_force, s2ram_disable_kms;
static char s2ram_quirks[MAX_STR_LEN];
int flags, force, fb_nosuspend;
@@ -44,6 +44,11 @@ int flags, force, fb_nosuspend;
static struct config_par s2ram_parameters[] = {
{
+ .name = "s2ram_disable_kms",
+ .fmt = "%c",
+ .ptr = &s2ram_disable_kms,
+ },
+ {
.name = "s2ram_force",
.fmt = "%c",
.ptr = &s2ram_force,
@@ -431,6 +436,10 @@ int get_s2ram_config(void)
fprintf(stderr, "%s: Could not parse config file\n", ret_name);
return error;
}
+
+ if (s2ram_disable_kms == 'y')
+ no_kms_flag = 1;
+
if (s2ram_force == 'y') {
force = 1;