Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 320920cb authored by Pavan Savoy's avatar Pavan Savoy Committed by Greg Kroah-Hartman
Browse files

Staging: ti-st: make use of linux err codes



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

Signed-off-by: default avatarPavan Savoy <pavan_savoy@ti.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 771dafdc
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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;
+0 −9
Original line number Diff line number Diff line
@@ -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
 */
+19 −19
Original line number Diff line number Diff line
@@ -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__);

+23 −23
Original line number Diff line number Diff line
@@ -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)
+2 −2
Original line number Diff line number Diff line
@@ -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 */