lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1297842971-2861-1-git-send-email-wei_wang@realsil.com.cn>
Date:	Wed, 16 Feb 2011 15:56:10 +0800
From:	<wei_wang@...lsil.com.cn>
To:	<gregkh@...e.de>, <devel@...uxdriverproject.org>,
	<linux-kernel@...r.kernel.org>
CC:	wwang <wei_wang@...lsil.com.cn>
Subject: [PATCH 1/2] staging: rts_pstor: delete a function

From: wwang <wei_wang@...lsil.com.cn>

Delete a function named rtsx_transfer_sglist which won't be called.

Signed-off-by: wwang <wei_wang@...lsil.com.cn>
---
 drivers/staging/rts_pstor/rtsx_transport.c |  136 ----------------------------
 1 files changed, 0 insertions(+), 136 deletions(-)

diff --git a/drivers/staging/rts_pstor/rtsx_transport.c b/drivers/staging/rts_pstor/rtsx_transport.c
index e581f15..3b160dc 100644
--- a/drivers/staging/rts_pstor/rtsx_transport.c
+++ b/drivers/staging/rts_pstor/rtsx_transport.c
@@ -715,142 +715,6 @@ out:
 	return err;
 }
 
-int rtsx_transfer_sglist(struct rtsx_chip *chip, u8 card,
-		struct scatterlist *sg, int num_sg,
-		enum dma_data_direction dma_dir, int timeout)
-{
-	struct rtsx_dev *rtsx = chip->rtsx;
-	struct completion trans_done;
-	u8 dir;
-	int buf_cnt, i;
-	int err = 0;
-	long timeleft;
-
-	if ((sg == NULL) || (num_sg <= 0))
-		return -EIO;
-
-	if (dma_dir == DMA_TO_DEVICE) {
-		dir = HOST_TO_DEVICE;
-	} else if (dma_dir == DMA_FROM_DEVICE) {
-		dir = DEVICE_TO_HOST;
-	} else {
-		return -ENXIO;
-	}
-
-	if (card == SD_CARD) {
-		rtsx->check_card_cd = SD_EXIST;
-	} else if (card == MS_CARD) {
-		rtsx->check_card_cd = MS_EXIST;
-	} else if (card == XD_CARD) {
-		rtsx->check_card_cd = XD_EXIST;
-	} else {
-		rtsx->check_card_cd = 0;
-	}
-
-	spin_lock_irq(&rtsx->reg_lock);
-
-	/* set up data structures for the wakeup system */
-	rtsx->done = &trans_done;
-
-	rtsx->trans_state = STATE_TRANS_SG;
-	rtsx->trans_result = TRANS_NOT_READY;
-
-	spin_unlock_irq(&rtsx->reg_lock);
-
-	buf_cnt = dma_map_sg(&(rtsx->pci->dev), sg, num_sg, dma_dir);
-
-	for (i = 0; i < buf_cnt; i++) {
-		u32 bier = 0;
-		u32 val = (1 << 31);
-		dma_addr_t addr = sg_dma_address(sg + i);
-		unsigned int len = sg_dma_len(sg + i);
-
-		RTSX_DEBUGP("dma_addr = 0x%x, dma_len = %d\n",
-			     (unsigned int)addr, len);
-
-		val |= (u32)(dir & 0x01) << 29;
-		val |= (u32)(len & 0x00FFFFFF);
-
-		spin_lock_irq(&rtsx->reg_lock);
-
-		init_completion(&trans_done);
-
-		if (i == (buf_cnt - 1)) {
-			/* If last transfer, disable data interrupt */
-			bier = rtsx_readl(chip, RTSX_BIER);
-			rtsx_writel(chip, RTSX_BIER, bier & 0xBFFFFFFF);
-		}
-
-		rtsx_writel(chip, RTSX_HDBAR, addr);
-		rtsx_writel(chip, RTSX_HDBCTLR, val);
-
-		spin_unlock_irq(&rtsx->reg_lock);
-
-		timeleft = wait_for_completion_interruptible_timeout(
-			&trans_done, timeout * HZ / 1000);
-		if (timeleft <= 0) {
-			RTSX_DEBUGP("Timeout (%s %d)\n", __func__, __LINE__);
-			RTSX_DEBUGP("chip->int_reg = 0x%x\n", chip->int_reg);
-			err = -ETIMEDOUT;
-			if (i == (buf_cnt - 1))
-				rtsx_writel(chip, RTSX_BIER, bier);
-			goto out;
-		}
-
-		spin_lock_irq(&rtsx->reg_lock);
-		if (rtsx->trans_result == TRANS_RESULT_FAIL) {
-			err = -EIO;
-			spin_unlock_irq(&rtsx->reg_lock);
-			if (i == (buf_cnt - 1))
-				rtsx_writel(chip, RTSX_BIER, bier);
-			goto out;
-		}
-		spin_unlock_irq(&rtsx->reg_lock);
-
-		if (i == (buf_cnt - 1)) {
-			/* If last transfer, enable data interrupt
-			 * after transfer finished
-			 */
-			rtsx_writel(chip, RTSX_BIER, bier);
-		}
-	}
-
-	/* Wait for TRANS_OK_INT */
-	spin_lock_irq(&rtsx->reg_lock);
-	if (rtsx->trans_result == TRANS_NOT_READY) {
-		init_completion(&trans_done);
-		spin_unlock_irq(&rtsx->reg_lock);
-		timeleft = wait_for_completion_interruptible_timeout(
-			&trans_done, timeout * HZ / 1000);
-		if (timeleft <= 0) {
-			RTSX_DEBUGP("Timeout (%s %d)\n", __func__, __LINE__);
-			RTSX_DEBUGP("chip->int_reg = 0x%x\n", chip->int_reg);
-			err = -ETIMEDOUT;
-			goto out;
-		}
-	} else {
-		spin_unlock_irq(&rtsx->reg_lock);
-	}
-
-	spin_lock_irq(&rtsx->reg_lock);
-	if (rtsx->trans_result == TRANS_RESULT_FAIL) {
-		err = -EIO;
-	} else if (rtsx->trans_result == TRANS_RESULT_OK) {
-		err = 0;
-	}
-	spin_unlock_irq(&rtsx->reg_lock);
-
-out:
-	rtsx->done = NULL;
-	rtsx->trans_state = STATE_TRANS_NONE;
-	dma_unmap_sg(&(rtsx->pci->dev), sg, num_sg, dma_dir);
-
-	if (err < 0)
-		rtsx_stop_cmd(chip, card);
-
-	return err;
-}
-
 int rtsx_transfer_data_partial(struct rtsx_chip *chip, u8 card,
 		void *buf, size_t len, int use_sg, unsigned int *index,
 		unsigned int *offset, enum dma_data_direction dma_dir,
-- 
1.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