Re: [PATCH v4 2/2] x86: Further PCEngines APU4/5/6 cleanup

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

 



Hi,

On 1/14/23 00:11, Philip Prindeville wrote:
> From: Philip Prindeville <philipp@xxxxxxxxxxxxxxxxxxxxx>
> 
> Updated exclusionary warning in leds-apu.c about unsupported models.
> 
> Updated list of supported modules in Kconfig.
> 
> Updated copyright and module aliases to cover more models.
> 
> Signed-off-by: Philip Prindeville <philipp@xxxxxxxxxxxxxxxxxxxxx>
> Reviewed-by: Paul Spooren <paul@xxxxxxxxxx>
> ---
>  drivers/leds/leds-apu.c                | 2 +-
>  drivers/platform/x86/Kconfig           | 4 ++--
>  drivers/platform/x86/pcengines-apuv2.c | 5 +++++
>  3 files changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/leds/leds-apu.c b/drivers/leds/leds-apu.c
> index c409b80c236d7182c79944225dd4b9e5d32f0a9f..fb3332863c36241e4b7f75f89213171ec0c0dd04 100644
> --- a/drivers/leds/leds-apu.c
> +++ b/drivers/leds/leds-apu.c
> @@ -183,7 +183,7 @@ static int __init apu_led_init(void)
>  
>  	if (!(dmi_match(DMI_SYS_VENDOR, "PC Engines") &&
>  	      (dmi_match(DMI_PRODUCT_NAME, "APU") || dmi_match(DMI_PRODUCT_NAME, "apu1")))) {
> -		pr_err("No PC Engines APUv1 board detected. For APUv2,3 support, enable CONFIG_PCENGINES_APU2\n");
> +		pr_err("No PC Engines APUv1 board detected. For APUv2,3,4,5,6 support, enable CONFIG_PCENGINES_APU2\n");
>  		return -ENODEV;
>  	}
>  
> diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
> index 5692385e2d26fed92785488ce1c6e88449c54c78..f930d5dd3efee11fbad4ad9508eb288bb4181bab 100644
> --- a/drivers/platform/x86/Kconfig
> +++ b/drivers/platform/x86/Kconfig
> @@ -698,7 +698,7 @@ config XO1_RFKILL
>  	  laptop.
>  
>  config PCENGINES_APU2
> -	tristate "PC Engines APUv2/3 front button and LEDs driver"
> +	tristate "PC Engines APUv2/3/4/5/6 front button and LEDs driver"
>  	depends on INPUT && INPUT_KEYBOARD && GPIOLIB
>  	depends on LEDS_CLASS
>  	select GPIO_AMD_FCH
> @@ -706,7 +706,7 @@ config PCENGINES_APU2
>  	select LEDS_GPIO
>  	help
>  	  This driver provides support for the front button and LEDs on
> -	  PC Engines APUv2/APUv3 board.
> +	  PC Engines APUv2/APUv3/APUv4/APUv5/APUv6 board.
>  
>  	  To compile this driver as a module, choose M here: the module
>  	  will be called pcengines-apuv2.
> diff --git a/drivers/platform/x86/pcengines-apuv2.c b/drivers/platform/x86/pcengines-apuv2.c
> index 8731564bab62c1e47e99adb6ec23b3de81b09069..bd58d5294f0146088d435f1c9df83eb218b67b0c 100644
> --- a/drivers/platform/x86/pcengines-apuv2.c
> +++ b/drivers/platform/x86/pcengines-apuv2.c
> @@ -6,6 +6,7 @@
>   *
>   * Copyright (C) 2018 metux IT consult
>   * Copyright (C) 2022 Ed Wildgoose <lists@xxxxxxxxxxxxxx>
> + * Copyright (C) 2022 Philip Prindeville <philipp@xxxxxxxxxxxxxxxxxxxxx>
>   * Author: Enrico Weigelt <info@xxxxxxxxx>
>   */
>  
> @@ -377,4 +378,8 @@ MODULE_DESCRIPTION("PC Engines APUv2-6 board GPIO/LEDs/keys driver");
>  MODULE_LICENSE("GPL");
>  MODULE_DEVICE_TABLE(dmi, apu_gpio_dmi_table);
>  MODULE_ALIAS("platform:pcengines-apuv2");
> +MODULE_ALIAS("platform:pcengines-apuv3");
> +MODULE_ALIAS("platform:pcengines-apuv4");
> +MODULE_ALIAS("platform:pcengines-apuv5");
> +MODULE_ALIAS("platform:pcengines-apuv6");

Rather then add all these, can you drop the first MODULE_ALIAS instead?

The driver auto-loads based on the DMI modaliases and this platform
modalias is not necessary and broken:

1. not necessary since the driver itself creates the platform_device,
   so it is already loaded when the modalias might be used
2. From a quick scan of the code it does not create any platform-devices
   called "platform:pcengines-apuv2"



>  MODULE_SOFTDEP("pre: platform:" AMD_FCH_GPIO_DRIVER_NAME " platform:leds-gpio platform:gpio_keys_polled");

Regards,

Hans





[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux