aboutsummaryrefslogtreecommitdiffstats
diff options
-rw-r--r--queue-6.1/platform-loongarch-laptop-add-backlight-power-control-support.patch145
-rw-r--r--queue-6.1/series1
-rw-r--r--queue-6.6/platform-loongarch-laptop-add-backlight-power-control-support.patch145
-rw-r--r--queue-6.6/series1
4 files changed, 0 insertions, 292 deletions
diff --git a/queue-6.1/platform-loongarch-laptop-add-backlight-power-control-support.patch b/queue-6.1/platform-loongarch-laptop-add-backlight-power-control-support.patch
deleted file mode 100644
index 885488d758c..00000000000
--- a/queue-6.1/platform-loongarch-laptop-add-backlight-power-control-support.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-From 53c762b47f726e4079a1f06f684bce2fc0d56fba Mon Sep 17 00:00:00 2001
-From: Yao Zi <ziyao@disroot.org>
-Date: Thu, 5 Jun 2025 20:34:46 +0800
-Subject: platform/loongarch: laptop: Add backlight power control support
-
-From: Yao Zi <ziyao@disroot.org>
-
-commit 53c762b47f726e4079a1f06f684bce2fc0d56fba upstream.
-
-loongson_laptop_turn_{on,off}_backlight() are designed for controlling
-the power of the backlight, but they aren't really used in the driver
-previously.
-
-Unify these two functions since they only differ in arguments passed to
-ACPI method, and wire up loongson_laptop_backlight_update() to update
-the power state of the backlight as well. Tested on the TongFang L860-T2
-Loongson-3A5000 laptop.
-
-Cc: stable@vger.kernel.org
-Fixes: 6246ed09111f ("LoongArch: Add ACPI-based generic laptop driver")
-Signed-off-by: Yao Zi <ziyao@disroot.org>
-Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/platform/loongarch/loongson-laptop.c | 73 +++++++++++++--------------
- 1 file changed, 37 insertions(+), 36 deletions(-)
-
---- a/drivers/platform/loongarch/loongson-laptop.c
-+++ b/drivers/platform/loongarch/loongson-laptop.c
-@@ -56,8 +56,7 @@ static struct input_dev *generic_inputde
- static acpi_handle hotkey_handle;
- static struct key_entry hotkey_keycode_map[GENERIC_HOTKEY_MAP_MAX];
-
--int loongson_laptop_turn_on_backlight(void);
--int loongson_laptop_turn_off_backlight(void);
-+static bool bl_powered;
- static int loongson_laptop_backlight_update(struct backlight_device *bd);
-
- /* 2. ACPI Helpers and device model */
-@@ -354,16 +353,42 @@ static int ec_backlight_level(u8 level)
- return level;
- }
-
-+static int ec_backlight_set_power(bool state)
-+{
-+ int status;
-+ union acpi_object arg0 = { ACPI_TYPE_INTEGER };
-+ struct acpi_object_list args = { 1, &arg0 };
-+
-+ arg0.integer.value = state;
-+ status = acpi_evaluate_object(NULL, "\\BLSW", &args, NULL);
-+ if (ACPI_FAILURE(status)) {
-+ pr_info("Loongson lvds error: 0x%x\n", status);
-+ return -EIO;
-+ }
-+
-+ return 0;
-+}
-+
- static int loongson_laptop_backlight_update(struct backlight_device *bd)
- {
-- int lvl = ec_backlight_level(bd->props.brightness);
-+ bool target_powered = !backlight_is_blank(bd);
-+ int ret = 0, lvl = ec_backlight_level(bd->props.brightness);
-
- if (lvl < 0)
- return -EIO;
-+
- if (ec_set_brightness(lvl))
- return -EIO;
-
-- return 0;
-+ if (target_powered != bl_powered) {
-+ ret = ec_backlight_set_power(target_powered);
-+ if (ret < 0)
-+ return ret;
-+
-+ bl_powered = target_powered;
-+ }
-+
-+ return ret;
- }
-
- static int loongson_laptop_get_brightness(struct backlight_device *bd)
-@@ -384,7 +409,7 @@ static const struct backlight_ops backli
-
- static int laptop_backlight_register(void)
- {
-- int status = 0;
-+ int status = 0, ret;
- struct backlight_properties props;
-
- memset(&props, 0, sizeof(props));
-@@ -392,44 +417,20 @@ static int laptop_backlight_register(voi
- if (!acpi_evalf(hotkey_handle, &status, "ECLL", "d"))
- return -EIO;
-
-+ ret = ec_backlight_set_power(true);
-+ if (ret)
-+ return ret;
-+
-+ bl_powered = true;
-+
- props.max_brightness = status;
- props.brightness = ec_get_brightness();
-+ props.power = BACKLIGHT_POWER_ON;
- props.type = BACKLIGHT_PLATFORM;
-
- backlight_device_register("loongson_laptop",
- NULL, NULL, &backlight_laptop_ops, &props);
-
-- return 0;
--}
--
--int loongson_laptop_turn_on_backlight(void)
--{
-- int status;
-- union acpi_object arg0 = { ACPI_TYPE_INTEGER };
-- struct acpi_object_list args = { 1, &arg0 };
--
-- arg0.integer.value = 1;
-- status = acpi_evaluate_object(NULL, "\\BLSW", &args, NULL);
-- if (ACPI_FAILURE(status)) {
-- pr_info("Loongson lvds error: 0x%x\n", status);
-- return -ENODEV;
-- }
--
-- return 0;
--}
--
--int loongson_laptop_turn_off_backlight(void)
--{
-- int status;
-- union acpi_object arg0 = { ACPI_TYPE_INTEGER };
-- struct acpi_object_list args = { 1, &arg0 };
--
-- arg0.integer.value = 0;
-- status = acpi_evaluate_object(NULL, "\\BLSW", &args, NULL);
-- if (ACPI_FAILURE(status)) {
-- pr_info("Loongson lvds error: 0x%x\n", status);
-- return -ENODEV;
-- }
-
- return 0;
- }
diff --git a/queue-6.1/series b/queue-6.1/series
index 6e4cdbd218c..34794f1aa8e 100644
--- a/queue-6.1/series
+++ b/queue-6.1/series
@@ -442,7 +442,6 @@ revert-x86-bugs-make-spectre-user-default-depend-on-mitigation_spectre_v2-on-v6.
drivers-rapidio-rio_cm.c-prevent-possible-heap-overwrite.patch
platform-loongarch-laptop-get-brightness-setting-from-ec-on-probe.patch
platform-loongarch-laptop-unregister-generic_sub_drivers-on-exit.patch
-platform-loongarch-laptop-add-backlight-power-control-support.patch
loongarch-avoid-using-r0-r1-as-mask-for-csrxchg.patch
jffs2-check-that-raw-node-were-preallocated-before-writing-summary.patch
jffs2-check-jffs2_prealloc_raw_node_refs-result-in-few-other-places.patch
diff --git a/queue-6.6/platform-loongarch-laptop-add-backlight-power-control-support.patch b/queue-6.6/platform-loongarch-laptop-add-backlight-power-control-support.patch
deleted file mode 100644
index 885488d758c..00000000000
--- a/queue-6.6/platform-loongarch-laptop-add-backlight-power-control-support.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-From 53c762b47f726e4079a1f06f684bce2fc0d56fba Mon Sep 17 00:00:00 2001
-From: Yao Zi <ziyao@disroot.org>
-Date: Thu, 5 Jun 2025 20:34:46 +0800
-Subject: platform/loongarch: laptop: Add backlight power control support
-
-From: Yao Zi <ziyao@disroot.org>
-
-commit 53c762b47f726e4079a1f06f684bce2fc0d56fba upstream.
-
-loongson_laptop_turn_{on,off}_backlight() are designed for controlling
-the power of the backlight, but they aren't really used in the driver
-previously.
-
-Unify these two functions since they only differ in arguments passed to
-ACPI method, and wire up loongson_laptop_backlight_update() to update
-the power state of the backlight as well. Tested on the TongFang L860-T2
-Loongson-3A5000 laptop.
-
-Cc: stable@vger.kernel.org
-Fixes: 6246ed09111f ("LoongArch: Add ACPI-based generic laptop driver")
-Signed-off-by: Yao Zi <ziyao@disroot.org>
-Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/platform/loongarch/loongson-laptop.c | 73 +++++++++++++--------------
- 1 file changed, 37 insertions(+), 36 deletions(-)
-
---- a/drivers/platform/loongarch/loongson-laptop.c
-+++ b/drivers/platform/loongarch/loongson-laptop.c
-@@ -56,8 +56,7 @@ static struct input_dev *generic_inputde
- static acpi_handle hotkey_handle;
- static struct key_entry hotkey_keycode_map[GENERIC_HOTKEY_MAP_MAX];
-
--int loongson_laptop_turn_on_backlight(void);
--int loongson_laptop_turn_off_backlight(void);
-+static bool bl_powered;
- static int loongson_laptop_backlight_update(struct backlight_device *bd);
-
- /* 2. ACPI Helpers and device model */
-@@ -354,16 +353,42 @@ static int ec_backlight_level(u8 level)
- return level;
- }
-
-+static int ec_backlight_set_power(bool state)
-+{
-+ int status;
-+ union acpi_object arg0 = { ACPI_TYPE_INTEGER };
-+ struct acpi_object_list args = { 1, &arg0 };
-+
-+ arg0.integer.value = state;
-+ status = acpi_evaluate_object(NULL, "\\BLSW", &args, NULL);
-+ if (ACPI_FAILURE(status)) {
-+ pr_info("Loongson lvds error: 0x%x\n", status);
-+ return -EIO;
-+ }
-+
-+ return 0;
-+}
-+
- static int loongson_laptop_backlight_update(struct backlight_device *bd)
- {
-- int lvl = ec_backlight_level(bd->props.brightness);
-+ bool target_powered = !backlight_is_blank(bd);
-+ int ret = 0, lvl = ec_backlight_level(bd->props.brightness);
-
- if (lvl < 0)
- return -EIO;
-+
- if (ec_set_brightness(lvl))
- return -EIO;
-
-- return 0;
-+ if (target_powered != bl_powered) {
-+ ret = ec_backlight_set_power(target_powered);
-+ if (ret < 0)
-+ return ret;
-+
-+ bl_powered = target_powered;
-+ }
-+
-+ return ret;
- }
-
- static int loongson_laptop_get_brightness(struct backlight_device *bd)
-@@ -384,7 +409,7 @@ static const struct backlight_ops backli
-
- static int laptop_backlight_register(void)
- {
-- int status = 0;
-+ int status = 0, ret;
- struct backlight_properties props;
-
- memset(&props, 0, sizeof(props));
-@@ -392,44 +417,20 @@ static int laptop_backlight_register(voi
- if (!acpi_evalf(hotkey_handle, &status, "ECLL", "d"))
- return -EIO;
-
-+ ret = ec_backlight_set_power(true);
-+ if (ret)
-+ return ret;
-+
-+ bl_powered = true;
-+
- props.max_brightness = status;
- props.brightness = ec_get_brightness();
-+ props.power = BACKLIGHT_POWER_ON;
- props.type = BACKLIGHT_PLATFORM;
-
- backlight_device_register("loongson_laptop",
- NULL, NULL, &backlight_laptop_ops, &props);
-
-- return 0;
--}
--
--int loongson_laptop_turn_on_backlight(void)
--{
-- int status;
-- union acpi_object arg0 = { ACPI_TYPE_INTEGER };
-- struct acpi_object_list args = { 1, &arg0 };
--
-- arg0.integer.value = 1;
-- status = acpi_evaluate_object(NULL, "\\BLSW", &args, NULL);
-- if (ACPI_FAILURE(status)) {
-- pr_info("Loongson lvds error: 0x%x\n", status);
-- return -ENODEV;
-- }
--
-- return 0;
--}
--
--int loongson_laptop_turn_off_backlight(void)
--{
-- int status;
-- union acpi_object arg0 = { ACPI_TYPE_INTEGER };
-- struct acpi_object_list args = { 1, &arg0 };
--
-- arg0.integer.value = 0;
-- status = acpi_evaluate_object(NULL, "\\BLSW", &args, NULL);
-- if (ACPI_FAILURE(status)) {
-- pr_info("Loongson lvds error: 0x%x\n", status);
-- return -ENODEV;
-- }
-
- return 0;
- }
diff --git a/queue-6.6/series b/queue-6.6/series
index 38bb7e0ee89..7c5a2c5cee2 100644
--- a/queue-6.6/series
+++ b/queue-6.6/series
@@ -208,7 +208,6 @@ io_uring-fix-task-leak-issue-in-io_wq_create.patch
drivers-rapidio-rio_cm.c-prevent-possible-heap-overwrite.patch
platform-loongarch-laptop-get-brightness-setting-from-ec-on-probe.patch
platform-loongarch-laptop-unregister-generic_sub_drivers-on-exit.patch
-platform-loongarch-laptop-add-backlight-power-control-support.patch
loongarch-avoid-using-r0-r1-as-mask-for-csrxchg.patch
loongarch-fix-panic-caused-by-null-pmd-in-huge_pte_offset.patch
jffs2-check-that-raw-node-were-preallocated-before-writing-summary.patch