public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drivers:staging:ti-st: make use of linux err codes
@ 2010-07-14 13:21 pavan_savoy
  0 siblings, 0 replies; 6+ messages in thread
From: pavan_savoy @ 2010-07-14 13:21 UTC (permalink / raw)
  To: alan, gregkh; +Cc: devel, linux-kernel, Pavan Savoy

From: Pavan Savoy <pavan_savoy@ti.com>

remove custom error code definitions from the header and
make use of the agreed upon linux error codes.

Signed-off-by: Pavan Savoy <pavan_savoy@ti.com>
---
 drivers/staging/ti-st/bt_drv.c  |    6 ++--
 drivers/staging/ti-st/st.h      |    9 -------
 drivers/staging/ti-st/st_core.c |   38 ++++++++++++++++----------------
 drivers/staging/ti-st/st_kim.c  |   46 +++++++++++++++++++-------------------
 drivers/staging/ti-st/st_ll.c   |    4 +-
 5 files changed, 47 insertions(+), 56 deletions(-)

diff --git a/drivers/staging/ti-st/bt_drv.c b/drivers/staging/ti-st/bt_drv.c
index d8420b5..d70aea1 100644
--- a/drivers/staging/ti-st/bt_drv.c
+++ b/drivers/staging/ti-st/bt_drv.c
@@ -191,7 +191,7 @@ static int hci_st_open(struct hci_dev *hdev)
 
 	/* Register with ST layer */
 	err = st_register(&hci_st_proto);
