[PATCH linux dev-4.10 1/2] leds: pca955x: sync with mainline driver
Andrew Jeffery
andrew at aj.id.au
Mon Aug 28 13:57:48 AEST 2017
On Sun, 2017-08-27 at 18:45 +0200, Cédric Le Goater wrote:
> The result should be in sync with kernel 4.14 once the gpio extension
> is merged in the pca955x driver.
>
> Signed-off-by: Cédric Le Goater <clg at kaod.org>
Thanks, applied to dev-4.10.
Andrew
> ---
> drivers/leds/leds-pca955x.c | 49 ++++++++++++++++++-----------------
> ----------
> 1 file changed, 19 insertions(+), 30 deletions(-)
>
> diff --git a/drivers/leds/leds-pca955x.c b/drivers/leds/leds-
> pca955x.c
> index 0217bac2f47b..f062d1e7640f 100644
> --- a/drivers/leds/leds-pca955x.c
> +++ b/drivers/leds/leds-pca955x.c
> @@ -342,7 +342,8 @@ pca955x_pdata_of_init(struct i2c_client *client,
> struct pca955x_chipdef *chip)
> return ERR_PTR(-ENOMEM);
>
> pdata->leds = devm_kzalloc(&client->dev,
> - sizeof(struct pca955x_led) * chip->bits,
> GFP_KERNEL);
> + sizeof(struct pca955x_led) *
> chip->bits,
> + GFP_KERNEL);
> if (!pdata->leds)
> return ERR_PTR(-ENOMEM);
>
> @@ -430,16 +431,14 @@ static int pca955x_probe(struct i2c_client
> *client,
> "slave address 0x%02x\n",
> client->name, chip->bits, client->addr);
>
> - if (!i2c_check_functionality(adapter, I2C_FUNC_I2C))
> + if (!i2c_check_functionality(adapter,
> I2C_FUNC_SMBUS_BYTE_DATA))
> return -EIO;
>
> - if (pdata) {
> - if (pdata->num_leds != chip->bits) {
> - dev_err(&client->dev, "board info claims %d
> LEDs"
> - " on a %d-bit chip\n",
> - pdata->num_leds, chip-
> >bits);
> - return -ENODEV;
> - }
> + if (pdata->num_leds != chip->bits) {
> + dev_err(&client->dev,
> + "board info claims %d LEDs on a %d-bit
> chip\n",
> + pdata->num_leds, chip->bits);
> + return -ENODEV;
> }
>
> pca955x = devm_kzalloc(&client->dev, sizeof(*pca955x),
> GFP_KERNEL);
> @@ -458,12 +457,10 @@ static int pca955x_probe(struct i2c_client
> *client,
> pca955x->chipdef = chip;
>
> for (i = 0; i < chip->bits; i++) {
> - struct pca955x_led *pdata_led = &pdata->leds[i];
> -
> pca955x_led = &pca955x->leds[i];
> pca955x_led->led_num = i;
> pca955x_led->pca955x = pca955x;
> - pca955x_led->type = pdata_led->type;
> + pca955x_led->type = pdata->leds[i].type;
>
> switch (pca955x_led->type) {
> case PCA955X_TYPE_NONE:
> @@ -476,27 +473,20 @@ static int pca955x_probe(struct i2c_client
> *client,
> * Platform data can specify LED names and
> * default triggers
> */
> - if (pdata) {
> - if (pdata->leds[i].name)
> - snprintf(pca955x_led->name,
> - sizeof(pca955x_led-
> >name),
> - "pca955x:%s",
> - pdata-
> >leds[i].name);
> - if (pdata->leds[i].default_trigger)
> - pca955x_led-
> >led_cdev.default_trigger =
> - pdata-
> >leds[i].default_trigger;
> - } else {
> + if (pdata->leds[i].name)
> snprintf(pca955x_led->name,
> - sizeof(pca955x_led->name),
> - "pca955x:%d", i);
> - }
> + sizeof(pca955x_led->name),
> "pca955x:%s",
> + pdata->leds[i].name);
> + if (pdata->leds[i].default_trigger)
> + pca955x_led-
> >led_cdev.default_trigger =
> + pdata-
> >leds[i].default_trigger;
>
> pca955x_led->led_cdev.name = pca955x_led-
> >name;
> pca955x_led-
> >led_cdev.brightness_set_blocking =
> pca955x_led_set;
>
> err = devm_led_classdev_register(&client-
> >dev,
> - &pca955x_led-
> >led_cdev);
> + &pca955x_led
> ->led_cdev);
> if (err)
> return err;
>
> @@ -536,11 +526,10 @@ static int pca955x_probe(struct i2c_client
> *client,
> pca955x->gpio.parent = NULL;
> dev_warn(&client->dev, "could not add
> gpiochip\n");
> return err;
> - } else {
> - dev_info(&client->dev, "gpios %i...%i\n",
> - pca955x->gpio.base, pca955x-
> >gpio.base +
> - pca955x->gpio.ngpio - 1);
> }
> + dev_info(&client->dev, "gpios %i...%i\n",
> + pca955x->gpio.base, pca955x->gpio.base +
> + pca955x->gpio.ngpio - 1);
> }
> #endif
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: This is a digitally signed message part
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20170828/1fc80cc1/attachment.sig>
More information about the openbmc
mailing list