[<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