diff mbox

[158/182] leds: pca9532: use gpiochip data pointer

Message ID 1449668770-5933-1-git-send-email-linus.walleij@linaro.org
State New
Headers show

Commit Message

Linus Walleij Dec. 9, 2015, 1:46 p.m. UTC
This makes the driver use the data pointer added to the gpio_chip
to store a pointer to the state container instead of relying on
container_of().

Cc: Riku Voipio <riku.voipio@iki.fi>
Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: Jacek Anaszewski <j.anaszewski@samsung.com>
Cc: linux-leds@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
LEDS people: please ACK this so I can merge it in the GPIO tree.
---
 drivers/leds/leds-pca9532.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Jacek Anaszewski Dec. 9, 2015, 2:29 p.m. UTC | #1
On 12/09/2015 02:46 PM, Linus Walleij wrote:
> This makes the driver use the data pointer added to the gpio_chip
> to store a pointer to the state container instead of relying on
> container_of().
>
> Cc: Riku Voipio <riku.voipio@iki.fi>
> Cc: Richard Purdie <rpurdie@rpsys.net>
> Cc: Jacek Anaszewski <j.anaszewski@samsung.com>
> Cc: linux-leds@vger.kernel.org
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> LEDS people: please ACK this so I can merge it in the GPIO tree.
> ---
>   drivers/leds/leds-pca9532.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/leds/leds-pca9532.c b/drivers/leds/leds-pca9532.c
> index a975b32ee8c8..1b228adfd1a7 100644
> --- a/drivers/leds/leds-pca9532.c
> +++ b/drivers/leds/leds-pca9532.c
> @@ -245,7 +245,7 @@ static void pca9532_led_work(struct work_struct *work)
>   #ifdef CONFIG_LEDS_PCA9532_GPIO
>   static int pca9532_gpio_request_pin(struct gpio_chip *gc, unsigned offset)
>   {
> -	struct pca9532_data *data = container_of(gc, struct pca9532_data, gpio);
> +	struct pca9532_data *data = gpiochip_get_data(gc);
>   	struct pca9532_led *led = &data->leds[offset];
>
>   	if (led->type == PCA9532_TYPE_GPIO)
> @@ -256,7 +256,7 @@ static int pca9532_gpio_request_pin(struct gpio_chip *gc, unsigned offset)
>
>   static void pca9532_gpio_set_value(struct gpio_chip *gc, unsigned offset, int val)
>   {
> -	struct pca9532_data *data = container_of(gc, struct pca9532_data, gpio);
> +	struct pca9532_data *data = gpiochip_get_data(gc);
>   	struct pca9532_led *led = &data->leds[offset];
>
>   	if (val)
> @@ -269,7 +269,7 @@ static void pca9532_gpio_set_value(struct gpio_chip *gc, unsigned offset, int va
>
>   static int pca9532_gpio_get_value(struct gpio_chip *gc, unsigned offset)
>   {
> -	struct pca9532_data *data = container_of(gc, struct pca9532_data, gpio);
> +	struct pca9532_data *data = gpiochip_get_data(gc);
>   	unsigned char reg;
>
>   	reg = i2c_smbus_read_byte_data(data->client, PCA9532_REG_INPUT(offset));
> @@ -416,7 +416,7 @@ static int pca9532_configure(struct i2c_client *client,
>   		data->gpio.parent = &client->dev;
>   		data->gpio.owner = THIS_MODULE;
>
> -		err = gpiochip_add(&data->gpio);
> +		err = gpiochip_add_data(&data->gpio, data);
>   		if (err) {
>   			/* Use data->gpio.dev as a flag for freeing gpiochip */
>   			data->gpio.parent = NULL;
>

This applies only with 3-way merge due to work queue removal related
changes that already sit on LED git. Nothing clever can be done to fix
that since those changes depend on LED core changes and this patch
depends on GPIO changes. We'll need to add relevant remarks in the pull
requests.

Acked-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Linus Walleij Dec. 11, 2015, 6:39 p.m. UTC | #2
On Wed, Dec 9, 2015 at 3:29 PM, Jacek Anaszewski
<j.anaszewski@samsung.com> wrote:

> This applies only with 3-way merge due to work queue removal related
> changes that already sit on LED git. Nothing clever can be done to fix
> that since those changes depend on LED core changes and this patch
> depends on GPIO changes. We'll need to add relevant remarks in the pull
> requests.

OK we will notice it in linux-next first I guess, so CC:in that list.
I plan to merge this into the GPIO tree next week.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/leds/leds-pca9532.c b/drivers/leds/leds-pca9532.c
index a975b32ee8c8..1b228adfd1a7 100644
--- a/drivers/leds/leds-pca9532.c
+++ b/drivers/leds/leds-pca9532.c
@@ -245,7 +245,7 @@  static void pca9532_led_work(struct work_struct *work)
 #ifdef CONFIG_LEDS_PCA9532_GPIO
 static int pca9532_gpio_request_pin(struct gpio_chip *gc, unsigned offset)
 {
-	struct pca9532_data *data = container_of(gc, struct pca9532_data, gpio);
+	struct pca9532_data *data = gpiochip_get_data(gc);
 	struct pca9532_led *led = &data->leds[offset];
 
 	if (led->type == PCA9532_TYPE_GPIO)
@@ -256,7 +256,7 @@  static int pca9532_gpio_request_pin(struct gpio_chip *gc, unsigned offset)
 
 static void pca9532_gpio_set_value(struct gpio_chip *gc, unsigned offset, int val)
 {
-	struct pca9532_data *data = container_of(gc, struct pca9532_data, gpio);
+	struct pca9532_data *data = gpiochip_get_data(gc);
 	struct pca9532_led *led = &data->leds[offset];
 
 	if (val)
@@ -269,7 +269,7 @@  static void pca9532_gpio_set_value(struct gpio_chip *gc, unsigned offset, int va
 
 static int pca9532_gpio_get_value(struct gpio_chip *gc, unsigned offset)
 {
-	struct pca9532_data *data = container_of(gc, struct pca9532_data, gpio);
+	struct pca9532_data *data = gpiochip_get_data(gc);
 	unsigned char reg;
 
 	reg = i2c_smbus_read_byte_data(data->client, PCA9532_REG_INPUT(offset));
@@ -416,7 +416,7 @@  static int pca9532_configure(struct i2c_client *client,
 		data->gpio.parent = &client->dev;
 		data->gpio.owner = THIS_MODULE;
 
-		err = gpiochip_add(&data->gpio);
+		err = gpiochip_add_data(&data->gpio, data);
 		if (err) {
 			/* Use data->gpio.dev as a flag for freeing gpiochip */
 			data->gpio.parent = NULL;