Commit 9c9f2d63 authored by Pierre Ossman's avatar Pierre Ossman

mmc: clean up unused parts of block driver

Remove dead code and unused structs from the block driver.
Signed-off-by: default avatarPierre Ossman <drzeus@drzeus.cx>
parent 585a2858
......@@ -135,23 +135,6 @@ struct mmc_blk_request {
struct mmc_data data;
};
static int mmc_blk_prep_rq(struct mmc_queue *mq, struct request *req)
{
struct mmc_blk_data *md = mq->data;
int stat = BLKPREP_OK;
/*
* If we have no device, we haven't finished initialising.
*/
if (!md || !mq->card) {
printk(KERN_ERR "%s: killing request - no device/host\n",
req->rq_disk->disk_name);
stat = BLKPREP_KILL;
}
return stat;
}
static u32 mmc_sd_num_wr_blocks(struct mmc_card *card)
{
int err;
......@@ -460,7 +443,6 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card)
if (ret)
goto err_putdisk;
md->queue.prep_fn = mmc_blk_prep_rq;
md->queue.issue_fn = mmc_blk_issue_rq;
md->queue.data = md;
......
......@@ -20,40 +20,21 @@
#define MMC_QUEUE_SUSPENDED (1 << 0)
/*
* Prepare a MMC request. Essentially, this means passing the
* preparation off to the media driver. The media driver will
* create a mmc_io_request in req->special.
* Prepare a MMC request. This just filters out odd stuff.
*/
static int mmc_prep_request(struct request_queue *q, struct request *req)
{
struct mmc_queue *mq = q->queuedata;
int ret = BLKPREP_KILL;
if (blk_special_request(req)) {
/*
* Special commands already have the command
* blocks already setup in req->special.
*/
BUG_ON(!req->special);
ret = BLKPREP_OK;
} else if (blk_fs_request(req) || blk_pc_request(req)) {
/*
* Block I/O requests need translating according
* to the protocol.
*/
ret = mq->prep_fn(mq, req);
} else {
/*
* Everything else is invalid.
*/
/*
* We only like normal block requests.
*/
if (!blk_fs_request(req) && !blk_pc_request(req)) {
blk_dump_rq_flags(req, "MMC bad request");
return BLKPREP_KILL;
}
if (ret == BLKPREP_OK)
req->cmd_flags |= REQ_DONTPREP;
req->cmd_flags |= REQ_DONTPREP;
return ret;
return BLKPREP_OK;
}
static int mmc_queue_thread(void *d)
......
......@@ -10,20 +10,12 @@ struct mmc_queue {
struct semaphore thread_sem;
unsigned int flags;
struct request *req;
int (*prep_fn)(struct mmc_queue *, struct request *);
int (*issue_fn)(struct mmc_queue *, struct request *);
void *data;
struct request_queue *queue;
struct scatterlist *sg;
};
struct mmc_io_request {
struct request *rq;
int num;
struct mmc_command selcmd; /* mmc_queue private */
struct mmc_command cmd[4]; /* max 4 commands */
};
extern int mmc_init_queue(struct mmc_queue *, struct mmc_card *, spinlock_t *);
extern void mmc_cleanup_queue(struct mmc_queue *);
extern void mmc_queue_suspend(struct mmc_queue *);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment