Re: [RFC PATCH 1/2] acpi: video: Allow forcing native backlight on non win8 machines

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 03-03-15 09:26, Aaron Lu wrote:
On 03/03/2015 03:39 PM, Hans de Goede wrote:
The native backlight behavior (so not registering both the acpi-video and the
vendor backlight driver) can be useful on some non win8 machines too, allow
the user to force this behavior by passing video.use_native_backlight=2
on the kernel commandline.

Just bikeshedding, what about doing it this way?

In the acpi_video_use_native_backlight function:
1 If user has set a cmdline option, use that(no matter if it is a win8
   system or not);
2 If the system is in a DMI table, use that(no matter if it is a win8
   system or not);
3 return true if this is a win8 system; false otherwise.

Something like this:

That works for me, and has the added advantage of not changing the
cmdline syntax (but it does change the cmdline behavior ...).

So going either way is fine with me.

Aaron's version is:

Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx>

Regards,

Hans


diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index debd30917010..4cd0c8a4fd9d 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -84,7 +84,7 @@ module_param(allow_duplicates, bool, 0644);
   */
  static int use_native_backlight_param = -1;
  module_param_named(use_native_backlight, use_native_backlight_param, int, 0444);
-static bool use_native_backlight_dmi = true;
+static int use_native_backlight_dmi = -1;

  static int register_count;
  static struct mutex video_list_lock;
@@ -239,13 +239,14 @@ static bool acpi_video_use_native_backlight(void)
  {
  	if (use_native_backlight_param != -1)
  		return use_native_backlight_param;
-	else
+	else if (use_native_backlight_dmi != -1)
  		return use_native_backlight_dmi;
+	return acpi_osi_is_win8();
  }

  bool acpi_video_verify_backlight_support(void)
  {
-	if (acpi_osi_is_win8() && acpi_video_use_native_backlight() &&
+	if (acpi_video_use_native_backlight() &&
  	    backlight_device_registered(BACKLIGHT_RAW))
  		return false;
  	return acpi_video_backlight_support();
@@ -414,7 +415,7 @@ static int __init video_set_bqc_offset(const struct dmi_system_id *d)

  static int __init video_disable_native_backlight(const struct dmi_system_id *d)
  {
-	use_native_backlight_dmi = false;
+	use_native_backlight_dmi = 0;
  	return 0;
  }


Regards,
Aaron


Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
---
  drivers/acpi/video.c | 9 +++++----
  1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index debd309..9817b52 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -84,7 +84,7 @@ module_param(allow_duplicates, bool, 0644);
   */
  static int use_native_backlight_param = -1;
  module_param_named(use_native_backlight, use_native_backlight_param, int, 0444);
-static bool use_native_backlight_dmi = true;
+static int use_native_backlight_dmi = 1;

  static int register_count;
  static struct mutex video_list_lock;
@@ -235,7 +235,7 @@ static int acpi_video_get_next_level(struct acpi_video_device *device,
  				     u32 level_current, u32 event);
  static void acpi_video_switch_brightness(struct work_struct *work);

-static bool acpi_video_use_native_backlight(void)
+static int acpi_video_use_native_backlight(void)
  {
  	if (use_native_backlight_param != -1)
  		return use_native_backlight_param;
@@ -245,7 +245,8 @@ static bool acpi_video_use_native_backlight(void)

  bool acpi_video_verify_backlight_support(void)
  {
-	if (acpi_osi_is_win8() && acpi_video_use_native_backlight() &&
+	if (((acpi_video_use_native_backlight() == 2) ||
+	     (acpi_video_use_native_backlight() == 1 && acpi_osi_is_win8())) &&
  	    backlight_device_registered(BACKLIGHT_RAW))
  		return false;
  	return acpi_video_backlight_support();
@@ -414,7 +415,7 @@ static int __init video_set_bqc_offset(const struct dmi_system_id *d)

  static int __init video_disable_native_backlight(const struct dmi_system_id *d)
  {
-	use_native_backlight_dmi = false;
+	use_native_backlight_dmi = 0;
  	return 0;
  }



--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux