diff mbox

pwm: export of_pwm_request

Message ID 1351699030-4401-1-git-send-email-panto@antoniou-consulting.com (mailing list archive)
State New, archived
Headers show

Commit Message

Pantelis Antoniou Oct. 31, 2012, 3:57 p.m. UTC
No need to hide of_pwm_request, it's useful to other in-kernel users.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
---
 drivers/pwm/core.c  | 6 +++++-
 include/linux/pwm.h | 7 +++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

Comments

Thierry Reding Nov. 5, 2012, 6:48 a.m. UTC | #1
On Wed, Oct 31, 2012 at 05:57:10PM +0200, Pantelis Antoniou wrote:
> No need to hide of_pwm_request, it's useful to other in-kernel users.

Can you specify which users that might be? I'm reluctant to export
symbols which aren't used by any drivers.

> diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
[...]
> @@ -457,7 +457,7 @@ static struct pwm_chip *of_node_to_pwmchip(struct device_node *np)
>   * becomes mandatory for devices that look up the PWM device via the con_id
>   * parameter.
>   */
> -static struct pwm_device *of_pwm_request(struct device_node *np,
> +struct pwm_device *of_pwm_request(struct device_node *np,
>  					 const char *con_id)

Can you please make sure that this remains properly aligned?

> diff --git a/include/linux/pwm.h b/include/linux/pwm.h
[...]
> @@ -171,6 +171,7 @@ struct pwm_device *pwm_request_from_chip(struct pwm_chip *chip,
>  					 unsigned int index,
>  					 const char *label);
>  
> +struct pwm_device *of_pwm_request(struct device_node *np, const char *consumer);

The second argument is called con_id, so please fix this up to keep it
consistent.

>  struct pwm_device *pwm_get(struct device *dev, const char *consumer);
>  void pwm_put(struct pwm_device *pwm);
>  
> @@ -204,6 +205,12 @@ static inline struct pwm_device *pwm_request_from_chip(struct pwm_chip *chip,
>  	return ERR_PTR(-ENODEV);
>  }
>  
> +static inline struct pwm_device *of_pwm_request(struct device_node *np,
> +					 const char *consumer)

Here as well. Also make sure the arguments are properly aligned.

Thierry
diff mbox

Patch

diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
index f5acdaa..f8c7e6b 100644
--- a/drivers/pwm/core.c
+++ b/drivers/pwm/core.c
@@ -457,7 +457,7 @@  static struct pwm_chip *of_node_to_pwmchip(struct device_node *np)
  * becomes mandatory for devices that look up the PWM device via the con_id
  * parameter.
  */
-static struct pwm_device *of_pwm_request(struct device_node *np,
+struct pwm_device *of_pwm_request(struct device_node *np,
 					 const char *con_id)
 {
 	struct pwm_device *pwm = NULL;
@@ -466,6 +466,9 @@  static struct pwm_device *of_pwm_request(struct device_node *np,
 	int index = 0;
 	int err;
 
+	if (!np)
+		return ERR_PTR(-ENODEV);
+
 	if (con_id) {
 		index = of_property_match_string(np, "pwm-names", con_id);
 		if (index < 0)
@@ -516,6 +519,7 @@  put:
 
 	return pwm;
 }
+EXPORT_SYMBOL(of_pwm_request);
 
 /**
  * pwm_add_table() - register PWM device consumers
diff --git a/include/linux/pwm.h b/include/linux/pwm.h
index 112b314..fafbb1c 100644
--- a/include/linux/pwm.h
+++ b/include/linux/pwm.h
@@ -171,6 +171,7 @@  struct pwm_device *pwm_request_from_chip(struct pwm_chip *chip,
 					 unsigned int index,
 					 const char *label);
 
+struct pwm_device *of_pwm_request(struct device_node *np, const char *consumer);
 struct pwm_device *pwm_get(struct device *dev, const char *consumer);
 void pwm_put(struct pwm_device *pwm);
 
@@ -204,6 +205,12 @@  static inline struct pwm_device *pwm_request_from_chip(struct pwm_chip *chip,
 	return ERR_PTR(-ENODEV);
 }
 
+static inline struct pwm_device *of_pwm_request(struct device_node *np,
+					 const char *consumer)
+{
+	return ERR_PTR(-ENODEV);
+}
+
 static inline struct pwm_device *pwm_get(struct device *dev,
 					 const char *consumer)
 {