Re: [PATCH v4 2/2] platform/apple-gmux: use apple_brightness to save brightness to EFI

From: Ilpo Järvinen

Date: Thu May 21 2026 - 08:43:47 EST


On Mon, 16 Mar 2026, Atharva Tiwari wrote:

> use apple_brightness to save brightness to EFI.

Please capitalize changelog text properly.

>
> (tested on iMac20,1)
>
> Signed-off-by: Atharva Tiwari <atharvatiwarilinuxdev@xxxxxxxxx>
> ---
> drivers/platform/x86/apple-gmux.c | 21 +++++++++++++++++++++
> 1 file changed, 21 insertions(+)
>
> diff --git a/drivers/platform/x86/apple-gmux.c b/drivers/platform/x86/apple-gmux.c
> index 1417e230edbd..cab3122c1a86 100644
> --- a/drivers/platform/x86/apple-gmux.c
> +++ b/drivers/platform/x86/apple-gmux.c
> @@ -22,6 +22,7 @@
> #include <linux/pci.h>
> #include <linux/vga_switcheroo.h>
> #include <linux/debugfs.h>
> +#include <linux/platform_data/apple-brightness.h>
> #include <acpi/video.h>
> #include <asm/io.h>
>
> @@ -78,6 +79,8 @@ struct apple_gmux_data {
> /* debugfs data */
> u8 selected_port;
> struct dentry *debug_dentry;
> +
> + bool save_efi;
> };
>
> static struct apple_gmux_data *apple_gmux_data;
> @@ -960,6 +963,13 @@ static int gmux_probe(struct pnp_dev *pnp, const struct pnp_device_id *id)
> }
>
> gmux_init_debugfs(gmux_data);
> + if (IS_ENABLED(CONFIG_APPLE_BRIGHTNESS)) {
> + ret = apple_brightness_probe(gmux_data->bdev, &gmux_get_brightness);
> + if (ret)
> + pr_warn("Unable to Enable EFI brightness save: %d\n", ret);

Include for pr_warn() is missing from this file.

> + else
> + gmux_data->save_efi = true;
> + }
> return 0;
>
> err_register_handler:
> @@ -1012,6 +1022,16 @@ static void gmux_remove(struct pnp_dev *pnp)
> kfree(gmux_data);
> }
>
> +static void gmux_shutdown(struct pnp_dev *pnp)
> +{
> + struct apple_gmux_data *gmux_data = pnp_get_drvdata(pnp);
> +
> + if (IS_ENABLED(CONFIG_APPLE_BRIGHTNESS) && gmux_data->save_efi)
> + apple_brightness_shutdown();
> +
> + gmux_remove(pnp);
> +}
> +
> static const struct pnp_device_id gmux_device_ids[] = {
> {GMUX_ACPI_HID, 0},
> {"", 0}
> @@ -1026,6 +1046,7 @@ static struct pnp_driver gmux_pnp_driver = {
> .name = "apple-gmux",
> .probe = gmux_probe,
> .remove = gmux_remove,
> + .shutdown = gmux_shutdown,
> .id_table = gmux_device_ids,
> .driver = {
> .pm = &gmux_dev_pm_ops,
>

--
i.