public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] regulator: ab8500-ext: Make the return type of ab8500_ext_regulator_exit() void
@ 2013-04-11  4:04 Axel Lin
  2013-04-11  4:05 ` [PATCH 2/2] regulator: ab8500: Unregister ab8500-ext regulators in probe() failure path Axel Lin
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Axel Lin @ 2013-04-11  4:04 UTC (permalink / raw)
  To: Mark Brown
  Cc: Bengt Jonsson, Lee Jones, Yvan FILLION, Liam Girdwood,
	linux-kernel

ab8500_ext_regulator_exit() never fails.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
 drivers/regulator/ab8500-ext.c   |    4 +---
 drivers/regulator/ab8500.c       |    9 +++------
 include/linux/regulator/ab8500.h |    2 +-
 3 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/regulator/ab8500-ext.c b/drivers/regulator/ab8500-ext.c
index dd582be..861ab04 100644
--- a/drivers/regulator/ab8500-ext.c
+++ b/drivers/regulator/ab8500-ext.c
@@ -385,7 +385,7 @@ int ab8500_ext_regulator_init(struct platform_device *pdev)
 	return 0;
 }
 
-int ab8500_ext_regulator_exit(struct platform_device *pdev)
+void ab8500_ext_regulator_exit(struct platform_device *pdev)
 {
 	int i;
 
@@ -398,8 +398,6 @@ int ab8500_ext_regulator_exit(struct platform_device *pdev)
 
 		regulator_unregister(info->rdev);
 	}
-
-	return 0;
 }
 
 MODULE_LICENSE("GPL v2");
diff --git a/drivers/regulator/ab8500.c b/drivers/regulator/ab8500.c
index 9ebd131..c200f8b 100644
--- a/drivers/regulator/ab8500.c
+++ b/drivers/regulator/ab8500.c
@@ -3194,12 +3194,9 @@ static int ab8500_regulator_remove(struct platform_device *pdev)
 		regulator_unregister(info->regulator);
 	}
 
-	if (!is_ab8505(ab8500)) {
-		/* remove external regulators (after Vaux1, 2 and 3) */
-		err = ab8500_ext_regulator_exit(pdev);
-		if (err)
-			return err;
-	}
+	/* remove external regulators (after Vaux1, 2 and 3) */
+	if (!is_ab8505(ab8500))
+		ab8500_ext_regulator_exit(pdev);
 
 	/* remove regulator debug */
 	err = ab8500_regulator_debug_exit(pdev);
diff --git a/include/linux/regulator/ab8500.h b/include/linux/regulator/ab8500.h
index 90b8b5a..7c5ff0c 100644
--- a/include/linux/regulator/ab8500.h
+++ b/include/linux/regulator/ab8500.h
@@ -338,6 +338,6 @@ static inline int ab8500_regulator_debug_exit(struct platform_device *pdev)
 
 /* AB8500 external regulator functions. */
 int ab8500_ext_regulator_init(struct platform_device *pdev);
-int ab8500_ext_regulator_exit(struct platform_device *pdev);
+void ab8500_ext_regulator_exit(struct platform_device *pdev);
 
 #endif
-- 
1.7.10.4




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] regulator: ab8500: Unregister ab8500-ext regulators in probe() failure path
  2013-04-11  4:04 [PATCH 1/2] regulator: ab8500-ext: Make the return type of ab8500_ext_regulator_exit() void Axel Lin
@ 2013-04-11  4:05 ` Axel Lin
  2013-04-11  6:44   ` Bengt Jönsson
  2013-04-11  6:40 ` [PATCH 1/2] regulator: ab8500-ext: Make the return type of ab8500_ext_regulator_exit() void Bengt Jönsson
  2013-04-11 16:44 ` Mark Brown
  2 siblings, 1 reply; 5+ messages in thread
From: Axel Lin @ 2013-04-11  4:05 UTC (permalink / raw)
  To: Mark Brown
  Cc: Bengt Jonsson, Lee Jones, Yvan FILLION, Liam Girdwood,
	linux-kernel

Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
 drivers/regulator/ab8500.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/regulator/ab8500.c b/drivers/regulator/ab8500.c
index c200f8b..ea182d3 100644
--- a/drivers/regulator/ab8500.c
+++ b/drivers/regulator/ab8500.c
@@ -3172,8 +3172,11 @@ static int ab8500_regulator_probe(struct platform_device *pdev)
 	for (i = 0; i < abx500_regulator.info_size; i++) {
 		err = ab8500_regulator_register(pdev, &pdata->regulator[i],
 						i, NULL);
-		if (err < 0)
+		if (err < 0) {
+			if (!is_ab8505(ab8500))
+				ab8500_ext_regulator_exit(pdev);
 			return err;
+		}
 	}
 
 	return 0;
-- 
1.7.10.4




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] regulator: ab8500-ext: Make the return type of ab8500_ext_regulator_exit() void
  2013-04-11  4:04 [PATCH 1/2] regulator: ab8500-ext: Make the return type of ab8500_ext_regulator_exit() void Axel Lin
  2013-04-11  4:05 ` [PATCH 2/2] regulator: ab8500: Unregister ab8500-ext regulators in probe() failure path Axel Lin
