Re: [PATCH 1/4] leds: cpcap: add support for the keyboard light channel

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

 



Hi,

On Sun, Dec 04, 2022 at 11:43:10AM +0100, Carl Philipp Klemm wrote:
> The keyboard light channel is used on xt875 for the touchscreen
> button lights.
> This commit also adds a checks for the sucessfull return of
> device_get_match_data.

"this commit also adds ..." means, that the commit should be split
:)

> Signed-off-by: Carl Philipp Klemm <philipp@xxxxxxxx>
> ---
>  drivers/leds/leds-cpcap.c    | 15 +++++++++++++++
>  drivers/mfd/motorola-cpcap.c |  4 ++++
>  2 files changed, 19 insertions(+)
> 
> diff --git a/drivers/leds/leds-cpcap.c b/drivers/leds/leds-cpcap.c
> index 7d41ce8c9bb1..11a9b857d8ea 100644
> --- a/drivers/leds/leds-cpcap.c
> +++ b/drivers/leds/leds-cpcap.c
> @@ -58,6 +58,15 @@ static const struct cpcap_led_info cpcap_led_cp = {
>  	.init_val	= 0x0008,
>  };
>  
> +/* keyboard led */
> +static const struct cpcap_led_info cpcap_led_kl = {
> +	.reg		= CPCAP_REG_KLC,
> +	.mask		= 0x0001,
> +	.limit		= 1,
> +	.init_mask	= 0x07FF,
> +	.init_val	= 0x07F0,
> +};
> +
>  struct cpcap_led {
>  	struct led_classdev led;
>  	const struct cpcap_led_info *info;
> @@ -152,6 +161,7 @@ static const struct of_device_id cpcap_led_of_match[] = {
>  	{ .compatible = "motorola,cpcap-led-blue",  .data = &cpcap_led_blue },
>  	{ .compatible = "motorola,cpcap-led-adl", .data = &cpcap_led_adl },
>  	{ .compatible = "motorola,cpcap-led-cp", .data = &cpcap_led_cp },
> +	{ .compatible = "motorola,cpcap-led-kl", .data = &cpcap_led_kl },
>  	{},
>  };
>  MODULE_DEVICE_TABLE(of, cpcap_led_of_match);
> @@ -168,6 +178,11 @@ static int cpcap_led_probe(struct platform_device *pdev)
>  	led->info = device_get_match_data(&pdev->dev);
>  	led->dev = &pdev->dev;
>  
> +	if (!led->info) {
> +		dev_warn(led->dev, "Can't get match data");
> +		return -ENODEV;
> +	}

If it's fatal, it should be dev_err and not dev_warn:

if (!led->info)
    return dev_err_probe(led->dev, -ENODEV, "Can't get match data");

-- Sebastian

> +
>  	if (led->info->reg == 0x0000) {
>  		dev_err(led->dev, "Unsupported LED");
>  		return -ENODEV;
> diff --git a/drivers/mfd/motorola-cpcap.c b/drivers/mfd/motorola-cpcap.c
> index 265464b5d7cc..57b3378a8829 100644
> --- a/drivers/mfd/motorola-cpcap.c
> +++ b/drivers/mfd/motorola-cpcap.c
> @@ -285,6 +285,10 @@ static const struct mfd_cell cpcap_mfd_devices[] = {
>  		.name          = "cpcap-led",
>  		.id            = 4,
>  		.of_compatible = "motorola,cpcap-led-cp",
> +	}, {
> +		.name          = "cpcap-led",
> +		.id            = 5,
> +		.of_compatible = "motorola,cpcap-led-kl",
>  	}, {
>  		.name          = "cpcap-codec",
>  	}
> -- 
> 2.38.1
> 
> 

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux