All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vasily Khoruzhick <anarsoul@gmail.com>
To: Ben Dooks <ben-linux@fluff.org>,
	Richard Purdie <rpurdie@linux.intel.com>
Cc: linux-samsung-soc@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Kukjin Kim <kgene.kim@samsung.com>
Subject: Re: [PATCH 2/2] h1940-leds: Fix compile issue introduced by latch-related changes
Date: Mon, 6 Dec 2010 18:43:13 +0200	[thread overview]
Message-ID: <201012061843.13558.anarsoul@gmail.com> (raw)
In-Reply-To: <1289248308-21272-2-git-send-email-anarsoul@gmail.com>

On Monday 08 November 2010 22:31:48 Vasily Khoruzhick wrote:
> Latch API was converted to gpiolib API as result we got this compile
> error:
> 
> drivers/leds/leds-h1940.c: In function 'h1940_greenled_set':
> drivers/leds/leds-h1940.c:33: error: implicit declaration of function
> 'h1940_latch_control
> 
> Adapt h1940-leds driver to new changes and fix compile issue.
> 
> Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
> ---
>  drivers/leds/leds-h1940.c |   67
> ++++++++++++++++++++++++++++++++------------- 1 files changed, 48
> insertions(+), 19 deletions(-)
> 
> diff --git a/drivers/leds/leds-h1940.c b/drivers/leds/leds-h1940.c
> index 173d104..d9c2729 100644
> --- a/drivers/leds/leds-h1940.c
> +++ b/drivers/leds/leds-h1940.c
> @@ -30,18 +30,18 @@ static void h1940_greenled_set(struct led_classdev
> *led_dev, {
>  	switch (value) {
>  	case LED_HALF:
> -		h1940_latch_control(0, H1940_LATCH_LED_FLASH);
> -		s3c2410_gpio_setpin(S3C2410_GPA7, 1);
> +		gpio_set_value(H1940_LATCH_LED_FLASH, 1);
> +		gpio_set_value(S3C2410_GPA(7), 1);
>  		break;
>  	case LED_FULL:
> -		h1940_latch_control(0, H1940_LATCH_LED_GREEN);
> -		s3c2410_gpio_setpin(S3C2410_GPA7, 1);
> +		gpio_set_value(H1940_LATCH_LED_GREEN, 1);
> +		gpio_set_value(S3C2410_GPA(7), 1);
>  		break;
>  	default:
>  	case LED_OFF:
> -		h1940_latch_control(H1940_LATCH_LED_FLASH, 0);
> -		h1940_latch_control(H1940_LATCH_LED_GREEN, 0);
> -		s3c2410_gpio_setpin(S3C2410_GPA7, 0);
> +		gpio_set_value(H1940_LATCH_LED_FLASH, 0);
> +		gpio_set_value(H1940_LATCH_LED_GREEN, 0);
> +		gpio_set_value(S3C2410_GPA(7), 0);
>  		break;
>  	}
>  }
> @@ -60,18 +60,18 @@ static void h1940_redled_set(struct led_classdev
> *led_dev, {
>  	switch (value) {
>  	case LED_HALF:
> -		h1940_latch_control(0, H1940_LATCH_LED_FLASH);
> -		s3c2410_gpio_setpin(S3C2410_GPA1, 1);
> +		gpio_set_value(H1940_LATCH_LED_FLASH, 1);
> +		gpio_set_value(S3C2410_GPA(1), 1);
>  		break;
>  	case LED_FULL:
> -		h1940_latch_control(0, H1940_LATCH_LED_RED);
> -		s3c2410_gpio_setpin(S3C2410_GPA1, 1);
> +		gpio_set_value(H1940_LATCH_LED_RED, 1);
> +		gpio_set_value(S3C2410_GPA(1), 1);
>  		break;
>  	default:
>  	case LED_OFF:
> -		h1940_latch_control(H1940_LATCH_LED_FLASH, 0);
> -		h1940_latch_control(H1940_LATCH_LED_RED, 0);
> -		s3c2410_gpio_setpin(S3C2410_GPA1, 0);
> +		gpio_set_value(H1940_LATCH_LED_FLASH, 0);
> +		gpio_set_value(H1940_LATCH_LED_RED, 0);
> +		gpio_set_value(S3C2410_GPA(1), 0);
>  		break;
>  	}
>  }
> @@ -91,11 +91,11 @@ static void h1940_blueled_set(struct led_classdev
> *led_dev, {
>  	if (value) {
>  		/* flashing Blue */
> -		h1940_latch_control(0, H1940_LATCH_LED_FLASH);
> -		s3c2410_gpio_setpin(S3C2410_GPA3, 1);
> +		gpio_set_value(H1940_LATCH_LED_FLASH, 1);
> +		gpio_set_value(S3C2410_GPA(3), 1);
>  	} else {
> -		h1940_latch_control(H1940_LATCH_LED_FLASH, 0);
> -		s3c2410_gpio_setpin(S3C2410_GPA3, 0);
> +		gpio_set_value(H1940_LATCH_LED_FLASH, 0);
> +		gpio_set_value(S3C2410_GPA(3), 0);
>  	}
> 
>  }
> @@ -108,7 +108,24 @@ static struct led_classdev h1940_blueled = {
> 
>  static int __devinit h1940leds_probe(struct platform_device *pdev)
>  {
> -	int ret;
> +	int ret, gpioidx = 0;
> +	int led_gpios[] = {
> +		H1940_LATCH_LED_GREEN,
> +		H1940_LATCH_LED_RED,
> +		H1940_LATCH_LED_FLASH,
> +		S3C2410_GPA(1),
> +		S3C2410_GPA(3),
> +		S3C2410_GPA(7),
> +	};
> +
> +	for (gpioidx = 0; gpioidx < ARRAY_SIZE(led_gpios); gpioidx++) {
> +		ret = gpio_request(led_gpios[gpioidx], "h1940 leds");
> +		if (ret < 0)
> +			goto err_gpio;
> +		ret = gpio_direction_output(led_gpios[gpioidx], 0);
> +		if (ret < 0)
> +			goto err_gpio;
> +	}
> 
>  	ret = led_classdev_register(&pdev->dev, &h1940_greenled);
>  	if (ret)
> @@ -129,6 +146,10 @@ err_blue:
>  err_red:
>  	led_classdev_unregister(&h1940_greenled);
>  err_green:
> +err_gpio:
> +	while (--gpioidx >= 0)
> +		gpio_free(led_gpios[gpioidx]);
> +
>  	return ret;
>  }
> 
> @@ -137,6 +158,14 @@ static int h1940leds_remove(struct platform_device
> *pdev) led_classdev_unregister(&h1940_greenled);
>  	led_classdev_unregister(&h1940_redled);
>  	led_classdev_unregister(&h1940_blueled);
> +
> +	gpio_free(H1940_LATCH_LED_GREEN);
> +	gpio_free(H1940_LATCH_LED_RED);
> +	gpio_free(H1940_LATCH_LED_FLASH);
> +	gpio_free(S3C2410_GPA(1));
> +	gpio_free(S3C2410_GPA(3));
> +	gpio_free(S3C2410_GPA(7));
> +
>  	return 0;
>  }

Added Richard Purdie to CC (it seems he changed email address).

Richard, could you review/merge this patch?

Regards
Vasily

WARNING: multiple messages have this Message-ID (diff)
From: anarsoul@gmail.com (Vasily Khoruzhick)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] h1940-leds: Fix compile issue introduced by latch-related changes
Date: Mon, 6 Dec 2010 18:43:13 +0200	[thread overview]
Message-ID: <201012061843.13558.anarsoul@gmail.com> (raw)
In-Reply-To: <1289248308-21272-2-git-send-email-anarsoul@gmail.com>

On Monday 08 November 2010 22:31:48 Vasily Khoruzhick wrote:
> Latch API was converted to gpiolib API as result we got this compile
> error:
> 
> drivers/leds/leds-h1940.c: In function 'h1940_greenled_set':
> drivers/leds/leds-h1940.c:33: error: implicit declaration of function
> 'h1940_latch_control
> 
> Adapt h1940-leds driver to new changes and fix compile issue.
> 
> Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
> ---
>  drivers/leds/leds-h1940.c |   67
> ++++++++++++++++++++++++++++++++------------- 1 files changed, 48
> insertions(+), 19 deletions(-)
> 
> diff --git a/drivers/leds/leds-h1940.c b/drivers/leds/leds-h1940.c
> index 173d104..d9c2729 100644
> --- a/drivers/leds/leds-h1940.c
> +++ b/drivers/leds/leds-h1940.c
> @@ -30,18 +30,18 @@ static void h1940_greenled_set(struct led_classdev
> *led_dev, {
>  	switch (value) {
>  	case LED_HALF:
> -		h1940_latch_control(0, H1940_LATCH_LED_FLASH);
> -		s3c2410_gpio_setpin(S3C2410_GPA7, 1);
> +		gpio_set_value(H1940_LATCH_LED_FLASH, 1);
> +		gpio_set_value(S3C2410_GPA(7), 1);
>  		break;
>  	case LED_FULL:
> -		h1940_latch_control(0, H1940_LATCH_LED_GREEN);
> -		s3c2410_gpio_setpin(S3C2410_GPA7, 1);
> +		gpio_set_value(H1940_LATCH_LED_GREEN, 1);
> +		gpio_set_value(S3C2410_GPA(7), 1);
>  		break;
>  	default:
>  	case LED_OFF:
> -		h1940_latch_control(H1940_LATCH_LED_FLASH, 0);
> -		h1940_latch_control(H1940_LATCH_LED_GREEN, 0);
> -		s3c2410_gpio_setpin(S3C2410_GPA7, 0);
> +		gpio_set_value(H1940_LATCH_LED_FLASH, 0);
> +		gpio_set_value(H1940_LATCH_LED_GREEN, 0);
> +		gpio_set_value(S3C2410_GPA(7), 0);
>  		break;
>  	}
>  }
> @@ -60,18 +60,18 @@ static void h1940_redled_set(struct led_classdev
> *led_dev, {
>  	switch (value) {
>  	case LED_HALF:
> -		h1940_latch_control(0, H1940_LATCH_LED_FLASH);
> -		s3c2410_gpio_setpin(S3C2410_GPA1, 1);
> +		gpio_set_value(H1940_LATCH_LED_FLASH, 1);
> +		gpio_set_value(S3C2410_GPA(1), 1);
>  		break;
>  	case LED_FULL:
> -		h1940_latch_control(0, H1940_LATCH_LED_RED);
> -		s3c2410_gpio_setpin(S3C2410_GPA1, 1);
> +		gpio_set_value(H1940_LATCH_LED_RED, 1);
> +		gpio_set_value(S3C2410_GPA(1), 1);
>  		break;
>  	default:
>  	case LED_OFF:
> -		h1940_latch_control(H1940_LATCH_LED_FLASH, 0);
> -		h1940_latch_control(H1940_LATCH_LED_RED, 0);
> -		s3c2410_gpio_setpin(S3C2410_GPA1, 0);
> +		gpio_set_value(H1940_LATCH_LED_FLASH, 0);
> +		gpio_set_value(H1940_LATCH_LED_RED, 0);
> +		gpio_set_value(S3C2410_GPA(1), 0);
>  		break;
>  	}
>  }
> @@ -91,11 +91,11 @@ static void h1940_blueled_set(struct led_classdev
> *led_dev, {
>  	if (value) {
>  		/* flashing Blue */
> -		h1940_latch_control(0, H1940_LATCH_LED_FLASH);
> -		s3c2410_gpio_setpin(S3C2410_GPA3, 1);
> +		gpio_set_value(H1940_LATCH_LED_FLASH, 1);
> +		gpio_set_value(S3C2410_GPA(3), 1);
>  	} else {
> -		h1940_latch_control(H1940_LATCH_LED_FLASH, 0);
> -		s3c2410_gpio_setpin(S3C2410_GPA3, 0);
> +		gpio_set_value(H1940_LATCH_LED_FLASH, 0);
> +		gpio_set_value(S3C2410_GPA(3), 0);
>  	}
> 
>  }
> @@ -108,7 +108,24 @@ static struct led_classdev h1940_blueled = {
> 
>  static int __devinit h1940leds_probe(struct platform_device *pdev)
>  {
> -	int ret;
> +	int ret, gpioidx = 0;
> +	int led_gpios[] = {
> +		H1940_LATCH_LED_GREEN,
> +		H1940_LATCH_LED_RED,
> +		H1940_LATCH_LED_FLASH,
> +		S3C2410_GPA(1),
> +		S3C2410_GPA(3),
> +		S3C2410_GPA(7),
> +	};
> +
> +	for (gpioidx = 0; gpioidx < ARRAY_SIZE(led_gpios); gpioidx++) {
> +		ret = gpio_request(led_gpios[gpioidx], "h1940 leds");
> +		if (ret < 0)
> +			goto err_gpio;
> +		ret = gpio_direction_output(led_gpios[gpioidx], 0);
> +		if (ret < 0)
> +			goto err_gpio;
> +	}
> 
>  	ret = led_classdev_register(&pdev->dev, &h1940_greenled);
>  	if (ret)
> @@ -129,6 +146,10 @@ err_blue:
>  err_red:
>  	led_classdev_unregister(&h1940_greenled);
>  err_green:
> +err_gpio:
> +	while (--gpioidx >= 0)
> +		gpio_free(led_gpios[gpioidx]);
> +
>  	return ret;
>  }
> 
> @@ -137,6 +158,14 @@ static int h1940leds_remove(struct platform_device
> *pdev) led_classdev_unregister(&h1940_greenled);
>  	led_classdev_unregister(&h1940_redled);
>  	led_classdev_unregister(&h1940_blueled);
> +
> +	gpio_free(H1940_LATCH_LED_GREEN);
> +	gpio_free(H1940_LATCH_LED_RED);
> +	gpio_free(H1940_LATCH_LED_FLASH);
> +	gpio_free(S3C2410_GPA(1));
> +	gpio_free(S3C2410_GPA(3));
> +	gpio_free(S3C2410_GPA(7));
> +
>  	return 0;
>  }

Added Richard Purdie to CC (it seems he changed email address).

Richard, could you review/merge this patch?

Regards
Vasily

  parent reply	other threads:[~2010-12-06 16:43 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-08 20:31 [PATCH 1/2] ARM: S3C2410: H1940: Adapt h1940-bluetooth to gpiolib changes Vasily Khoruzhick
2010-11-08 20:31 ` Vasily Khoruzhick
2010-11-08 20:31 ` [PATCH 2/2] h1940-leds: Fix compile issue introduced by latch-related changes Vasily Khoruzhick
2010-11-08 20:31   ` Vasily Khoruzhick
2010-11-15  3:55   ` Kukjin Kim
2010-11-15  3:55     ` Kukjin Kim
2010-11-16 23:12   ` Ben Dooks
2010-11-16 23:12     ` Ben Dooks
2010-11-17  6:55     ` Vasily Khoruzhick
2010-11-17  6:55       ` Vasily Khoruzhick
2010-12-06 16:43   ` Vasily Khoruzhick [this message]
2010-12-06 16:43     ` Vasily Khoruzhick
2010-11-16  9:20 ` [PATCH 1/2] ARM: S3C2410: H1940: Adapt h1940-bluetooth to gpiolib changes Kukjin Kim
2010-11-16  9:20   ` Kukjin Kim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201012061843.13558.anarsoul@gmail.com \
    --to=anarsoul@gmail.com \
    --cc=ben-linux@fluff.org \
    --cc=kgene.kim@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=rpurdie@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.