@ 2013-04-11  6:40 ` Bengt Jönsson
  2013-04-11 16:44 ` Mark Brown
  2 siblings, 0 replies; 5+ messages in thread
From: Bengt Jönsson @ 2013-04-11  6:40 UTC (permalink / raw)
  To: Axel Lin
  Cc: Mark Brown, Lee Jones, Yvan FILLION, Liam Girdwood,
	linux-kernel@vger.kernel.org

On 04/11/2013 06:04 AM, Axel Lin wrote:
> ab8500_ext_regulator_exit() never fails.
>
> Signed-off-by: Axel Lin <axel.lin@ingics.com>
Looks good to me.

Acked-by: Bengt Jonsson <bengt.g.jonsson@stericsson.com>
> ---
>   drivers/regulator/ab8500-ext.c   |    4 +---
>   drivers/regulator/ab8500.c       |    9 +++------
>   include/linux/regulator/ab8500.h |    2 +-
>   3 files changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/regulator/ab8500-ext.c b/drivers/regulator/ab8500-ext.c
> index dd582be..861ab04 100644
> --- a/drivers/regulator/ab8500-ext.c
> +++ b/drivers/regulator/ab8500-ext.c
> @@ -385,7 +385,7 @@ int ab8500_ext_regulator_init(struct platform_device *pdev)
>   	return 0;
>   }
>   
> -int ab8500_ext_regulator_exit(struct platform_device *pdev)
> +void ab8500_ext_regulator_exit(struct platform_device *pdev)
>   {
>   	int i;
>   
> @@ -398,8 +398,6 @@ int ab8500_ext_regulator_exit(struct platform_device *pdev)
>   
>   		regulator_unregister(info->rdev);
>   	}
> -
> -	return 0;
>   }
>   
>   MODULE_LICENSE("GPL v2");
> diff --git a/drivers/regulator/ab8500.c b/drivers/regulator/ab8500.c
> index 9ebd131..c200f8b 100644
> --- a/drivers/regulator/ab8500.c
> +++ b/drivers/regulator/ab8500.c
> @@ -3194,12 +3194,9 @@ static int ab8500_regulator_remove(struct platform_device *pdev)
>   		regulator_unregister(info->regulator);
>   	}
>   
> -	if (!is_ab8505(ab8500)) {
> -		/* remove external regulators (after Vaux1, 2 and 3) */
> -		err = ab8500_ext_regulator_exit(pdev);
> -		if (err)
> -			return err;
> -	}
> +	/* remove external regulators (after Vaux1, 2 and 3) */
> +	if (!is_ab8505(ab8500))
> +		ab8500_ext_regulator_exit(pdev);
>   
>   	/* remove regulator debug */
>   	err = ab8500_regulator_debug_exit(pdev);
> diff --git a/include/linux/regulator/ab8500.h b/include/linux/regulator/ab8500.h
> index 90b8b5a..7c5ff0c 100644
> --- a/include/linux/regulator/ab8500.h
> +++ b/include/linux/regulator/ab8500.h
> @@ -338,6 +338,6 @@ static inline int ab8500_regulator_debug_exit(struct platform_device *pdev)
>   
>   /* AB8500 external regulator functions. */
>   int ab8500_ext_regulator_init(struct platform_device *pdev);
> -int ab8500_ext_regulator_exit(struct platform_device *pdev);
> +void ab8500_ext_regulator_exit(struct platform_device *pdev);
>   
>   #endif


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] regulator: ab8500: Unregister ab8500-ext regulators in probe() failure path
  2013-04-11  4:05 ` [PATCH 2/2] regulator: ab8500: Unregister ab8500-ext regulators in probe() failure path Axel Lin
@ 2013-04-11  6:44   ` Bengt Jönsson
  0 siblings, 0 replies; 5+ messages in thread
