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

Ilpo Järvinen <[email protected]> Thu, 21 May 2026 15:43:21 +0300 (EEST)
Newsgroups org.kernel.vger.linux-efi,org.kernel.vger.linux-kernel,org.kernel.vger.platform-driver-x86
Message-ID <[email protected]>
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 <[email protected]>
> ---
>  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.