-	if (err == ST_ERR_PENDING) {
+	if (err == -EINPROGRESS) {
 		/* Prepare wait-for-completion handler data structures.
 		 * Needed to syncronize this and st_registration_completion_cb()
 		 * functions.
@@ -232,7 +232,7 @@ static int hci_st_open(struct hci_dev *hdev)
 			return -EAGAIN;
 		}
 		err = 0;
-	} else if (err == ST_ERR_FAILURE) {
+	} else if (err == -1) {
 		BT_DRV_ERR("st_register failed %d", err);
 		BTDRV_API_EXIT(-EAGAIN);
 		return -EAGAIN;
@@ -280,7 +280,7 @@ static int hci_st_close(struct hci_dev *hdev)
 	/* Unregister from ST layer */
 	if (test_and_clear_bit(BT_ST_REGISTERED, &hst->flags)) {
 		err = st_unregister(ST_BT);
-		if (err != ST_SUCCESS) {
+		if (err != 0) {
 			BT_DRV_ERR("st_unregister failed %d", err);
 			BTDRV_API_EXIT(-EBUSY);
 			return -EBUSY;
diff --git a/drivers/staging/ti-st/st.h b/drivers/staging/ti-st/st.h
index e6a8ffd..c4288aa 100644
--- a/drivers/staging/ti-st/st.h
+++ b/drivers/staging/ti-st/st.h
@@ -50,15 +50,6 @@ enum proto_type {
 	ST_MAX,
 };
 
-enum {
-	ST_ERR_FAILURE = -1,	/* check struct */
-	ST_SUCCESS,
-	ST_ERR_PENDING = -5,	/* to call reg_complete_cb */
-	ST_ERR_ALREADY,		/* already registered */
-	ST_ERR_INPROGRESS,
-	ST_ERR_NOPROTO,		/* protocol not supported */
-};
-
 /* per protocol structure
  * for BT/FM and GPS
  */
diff --git a/drivers/staging/ti-st/st_core.c b/drivers/staging/ti-st/st_core.c
index bf5049c..0ad8cec 100644
--- a/drivers/staging/ti-st/st_core.c
+++ b/drivers/staging/ti-st/st_core.c
@@ -87,7 +87,7 @@ int st_int_write(struct st_data_s *st_gdata,
 	struct tty_struct *tty;
 	if (unlikely(st_gdata == NULL || st_gdata->tty == NULL)) {
 		pr_err("tty unavailable to perform write");
-		return ST_ERR_FAILURE;
+		return -1;
 	}
 	tty = st_gdata->tty;
 #ifdef VERBOSE
@@ -123,7 +123,7 @@ void st_send_frame(enum proto_type protoid, struct st_data_s *st_gdata)
 	 */
 	if (likely(st_gdata->list[protoid]->recv != NULL)) {
 		if (unlikely(st_gdata->list[protoid]->recv(st_gdata->rx_skb)
-			     != ST_SUCCESS)) {
+			     != 0)) {
 			pr_err(" proto stack %d's ->recv failed", protoid);
 			kfree_skb(st_gdata->rx_skb);
 			return;
@@ -601,7 +601,7 @@ void kim_st_list_protocols(struct st_data_s *st_gdata, char *buf)
 long st_register(struct st_proto_s *new_proto)
 {
 	struct st_data_s	*st_gdata;
-	long err = ST_SUCCESS;
+	long err = 0;
 	unsigned long flags = 0;
 
 	st_kim_ref(&st_gdata);
@@ -609,17 +609,17 @@ long st_register(struct st_proto_s *new_proto)
 	if (st_gdata == NULL || new_proto == NULL || new_proto->recv == NULL
 	    || new_proto->reg_complete_cb == NULL) {
 		pr_err("gdata/new_proto/recv or reg_complete_cb not ready");
-		return ST_ERR_FAILURE;
+		return -1;
 	}
 
 	if (new_proto->type < ST_BT || new_proto->type >= ST_MAX) {
 		pr_err("protocol %d not supported", new_proto->type);
-		return ST_ERR_NOPROTO;
+		return -EPROTONOSUPPORT;
 	}
 
 	if (st_gdata->list[new_proto->type] != NULL) {
 		pr_err("protocol %d already registered", new_proto->type);
-		return ST_ERR_ALREADY;
+		return -EALREADY;
 	}
 
 	/* can be from process context only */
@@ -636,7 +636,7 @@ long st_register(struct st_proto_s *new_proto)
 
 		set_bit(ST_REG_PENDING, &st_gdata->st_state);
 		spin_unlock_irqrestore(&st_gdata->lock, flags);
-		return ST_ERR_PENDING;
+		return -EINPROGRESS;
 	} else if (st_gdata->protos_registered == ST_EMPTY) {
 		pr_info(" protocol list empty :%d ", new_proto->type);
 		set_bit(ST_REG_IN_PROGRESS, &st_gdata->st_state);
@@ -651,15 +651,15 @@ long st_register(struct st_proto_s *new_proto)
 		 * since it involves BT fw download
 		 */
 		err = st_kim_start(st_gdata->kim_data);
-		if (err != ST_SUCCESS) {
+		if (err != 0) {
 			clear_bit(ST_REG_IN_PROGRESS, &st_gdata->st_state);
 			if ((st_gdata->protos_registered != ST_EMPTY) &&
 			    (test_bit(ST_REG_PENDING, &st_gdata->st_state))) {
 				pr_err(" KIM failure complete callback ");
-				st_reg_complete(st_gdata, ST_ERR_FAILURE);
+				st_reg_complete(st_gdata, -1);
 			}
 
-			return ST_ERR_FAILURE;
+			return -1;
 		}
 
 		/* the protocol might require other gpios to be toggled
@@ -675,7 +675,7 @@ long st_register(struct st_proto_s *new_proto)
 		if ((st_gdata->protos_registered != ST_EMPTY) &&
 		    (test_bit(ST_REG_PENDING, &st_gdata->st_state))) {
 			pr_info(" call reg complete callback ");
-			st_reg_complete(st_gdata, ST_SUCCESS);
+			st_reg_complete(st_gdata, 0);
 		}
 		clear_bit(ST_REG_PENDING, &st_gdata->st_state);
 
@@ -685,7 +685,7 @@ long st_register(struct st_proto_s *new_proto)
 		if (st_gdata->list[new_proto->type] != NULL) {
 			pr_err(" proto %d already registered ",
 				   new_proto->type);
-			return ST_ERR_ALREADY;
+			return -EALREADY;
 		}
 
 		spin_lock_irqsave(&st_gdata->lock, flags);
@@ -709,7 +709,7 @@ long st_register(struct st_proto_s *new_proto)
 		default:
 			pr_err("%d protocol not supported",
 				   new_proto->type);
-			err = ST_ERR_NOPROTO;
+			err = -EPROTONOSUPPORT;
 			/* something wrong */
 			break;
 		}
@@ -730,7 +730,7 @@ EXPORT_SYMBOL_GPL(st_register);
  */
 long st_unregister(enum proto_type type)
 {
-	long err = ST_SUCCESS;
+	long err = 0;
 	unsigned long flags = 0;
 	struct st_data_s	*st_gdata;
 
@@ -739,7 +739,7 @@ long st_unregister(enum proto_type type)
 	st_kim_ref(&st_gdata);
 	if (type < ST_BT || type >= ST_MAX) {
 		pr_err(" protocol %d not supported", type);
-		return ST_ERR_NOPROTO;
+		return -EPROTONOSUPPORT;
 	}
 
 	spin_lock_irqsave(&st_gdata->lock, flags);
@@ -747,7 +747,7 @@ long st_unregister(enum proto_type type)
 	if (st_gdata->list[type] == NULL) {
 		pr_err(" protocol %d not registered", type);
 		spin_unlock_irqrestore(&st_gdata->lock, flags);
-		return ST_ERR_NOPROTO;
+		return -EPROTONOSUPPORT;
 	}
 
 	st_gdata->protos_registered--;
@@ -794,7 +794,7 @@ long st_write(struct sk_buff *skb)
 	if (unlikely(skb == NULL || st_gdata == NULL
 		|| st_gdata->tty == NULL)) {
 		pr_err("data/tty unavailable to perform write");
-		return ST_ERR_FAILURE;
+		return -1;
 	}
 #ifdef DEBUG			/* open-up skb to read the 1st byte */
 	switch (skb->data[0]) {
@@ -813,7 +813,7 @@ long st_write(struct sk_buff *skb)
 	if (unlikely(st_gdata->list[protoid] == NULL)) {
 		pr_err(" protocol %d not registered, and writing? ",
 			   protoid);
-		return ST_ERR_FAILURE;
+		return -1;
 	}
 #endif
 	pr_info("%d to be written", skb->len);
@@ -837,7 +837,7 @@ EXPORT_SYMBOL_GPL(st_unregister);
  */
 static int st_tty_open(struct tty_struct *tty)
 {
-	int err = ST_SUCCESS;
+	int err = 0;
 	struct st_data_s *st_gdata;
 	pr_info("%s ", __func__);
 
diff --git a/drivers/staging/ti-st/st_kim.c b/drivers/staging/ti-st/st_kim.c
index d4fd2c2..33fc4d0 100644
--- a/drivers/staging/ti-st/st_kim.c
+++ b/drivers/staging/ti-st/st_kim.c
@@ -247,13 +247,13 @@ static long read_local_version(struct kim_data_s *kim_gdata, char *bts_scr_name)
 	INIT_COMPLETION(kim_gdata->kim_rcvd);
 	if (4 != st_int_write(kim_gdata->core_data, read_ver_cmd, 4)) {
 		pr_err("kim: couldn't write 4 bytes");
-		return ST_ERR_FAILURE;
+		return -1;
 	}
 
 	if (!wait_for_completion_timeout
 	    (&kim_gdata->kim_rcvd, msecs_to_jiffies(CMD_RESP_TIME))) {
 		pr_err(" waiting for ver info- timed out ");
-		return ST_ERR_FAILURE;
+		return -1;
 	}
 
 	version =
@@ -275,7 +275,7 @@ static long read_local_version(struct kim_data_s *kim_gdata, char *bts_scr_name)
 	kim_gdata->version.min_ver = min_ver;
 
 	pr_info("%s", bts_scr_name);
-	return ST_SUCCESS;
+	return 0;
 }
 
 /* internal function which parses through the .bts firmware script file
@@ -283,7 +283,7 @@ static long read_local_version(struct kim_data_s *kim_gdata, char *bts_scr_name)
  */
 static long download_firmware(struct kim_data_s *kim_gdata)
 {
-	long err = ST_SUCCESS;
+	long err = 0;
 	long len = 0;
 	register unsigned char *ptr = NULL;
 	register unsigned char *action_ptr = NULL;
@@ -292,7 +292,7 @@ static long download_firmware(struct kim_data_s *kim_gdata)
 	pr_info("%s", __func__);
 
 	err = read_local_version(kim_gdata, bts_scr_name);
-	if (err != ST_SUCCESS) {
+	if (err != 0) {
 		pr_err("kim: failed to read local ver");
 		return err;
 	}
@@ -303,7 +303,7 @@ static long download_firmware(struct kim_data_s *kim_gdata)
 		     (kim_gdata->fw_entry->size == 0))) {
 		pr_err(" request_firmware failed(errno %ld) for %s", err,
 			   bts_scr_name);
-		return ST_ERR_FAILURE;
+		return -1;
 	}
 	ptr = (void *)kim_gdata->fw_entry->data;
 	len = kim_gdata->fw_entry->size;
@@ -338,7 +338,7 @@ static long download_firmware(struct kim_data_s *kim_gdata)
 					   ((struct bts_action *)ptr)->size);
 			if (unlikely(err < 0)) {
 				release_firmware(kim_gdata->fw_entry);
-				return ST_ERR_FAILURE;
+				return -1;
 			}
 			if (!wait_for_completion_timeout
 			    (&kim_gdata->kim_rcvd,
@@ -347,7 +347,7 @@ static long download_firmware(struct kim_data_s *kim_gdata)
 				    (" response timeout during fw download ");
 				/* timed out */
 				release_firmware(kim_gdata->fw_entry);
-				return ST_ERR_FAILURE;
+				return -1;
 			}
 			break;
 		case ACTION_DELAY:	/* sleep */
@@ -365,7 +365,7 @@ static long download_firmware(struct kim_data_s *kim_gdata)
 	}
 	/* fw download complete */
 	release_firmware(kim_gdata->fw_entry);
-	return ST_SUCCESS;
+	return 0;
 }
 
 /**********************************************************************/
@@ -451,7 +451,7 @@ void st_kim_complete(void *kim_data)
 */
 long st_kim_start(void *kim_data)
 {
-	long err = ST_SUCCESS;
+	long err = 0;
 	long retry = POR_RETRY_COUNT;
 	struct kim_data_s	*kim_gdata = (struct kim_data_s *)kim_data;
 
@@ -475,7 +475,7 @@ long st_kim_start(void *kim_data)
 		err = kill_pid(find_get_pid(kim_gdata->uim_pid), SIGUSR2, 0);
 		if (err != 0) {
 			pr_info(" sending SIGUSR2 to uim failed %ld", err);
-			err = ST_ERR_FAILURE;
+			err = -1;
 			continue;
 		}
 #endif
@@ -486,13 +486,13 @@ long st_kim_start(void *kim_data)
 				msecs_to_jiffies(LDISC_TIME));
 		if (!err) {	/* timeout */
 			pr_err("line disc installation timed out ");
-			err = ST_ERR_FAILURE;
+			err = -1;
 			continue;
 		} else {
 			/* ldisc installed now */
 			pr_info(" line discipline installed ");
 			err = download_firmware(kim_gdata);
-			if (err != ST_SUCCESS) {
+			if (err != 0) {
 				pr_err("download firmware failed");
 				continue;
 			} else {	/* on success don't retry */
@@ -507,7 +507,7 @@ long st_kim_start(void *kim_data)
 */
 long st_kim_stop(void *kim_data)
 {
-	long err = ST_SUCCESS;
+	long err = 0;
 	struct kim_data_s	*kim_gdata = (struct kim_data_s *)kim_data;
 
 	INIT_COMPLETION(kim_gdata->ldisc_installed);
@@ -516,7 +516,7 @@ long st_kim_stop(void *kim_data)
 	err = kill_pid(find_get_pid(kim_gdata->uim_pid), SIGUSR2, 1);
 	if (err != 0) {
 		pr_err("sending SIGUSR2 to uim failed %ld", err);
-		return ST_ERR_FAILURE;
+		return -1;
 	}
 #endif
 	/* set BT rfkill to be blocked */
@@ -527,7 +527,7 @@ long st_kim_stop(void *kim_data)
 			msecs_to_jiffies(LDISC_TIME));
 	if (!err) {		/* timeout */
 		pr_err(" timed out waiting for ldisc to be un-installed");
-		return ST_ERR_FAILURE;
+		return -1;
 	}
 
 	/* By default configure BT nShutdown to LOW state */
@@ -607,7 +607,7 @@ static int kim_toggle_radio(void *data, bool blocked)
 		pr_err(" wrong proto type ");
 	break;
 	}
-	return ST_SUCCESS;
+	return 0;
 }
 
 void st_kim_ref(struct st_data_s **core_data)
@@ -643,7 +643,7 @@ static int kim_probe(struct platform_device *pdev)
 	status = st_core_init(&kim_gdata->core_data);
 	if (status != 0) {
 		pr_err(" ST core init failed");
-		return ST_ERR_FAILURE;
+		return -1;
 	}
 	/* refer to itself */
 	kim_gdata->core_data->kim_data = kim_gdata;
@@ -716,7 +716,7 @@ static int kim_probe(struct platform_device *pdev)
 		return -1;
 	}
 	pr_info(" sysfs entries created ");
-	return ST_SUCCESS;
+	return 0;
 }
 
 static int kim_remove(struct platform_device *pdev)
@@ -745,7 +745,7 @@ static int kim_remove(struct platform_device *pdev)
 
 	kfree(kim_gdata);
 	kim_gdata = NULL;
-	return ST_SUCCESS;
+	return 0;
 }
 
 /**********************************************************************/
@@ -753,13 +753,13 @@ static int kim_remove(struct platform_device *pdev)
 
 static int __init st_kim_init(void)
 {
-	long ret = ST_SUCCESS;
+	long ret = 0;
 	ret = platform_driver_register(&kim_platform_driver);
 	if (ret != 0) {
 		pr_err("platform drv registration failed");
-		return ST_ERR_FAILURE;
+		return -1;
 	}
-	return ST_SUCCESS;
+	return 0;
 }
 
 static void __exit st_kim_deinit(void)
diff --git a/drivers/staging/ti-st/st_ll.c b/drivers/staging/ti-st/st_ll.c
index 0685a10..6bc0759 100644
--- a/drivers/staging/ti-st/st_ll.c
+++ b/drivers/staging/ti-st/st_ll.c
@@ -127,9 +127,9 @@ unsigned long st_ll_sleep_state(struct st_data_s *st_data,
 		break;
 	default:
 		pr_err(" unknown input/state ");
-		return ST_ERR_FAILURE;
+		return -1;
 	}
-	return ST_SUCCESS;
+	return 0;
 }
 
 /* Called from ST CORE to initialize ST LL */
-- 
1.5.6.3


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

* Re: [PATCH] drivers:staging:ti-st: make use of linux err codes
       [not found] <AANLkTikrtkVSWZoyVL6A0Maa16cKxGUnnuyrRGmpU09z@mail.gmail.com>
@ 2010-07-16  6:24 ` Pavan Savoy
  2010-07-16  6:43   ` Greg KH
  2010-07-16 13:05   ` Alan Cox
  0 siblings, 2 replies; 6+ messages in thread
From: Pavan Savoy @ 2010-07-16  6:24 UTC (permalink / raw)
  To: greg; +Cc: linux-kernel


--- On Fri, 16/7/10, Pavan Savoy <pavan.savoy@gmail.com> wrote:

> From: Pavan Savoy <pavan.savoy@gmail.com>
> Subject: [PATCH] drivers:staging:ti-st: make use of linux err codes
> To: "pavan savoy" <pavan_savoy@yahoo.co.in>
> Date: Friday, 16 July, 2010, 11:52 AM
> ---------- Forwarded message
> ----------
> From:  <pavan_savoy@ti.com>
> Date: Wed, Jul 14, 2010 at 6:51 PM
> Subject: [PATCH] drivers:staging:ti-st: make use of linux
> err codes
> To: alan@lxorguk.ukuu.org.uk,
> gregkh@suse.de
> Cc: devel@driverdev.osuosl.org,
> linux-kernel@vger.kernel.org,

Greg,
Any comments ? Is it good to go ?

> 
> remove custom error code definitions from the header and
> make use of the agreed upon linux error codes.
> 
> Signed-off-by: Pavan Savoy <pavan_savoy@ti.com>
> ---
>  drivers/staging/ti-st/bt_drv.c  |    6 ++--
>  drivers/staging/ti-st/st.h      |    9 -------
>  drivers/staging/ti-st/st_core.c |   38
> ++++++++++++++++----------------
>  drivers/staging/ti-st/st_kim.c  |   46
> +++++++++++++++++++-------------------
>  drivers/staging/ti-st/st_ll.c   |    4 +-
>  5 files changed, 47 insertions(+), 56 deletions(-)
> 
> diff --git a/drivers/staging/ti-st/bt_drv.c
> b/drivers/staging/ti-st/bt_drv.c
> index d8420b5..d70aea1 100644
> --- a/drivers/staging/ti-st/bt_drv.c
> +++ b/drivers/staging/ti-st/bt_drv.c
> @@ -191,7 +191,7 @@ static int hci_st_open(struct hci_dev
> *hdev)
> 
>        /* Register with ST layer */
>        err = st_register(&hci_st_proto);
> -       if (err == ST_ERR_PENDING) {
> +       if (err == -EINPROGRESS) {
>                /* Prepare wait-for-completion
> handler data structures.
>                 * Needed to syncronize this and
> st_registration_completion_cb()
>                 * functions.
> @@ -232,7 +232,7 @@ static int hci_st_open(struct hci_dev
> *hdev)
>                        return -EAGAIN;
>                }
>                err = 0;
> -       } else if (err == ST_ERR_FAILURE) {
> +       } else if (err == -1) {
>                BT_DRV_ERR("st_register failed %d",
> err);
>                BTDRV_API_EXIT(-EAGAIN);
>                return -EAGAIN;
> @@ -280,7 +280,7 @@ static int hci_st_close(struct hci_dev
> *hdev)
>        /* Unregister from ST layer */
>        if (test_and_clear_bit(BT_ST_REGISTERED,
> &hst->flags)) {
>                err = st_unregister(ST_BT);
> -               if (err != ST_SUCCESS) {
> +               if (err != 0) {
>                      
>  BT_DRV_ERR("st_unregister failed %d", err);
>                        BTDRV_API_EXIT(-EBUSY);
>                        return -EBUSY;
> diff --git a/drivers/staging/ti-st/st.h
> b/drivers/staging/ti-st/st.h
> index e6a8ffd..c4288aa 100644
> --- a/drivers/staging/ti-st/st.h
> +++ b/drivers/staging/ti-st/st.h
> @@ -50,15 +50,6 @@ enum proto_type {
>        ST_MAX,
>  };
> 
> -enum {
> -       ST_ERR_FAILURE = -1,    /* check struct */
> -       ST_SUCCESS,
> -       ST_ERR_PENDING = -5,    /* to call
> reg_complete_cb */
> -       ST_ERR_ALREADY,         /* already
> registered */
> -       ST_ERR_INPROGRESS,
> -       ST_ERR_NOPROTO,         /* protocol not
> supported */
> -};
> -
>  /* per protocol structure
>  * for BT/FM and GPS
>  */
> diff --git a/drivers/staging/ti-st/st_core.c
> b/drivers/staging/ti-st/st_core.c
> index bf5049c..0ad8cec 100644
> --- a/drivers/staging/ti-st/st_core.c
> +++ b/drivers/staging/ti-st/st_core.c
> @@ -87,7 +87,7 @@ int st_int_write(struct st_data_s
> *st_gdata,
>        struct tty_struct *tty;
>        if (unlikely(st_gdata == NULL ||
> st_gdata->tty == NULL)) {
>                pr_err("tty unavailable to perform
> write");
> -               return ST_ERR_FAILURE;
> +               return -1;
>        }
>        tty = st_gdata->tty;
>  #ifdef VERBOSE
> @@ -123,7 +123,7 @@ void st_send_frame(enum proto_type
> protoid, struct
> st_data_s *st_gdata)
>         */
>        if (likely(st_gdata->list[protoid]->recv
> != NULL)) {
>                if
> (unlikely(st_gdata->list[protoid]->recv(st_gdata->rx_skb)
> -                            != ST_SUCCESS))
> {

> +                            != 0)) {
>                        pr_err(" proto stack
> %d's ->recv failed", protoid);
>                      
>  kfree_skb(st_gdata->rx_skb);
>                        return;
> @@ -601,7 +601,7 @@ void kim_st_list_protocols(struct
> st_data_s
> *st_gdata, char *buf)
>  long st_register(struct st_proto_s *new_proto)
>  {
>        struct st_data_s        *st_gdata;
> -       long err = ST_SUCCESS;
> +       long err = 0;
>        unsigned long flags = 0;
> 
>        st_kim_ref(&st_gdata);
> @@ -609,17 +609,17 @@ long st_register(struct st_proto_s
> *new_proto)
>        if (st_gdata == NULL || new_proto == NULL ||
> new_proto->recv == NULL
>            || new_proto->reg_complete_cb == NULL)
> {
>                pr_err("gdata/new_proto/recv or
> reg_complete_cb not ready");
> -               return ST_ERR_FAILURE;
> +               return -1;
>        }
> 
>        if (new_proto->type < ST_BT ||
> new_proto->type >= ST_MAX) {
>                pr_err("protocol %d not supported",
> new_proto->type);
> -               return ST_ERR_NOPROTO;
> +               return -EPROTONOSUPPORT;
>        }
> 
>        if (st_gdata->list[new_proto->type] !=
> NULL) {
>                pr_err("protocol %d already
> registered", new_proto->type);
> -               return ST_ERR_ALREADY;
> +               return -EALREADY;
>        }
> 
>        /* can be from process context only */
> @@ -636,7 +636,7 @@ long st_register(struct st_proto_s
> *new_proto)
> 
>                set_bit(ST_REG_PENDING,
> &st_gdata->st_state);
>              
>  spin_unlock_irqrestore(&st_gdata->lock, flags);
> -               return ST_ERR_PENDING;
> +               return -EINPROGRESS;
>        } else if (st_gdata->protos_registered ==
> ST_EMPTY) {
>                pr_info(" protocol list empty :%d ",
> new_proto->type);
>                set_bit(ST_REG_IN_PROGRESS,
> &st_gdata->st_state);
> @@ -651,15 +651,15 @@ long st_register(struct st_proto_s
> *new_proto)
>                 * since it involves BT fw download
>                 */
>                err =
> st_kim_start(st_gdata->kim_data);
> -               if (err != ST_SUCCESS) {
> +               if (err != 0) {
>                      
>  clear_bit(ST_REG_IN_PROGRESS,
> &st_gdata->st_state);
>                        if
> ((st_gdata->protos_registered != ST_EMPTY) &&
>                          
>  (test_bit(ST_REG_PENDING, &st_gdata->st_state))) {
>                                pr_err(" KIM
> failure complete callback ");
> -                              
> st_reg_complete(st_gdata, ST_ERR_FAILURE);
> +                              
> st_reg_complete(st_gdata, -1);
>                        }
> 
> -                       return ST_ERR_FAILURE;
> +                       return -1;
>                }
> 
>                /* the protocol might require other
> gpios to be toggled
> @@ -675,7 +675,7 @@ long st_register(struct st_proto_s
> *new_proto)
>                if ((st_gdata->protos_registered
> != ST_EMPTY) &&
>                    (test_bit(ST_REG_PENDING,
> &st_gdata->st_state))) {
>                        pr_info(" call reg
> complete callback ");
> -                      
> st_reg_complete(st_gdata, ST_SUCCESS);
> +                      
> st_reg_complete(st_gdata, 0);
>                }
>                clear_bit(ST_REG_PENDING,
> &st_gdata->st_state);
> 
> @@ -685,7 +685,7 @@ long st_register(struct st_proto_s
> *new_proto)
>                if
> (st_gdata->list[new_proto->type] != NULL) {
>                        pr_err(" proto %d
> already registered ",
>                                  
> new_proto->type);
> -                       return ST_ERR_ALREADY;
> +                       return -EALREADY;
>                }
> 
>              
>  spin_lock_irqsave(&st_gdata->lock, flags);
> @@ -709,7 +709,7 @@ long st_register(struct st_proto_s
> *new_proto)
>                default:
>                        pr_err("%d protocol not
> supported",
>                                  
> new_proto->type);
> -                       err = ST_ERR_NOPROTO;
> +                       err = -EPROTONOSUPPORT;
>                        /* something wrong */
>                        break;
>                }
> @@ -730,7 +730,7 @@ EXPORT_SYMBOL_GPL(st_register);
>  */
>  long st_unregister(enum proto_type type)
>  {
> -       long err = ST_SUCCESS;
> +       long err = 0;
>        unsigned long flags = 0;
>        struct st_data_s        *st_gdata;
> 
> @@ -739,7 +739,7 @@ long st_unregister(enum proto_type
> type)
>        st_kim_ref(&st_gdata);
>        if (type < ST_BT || type >= ST_MAX) {
>                pr_err(" protocol %d not supported",
> type);
> -               return ST_ERR_NOPROTO;
> +               return -EPROTONOSUPPORT;
>        }
> 
>        spin_lock_irqsave(&st_gdata->lock,
> flags);
> @@ -747,7 +747,7 @@ long st_unregister(enum proto_type
> type)
>        if (st_gdata->list[type] == NULL) {
>                pr_err(" protocol %d not
> registered", type);
>              
>  spin_unlock_irqrestore(&st_gdata->lock, flags);
> -               return ST_ERR_NOPROTO;
> +               return -EPROTONOSUPPORT;
>        }
> 
>        st_gdata->protos_registered--;
> @@ -794,7 +794,7 @@ long st_write(struct sk_buff *skb)
>        if (unlikely(skb == NULL || st_gdata == NULL
>                || st_gdata->tty == NULL)) {
>                pr_err("data/tty unavailable to
> perform write");
> -               return ST_ERR_FAILURE;
> +               return -1;
>        }
>  #ifdef DEBUG                   /* open-up skb to
> read the 1st byte */
>        switch (skb->data[0]) {
> @@ -813,7 +813,7 @@ long st_write(struct sk_buff *skb)
>        if (unlikely(st_gdata->list[protoid] ==
> NULL)) {
>                pr_err(" protocol %d not registered,
> and writing? ",
>                           protoid);
> -               return ST_ERR_FAILURE;
> +               return -1;
>        }
>  #endif
>        pr_info("%d to be written", skb->len);
> @@ -837,7 +837,7 @@ EXPORT_SYMBOL_GPL(st_unregister);
>  */
>  static int st_tty_open(struct tty_struct *tty)
>  {
> -       int err = ST_SUCCESS;
> +       int err = 0;
>        struct st_data_s *st_gdata;
>        pr_info("%s ", __func__);
> 
> diff --git a/drivers/staging/ti-st/st_kim.c
> b/drivers/staging/ti-st/st_kim.c
> index d4fd2c2..33fc4d0 100644
> --- a/drivers/staging/ti-st/st_kim.c
> +++ b/drivers/staging/ti-st/st_kim.c
> @@ -247,13 +247,13 @@ static long read_local_version(struct
> kim_data_s
> *kim_gdata, char *bts_scr_name)
>        INIT_COMPLETION(kim_gdata->kim_rcvd);
>        if (4 != st_int_write(kim_gdata->core_data,
> read_ver_cmd, 4)) {
>                pr_err("kim: couldn't write 4
> bytes");
> -               return ST_ERR_FAILURE;
> +               return -1;
>        }
> 
>        if (!wait_for_completion_timeout
>            (&kim_gdata->kim_rcvd,
> msecs_to_jiffies(CMD_RESP_TIME))) {
>                pr_err(" waiting for ver info- timed
> out ");
> -               return ST_ERR_FAILURE;
> +               return -1;
>        }
> 
>        version =
> @@ -275,7 +275,7 @@ static long read_local_version(struct
> kim_data_s
> *kim_gdata, char *bts_scr_name)
>        kim_gdata->version.min_ver = min_ver;
> 
>        pr_info("%s", bts_scr_name);
> -       return ST_SUCCESS;
> +       return 0;
>  }
> 
>  /* internal function which parses through the .bts
> firmware script file
> @@ -283,7 +283,7 @@ static long read_local_version(struct
> kim_data_s
> *kim_gdata, char *bts_scr_name)
>  */
>  static long download_firmware(struct kim_data_s
> *kim_gdata)
>  {
> -       long err = ST_SUCCESS;
> +       long err = 0;
>        long len = 0;
>        register unsigned char *ptr = NULL;
>        register unsigned char *action_ptr = NULL;
> @@ -292,7 +292,7 @@ static long download_firmware(struct
> kim_data_s *kim_gdata)
>        pr_info("%s", __func__);
> 
>        err = read_local_version(kim_gdata,
> bts_scr_name);
> -       if (err != ST_SUCCESS) {
> +       if (err != 0) {
>                pr_err("kim: failed to read local
> ver");
>                return err;
>        }
> @@ -303,7 +303,7 @@ static long download_firmware(struct
> kim_data_s *kim_gdata)
>                    
> (kim_gdata->fw_entry->size == 0))) {
>                pr_err(" request_firmware
> failed(errno %ld) for %s", err,
>                           bts_scr_name);
> -               return ST_ERR_FAILURE;
> +               return -1;
>        }
>        ptr = (void *)kim_gdata->fw_entry->data;
>        len = kim_gdata->fw_entry->size;
> @@ -338,7 +338,7 @@ static long download_firmware(struct
> kim_data_s *kim_gdata)
>                                        
>   ((struct bts_action *)ptr)->size);
>                        if (unlikely(err <
> 0)) {
>                              
>  release_firmware(kim_gdata->fw_entry);
> -                               return
> ST_ERR_FAILURE;
> +                               return -1;
>                        }
>                        if
> (!wait_for_completion_timeout
>                          
>  (&kim_gdata->kim_rcvd,
> @@ -347,7 +347,7 @@ static long download_firmware(struct
> kim_data_s *kim_gdata)
>                                    ("
> response timeout during fw download ");
>                                /* timed out
> */
>                              
>  release_firmware(kim_gdata->fw_entry);
> -                               return
> ST_ERR_FAILURE;
> +                               return -1;
>                        }
>                        break;
>                case ACTION_DELAY:      /* sleep
> */
> @@ -365,7 +365,7 @@ static long download_firmware(struct
> kim_data_s *kim_gdata)
>        }
>        /* fw download complete */
>        release_firmware(kim_gdata->fw_entry);
> -       return ST_SUCCESS;
> +       return 0;
>  }
> 
>  /**********************************************************************/
> @@ -451,7 +451,7 @@ void st_kim_complete(void *kim_data)
>  */
>  long st_kim_start(void *kim_data)
>  {
> -       long err = ST_SUCCESS;
> +       long err = 0;
>        long retry = POR_RETRY_COUNT;
>        struct kim_data_s       *kim_gdata = (struct
> kim_data_s *)kim_data;
> 
> @@ -475,7 +475,7 @@ long st_kim_start(void *kim_data)
>                err =
> kill_pid(find_get_pid(kim_gdata->uim_pid), SIGUSR2, 0);
>                if (err != 0) {
>                        pr_info(" sending
> SIGUSR2 to uim failed %ld", err);
> -                       err = ST_ERR_FAILURE;
> +                       err = -1;
>                        continue;
>                }
>  #endif
> @@ -486,13 +486,13 @@ long st_kim_start(void *kim_data)
>                              
>  msecs_to_jiffies(LDISC_TIME));
>                if (!err) {     /* timeout */
>                        pr_err("line disc
> installation timed out ");
> -                       err = ST_ERR_FAILURE;
> +                       err = -1;
>                        continue;
>                } else {
>                        /* ldisc installed now
> */
>                        pr_info(" line
> discipline installed ");
>                        err =
> download_firmware(kim_gdata);
> -                       if (err != ST_SUCCESS)
> {
> +                       if (err != 0) {
>                              
>  pr_err("download firmware failed");
>                                continue;
>                        } else {        /*
> on success don't retry */
> @@ -507,7 +507,7 @@ long st_kim_start(void *kim_data)
>  */
>  long st_kim_stop(void *kim_data)
>  {
> -       long err = ST_SUCCESS;
> +       long err = 0;
>        struct kim_data_s       *kim_gdata = (struct
> kim_data_s *)kim_data;
> 
>        INIT_COMPLETION(kim_gdata->ldisc_installed);
> @@ -516,7 +516,7 @@ long st_kim_stop(void *kim_data)
>        err =
> kill_pid(find_get_pid(kim_gdata->uim_pid), SIGUSR2, 1);
>        if (err != 0) {
>                pr_err("sending SIGUSR2 to uim
> failed %ld", err);
> -               return ST_ERR_FAILURE;
> +               return -1;
>        }
>  #endif
>        /* set BT rfkill to be blocked */
> @@ -527,7 +527,7 @@ long st_kim_stop(void *kim_data)
>                      
>  msecs_to_jiffies(LDISC_TIME));
>        if (!err) {             /* timeout */
>                pr_err(" timed out waiting for ldisc
> to be un-installed");
> -               return ST_ERR_FAILURE;
> +               return -1;
>        }
> 
>        /* By default configure BT nShutdown to LOW
> state */
> @@ -607,7 +607,7 @@ static int kim_toggle_radio(void *data,
> bool blocked)
>                pr_err(" wrong proto type ");
>        break;
>        }
> -       return ST_SUCCESS;
> +       return 0;
>  }
> 
>  void st_kim_ref(struct st_data_s **core_data)
> @@ -643,7 +643,7 @@ static int kim_probe(struct
> platform_device *pdev)
>        status =
> st_core_init(&kim_gdata->core_data);
>        if (status != 0) {
>                pr_err(" ST core init failed");
> -               return ST_ERR_FAILURE;
> +               return -1;
>        }
>        /* refer to itself */
>        kim_gdata->core_data->kim_data =
> kim_gdata;
> @@ -716,7 +716,7 @@ static int kim_probe(struct
> platform_device *pdev)
>                return -1;
>        }
>        pr_info(" sysfs entries created ");
> -       return ST_SUCCESS;
> +       return 0;
>  }
> 
>  static int kim_remove(struct platform_device *pdev)
> @@ -745,7 +745,7 @@ static int kim_remove(struct
> platform_device *pdev)
> 
>        kfree(kim_gdata);
>        kim_gdata = NULL;
> -       return ST_SUCCESS;
> +       return 0;
>  }
> 
>  /**********************************************************************/
> @@ -753,13 +753,13 @@ static int kim_remove(struct
> platform_device *pdev)
> 
>  static int __init st_kim_init(void)
>  {
> -       long ret = ST_SUCCESS;
> +       long ret = 0;
>        ret =
> platform_driver_register(&kim_platform_driver);
>        if (ret != 0) {
>                pr_err("platform drv registration
> failed");
> -               return ST_ERR_FAILURE;
> +               return -1;
>        }
> -       return ST_SUCCESS;
> +       return 0;
>  }
> 
>  static void __exit st_kim_deinit(void)
> diff --git a/drivers/staging/ti-st/st_ll.c
> b/drivers/staging/ti-st/st_ll.c
> index 0685a10..6bc0759 100644
> --- a/drivers/staging/ti-st/st_ll.c
> +++ b/drivers/staging/ti-st/st_ll.c
> @@ -127,9 +127,9 @@ unsigned long st_ll_sleep_state(struct
> st_data_s *st_data,
>                break;
>        default:
>                pr_err(" unknown input/state ");
> -               return ST_ERR_FAILURE;
> +               return -1;
>        }
> -       return ST_SUCCESS;
> +       return 0;
>  }
> 
>  /* Called from ST CORE to initialize ST LL */
> --
> 1.5.6.3
> 
> --
> To unsubscribe from this list: send the line "unsubscribe
> linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 
> 
> 
> 
> 
> -- 
> --Pavan Savoy
> 



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

* Re: [PATCH] drivers:staging:ti-st: make use of linux err codes
  2010-07-16  6:24 ` [PATCH] drivers:staging:ti-st: make use of linux err codes Pavan Savoy
@ 2010-07-16  6:43   ` Greg KH
  2010-07-16  7:05     ` Savoy, Pavan
  2010-07-16 13:05   ` Alan Cox
  1 sibling, 1 reply; 6+ messages in thread
From: Greg KH @ 2010-07-16  6:43 UTC (permalink / raw)
  To: Pavan Savoy; +Cc: linux-kernel

On Fri, Jul 16, 2010 at 11:54:40AM +0530, Pavan Savoy wrote:
> 
> --- On Fri, 16/7/10, Pavan Savoy <pavan.savoy@gmail.com> wrote:
> 
> > From: Pavan Savoy <pavan.savoy@gmail.com>
> > Subject: [PATCH] drivers:staging:ti-st: make use of linux err codes
> > To: "pavan savoy" <pavan_savoy@yahoo.co.in>
> > Date: Friday, 16 July, 2010, 11:52 AM
> > ---------- Forwarded message
> > ----------
> > From:? <pavan_savoy@ti.com>
> > Date: Wed, Jul 14, 2010 at 6:51 PM
> > Subject: [PATCH] drivers:staging:ti-st: make use of linux
> > err codes
> > To: alan@lxorguk.ukuu.org.uk,
> > gregkh@suse.de
> > Cc: devel@driverdev.osuosl.org,
> > linux-kernel@vger.kernel.org,
> 
> Greg,
> Any comments ? Is it good to go ?

I am currently travelling at a conference somewhere in Europe, and will
not be able to get back to applying patches until late next week, sorry.
Don't worry, it's in my "to-apply" queue and is not lost.

thanks,

greg k-h

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

* RE: [PATCH] drivers:staging:ti-st: make use of linux err codes
  2010-07-16  6:43   ` Greg KH
@ 2010-07-16  7:05     ` Savoy, Pavan
  0 siblings, 0 replies; 6+ messages in thread
From: Savoy, Pavan @ 2010-07-16  7:05 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-kernel@vger.kernel.org

 

> -----Original Message-----
> From: Greg KH [mailto:gregkh@suse.de]
> Sent: Friday, July 16, 2010 1:43 AM
> To: Savoy, Pavan
> Cc: linux-kernel@vger.kernel.org
> Subject: Re: [PATCH] drivers:staging:ti-st: make use of linux err codes
> 
> On Fri, Jul 16, 2010 at 11:54:40AM +0530, Pavan Savoy wrote:
> >
> > --- On Fri, 16/7/10, Pavan Savoy <pavan.savoy@gmail.com> wrote:
> >
> > > From: Pavan Savoy <pavan.savoy@gmail.com>
> > > Subject: [PATCH] drivers:staging:ti-st: make use of linux err codes
> > > To: "pavan savoy" <pavan_savoy@yahoo.co.in>
> > > Date: Friday, 16 July, 2010, 11:52 AM
> > > ---------- Forwarded message
> > > ----------
> > > From:? <pavan_savoy@ti.com>
> > > Date: Wed, Jul 14, 2010 at 6:51 PM
> > > Subject: [PATCH] drivers:staging:ti-st: make use of linux
> > > err codes
> > > To: alan@lxorguk.ukuu.org.uk,
> > > gregkh@suse.de
> > > Cc: devel@driverdev.osuosl.org,
> > > linux-kernel@vger.kernel.org,
> >
> > Greg,
> > Any comments ? Is it good to go ?
> 
> I am currently travelling at a conference somewhere in Europe, and will
Oh cool.

> not be able to get back to applying patches until late next week, sorry.
> Don't worry, it's in my "to-apply" queue and is not lost.
Thanks.

> 
> thanks,
> 
> greg k-h

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

* Re: [PATCH] drivers:staging:ti-st: make use of linux err codes
  2010-07-16  6:24 ` [PATCH] drivers:staging:ti-st: make use of linux err codes Pavan Savoy
  2010-07-16  6:43   ` Greg KH
@ 2010-07-16 13:05   ` Alan Cox
  2010-07-16 14:07     ` Savoy, Pavan
  1 sibling, 1 reply; 6+ messages in thread
From: Alan Cox @ 2010-07-16 13:05 UTC (permalink / raw)
  To: pavan_savoy; +Cc: greg, linux-kernel

Can't answer for GregKH but to me it looks like its heading in the right
direction with these patches

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

* RE: [PATCH] drivers:staging:ti-st: make use of linux err codes
  2010-07-16 13:05   ` Alan Cox
@ 2010-07-16 14:07     ` Savoy, Pavan
  0 siblings, 0 replies; 6+ messages in thread
From: Savoy, Pavan @ 2010-07-16 14:07 UTC (permalink / raw)
  To: Alan Cox; +Cc: greg, linux-kernel@vger.kernel.org


> -----Original Message-----
> From: Alan Cox [mailto:alan@lxorguk.ukuu.org.uk]
> Sent: Friday, July 16, 2010 8:05 AM
> To: Savoy, Pavan
> Cc: greg; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH] drivers:staging:ti-st: make use of linux err codes
> 
> Can't answer for GregKH but to me it looks like its heading in the right
> direction with these patches

Thanks Alan, and with 
http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commit;h=38d9df499dd3125465cf5aed3d3d6d5c26f0645d

which is merged, I suppose the 1st step in avoiding the single device limit was taken.
Please have a look.
The Idea here is to provide a context to the ST driver as a per-ST platform device.

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

end of thread, other threads:[~2010-07-16 14:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <AANLkTikrtkVSWZoyVL6A0Maa16cKxGUnnuyrRGmpU09z@mail.gmail.com>
2010-07-16  6:24 ` [PATCH] drivers:staging:ti-st: make use of linux err codes Pavan Savoy
2010-07-16  6:43   ` Greg KH
2010-07-16  7:05     ` Savoy, Pavan
2010-07-16 13:05   ` Alan Cox
2010-07-16 14:07     ` Savoy, Pavan
2010-07-14 13:21 pavan_savoy

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