From: Bengt Jönsson @ 2013-04-11  6:44 UTC (permalink / raw)
  To: Axel Lin
  Cc: Mark Brown, Lee Jones, Yvan FILLION, Liam Girdwood,
	linux-kernel@vger.kernel.org

On 04/11/2013 06:05 AM, Axel Lin wrote:
> Signed-off-by: Axel Lin <axel.lin@ingics.com>
Looks good to me.

Acked-by: Bengt Jonsson <bengt.g.jonsson@stericsson.com>
> ---
>   drivers/regulator/ab8500.c |    5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/regulator/ab8500.c b/drivers/regulator/ab8500.c
> index c200f8b..ea182d3 100644
> --- a/drivers/regulator/ab8500.c
> +++ b/drivers/regulator/ab8500.c
> @@ -3172,8 +3172,11 @@ static int ab8500_regulator_probe(struct platform_device *pdev)
>   	for (i = 0; i < abx500_regulator.info_size; i++) {
>   		err = ab8500_regulator_register(pdev, &pdata->regulator[i],
>   						i, NULL);
> -		if (err < 0)
> +		if (err < 0) {
> +			if (!is_ab8505(ab8500))
> +				ab8500_ext_regulator_exit(pdev);
>   			return err;
> +		}
>   	}
>   
>   	return 0;


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] regulator: ab8500-ext: Make the return type of ab8500_ext_regulator_exit() void
  2013-04-11  4:04 [PATCH 1/2] regulator: ab8500-ext: Make the return type of ab8500_ext_regulator_exit() void Axel Lin
  2013-04-11  4:05 ` [PATCH 2/2] regulator: ab8500: Unregister ab8500-ext regulators in probe() failure path Axel Lin
  2013-04-11  6:40 ` [PATCH 1/2] regulator: ab8500-ext: Make the return type of ab8500_ext_regulator_exit() void Bengt Jönsson
@ 2013-04-11 16:44 ` Mark Brown
  2 siblings, 0 replies; 5+ messages in thread
From: Mark Brown @ 2013-04-11 16:44 UTC (permalink / raw)
  To: Axel Lin
  Cc: Bengt Jonsson, Lee Jones, Yvan FILLION, Liam Girdwood,
	linux-kernel

[-- Attachment #1: Type: text/plain, Size: 125 bytes --]

On Thu, Apr 11, 2013 at 12:04:18PM +0800, Axel Lin wrote:

> ab8500_ext_regulator_exit() never fails.

Applied both, thanks.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-04-11 16:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-11  4:04 [PATCH 1/2] regulator: ab8500-ext: Make the return type of ab8500_ext_regulator_exit() void Axel Lin
2013-04-11  4:05 ` [PATCH 2/2] regulator: ab8500: Unregister ab8500-ext regulators in probe() failure path Axel Lin
2013-04-11  6:44   ` Bengt Jönsson
2013-04-11  6:40 ` [PATCH 1/2] regulator: ab8500-ext: Make the return type of ab8500_ext_regulator_exit() void Bengt Jönsson
2013-04-11 16:44 ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox