RE: [PATCH V3] leds: pca955x: Add ACPI support for pca955x

From: Phong Vo
Date: Wed Nov 30 2016 - 03:23:55 EST


+-----Original Message-----
+From: Jacek Anaszewski [mailto:j.anaszewski@xxxxxxxxxxx]
+Sent: Wednesday, November 30, 2016 3:18 PM
+To: Tin Huynh
+Cc: Mika Westerberg; Rafael J. Wysocki; Richard Purdie; linux-
+leds@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-
+acpi@xxxxxxxxxxxxxxx; Loc Ho; Thang Nguyen; Phong Vo; patches
+Subject: Re: [PATCH V3] leds: pca955x: Add ACPI support for pca955x
+
+On 11/30/2016 09:06 AM, Tin Huynh wrote:
+> On Wed, Nov 30, 2016 at 3:01 PM, Jacek Anaszewski
+> <j.anaszewski@xxxxxxxxxxx> wrote:
+>>
+>> On 11/30/2016 08:51 AM, Jacek Anaszewski wrote:
+>>>
+>>> Hi Tin,
+>>>
+>>> How this patch is different from the one already merged?
+>>>
+>>> Best regards,
+>>> Jacek Anaszewski
+>>>

Hi Jacek, I am answering on behalf of Tin.
This patch is for the leds:pca955x driver while the previous one was for
leds:pca963x driver!
They are almost the same in the coding construct, but different drivers.

+>>> On 11/30/2016 04:08 AM, Tin Huynh wrote:
+>>>>
+>>>> This patch enables ACPI support for leds-pca955x driver.
+>>>>
+>>>> Signed-off-by: Tin Huynh <tnhuynh@xxxxxxx>
+>>>> ---
+>>>> drivers/leds/leds-pca955x.c | 22 +++++++++++++++++++++-
+>>>> 1 files changed, 21 insertions(+), 1 deletions(-)
+>>>>
+>>>> Change from V2:
+>>>> -Correct coding conventions.
+>>>>
+>>>> Change from V1:
+>>>> -Remove CONFIG_ACPI.
+>>>>
+>>>> diff --git a/drivers/leds/leds-pca955x.c
+>>>> b/drivers/leds/leds-pca955x.c index 840401a..b168ebe 100644
+>>>> --- a/drivers/leds/leds-pca955x.c
+>>>> +++ b/drivers/leds/leds-pca955x.c
+>>>> @@ -40,6 +40,7 @@
+>>>> * bits the chip supports.
+>>>> */
+>>>>
+>>>> +#include <linux/acpi.h>
+>>>> #include <linux/module.h>
+>>>> #include <linux/delay.h>
+>>>> #include <linux/string.h>
+>>>> @@ -100,6 +101,15 @@ struct pca955x_chipdef { };
+>>>> MODULE_DEVICE_TABLE(i2c, pca955x_id);
+>>>>
+>>>> +static const struct acpi_device_id pca955x_acpi_ids[] = {
+>>>> + { .id = "PCA9550", .driver_data = pca9550 },
+>>>> + { .id = "PCA9551", .driver_data = pca9551 },
+>>>> + { .id = "PCA9552", .driver_data = pca9552 },
+>>>> + { .id = "PCA9553", .driver_data = pca9553 },
+>>>> + { }
+>>
+>>
+>> OK, I see that you brought back explicit properties in the structure
+>> initializer. Is there some vital reason for that?

It's not vital, but to make it consistent with what was done for pca963x,
and also per suggestion by Mika on reviewing a different driver mux:954x in
another thread.
I would think this would make the definition clearer.

+>> You're mentioning "correcting coding conventions" in the patch
+>> changelog. checkpatch.pl --strict doesn't complain about that, so
+>> what coding conventions you have on mind?
+>
+>
+>>
+>>
+>>>> +MODULE_DEVICE_TABLE(acpi, pca955x_acpi_ids);
+>>>> +
+>>>> struct pca955x {
+>>>> struct mutex lock;
+>>>> struct pca955x_led *leds;
+>>>> @@ -250,7 +260,16 @@ static int pca955x_probe(struct i2c_client
+*client,
+>>>> struct led_platform_data *pdata;
+>>>> int i, err;
+>>>>
+>>>> - chip = &pca955x_chipdefs[id->driver_data];
+>>>> + if (id) {
+>>>> + chip = &pca955x_chipdefs[id->driver_data];
+>>>> + } else {
+>>>> + const struct acpi_device_id *acpi_id;
+>
+> I added '{}' follow if
+
+You had it already in V1. Please verify if the patch applied to the for-
+next branch of linux-leds.git has the shape you intended:
+
+https://git.kernel.org/cgit/linux/kernel/git/j.anaszewski/linux-
+leds.git/commit/?h=for-next&id=e46895b71a26da404c4d95cb2bab1a67cf8b20bc
+
+--
+Best regards,
+Jacek Anaszewski