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

Commit 98339cbd authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (80 commits)
  ide-floppy: fix unfortunate function naming
  ide-tape: unify idetape_create_read/write_cmd
  ide: add ide_pc_intr() helper
  ide-{floppy,scsi}: read Status Register before stopping DMA engine
  ide-scsi: add more debugging to idescsi_pc_intr()
  ide-scsi: use pc->callback
  ide-floppy: add more debugging to idefloppy_pc_intr()
  ide-tape: always log debug info in idetape_pc_intr() if debugging is enabled
  ide-tape: add ide_tape_io_buffers() helper
  ide-tape: factor out DSC handling from idetape_pc_intr()
  ide-{floppy,tape}: move checking of ->failed_pc to ->callback
  ide: add ide_issue_pc() helper
  ide: add PC_FLAG_DRQ_INTERRUPT pc flag
  ide-scsi: move idescsi_map_sg() call out from idescsi_issue_pc()
  ide: add ide_transfer_pc() helper
  ide-scsi: set drive->scsi flag for devices handled by the driver
  ide-{cd,floppy,tape}: remove checking for drive->scsi
  ide: add PC_FLAG_ZIP_DRIVE pc flag
  ide-tape: factor out waiting for good ireason from idetape_transfer_pc()
  ide-tape: set PC_FLAG_DMA_IN_PROGRESS flag in idetape_transfer_pc()
  ...
parents e4e0fadc cbbc4e81
Loading
Loading
Loading
Loading
+0 −3
Original line number Original line Diff line number Diff line
@@ -758,9 +758,6 @@ and is between 256 and 4096 characters. It is defined in the file
	hd=		[EIDE] (E)IDE hard drive subsystem geometry
	hd=		[EIDE] (E)IDE hard drive subsystem geometry
			Format: <cyl>,<head>,<sect>
			Format: <cyl>,<head>,<sect>


	hd?=		[HW] (E)IDE subsystem
	hd?lun=		See Documentation/ide/ide.txt.

	highmem=nn[KMG]	[KNL,BOOT] forces the highmem zone to have an exact
	highmem=nn[KMG]	[KNL,BOOT] forces the highmem zone to have an exact
			size of <nn>. This works even on boxes that have no
			size of <nn>. This works even on boxes that have no
			highmem otherwise. This also works to reduce highmem
			highmem otherwise. This also works to reduce highmem
+3 −9
Original line number Original line Diff line number Diff line
@@ -1042,16 +1042,10 @@ void blk_put_request(struct request *req)
	unsigned long flags;
	unsigned long flags;
	struct request_queue *q = req->q;
	struct request_queue *q = req->q;


	/*
	 * Gee, IDE calls in w/ NULL q.  Fix IDE and remove the
	 * following if (q) test.
	 */
	if (q) {
	spin_lock_irqsave(q->queue_lock, flags);
	spin_lock_irqsave(q->queue_lock, flags);
	__blk_put_request(q, req);
	__blk_put_request(q, req);
	spin_unlock_irqrestore(q->queue_lock, flags);
	spin_unlock_irqrestore(q->queue_lock, flags);
}
}
}
EXPORT_SYMBOL(blk_put_request);
EXPORT_SYMBOL(blk_put_request);


void init_request_from_bio(struct request *req, struct bio *bio)
void init_request_from_bio(struct request *req, struct bio *bio)
+4 −2
Original line number Original line Diff line number Diff line
@@ -18,7 +18,7 @@
 * @rq: request to complete
 * @rq: request to complete
 * @error: end io status of the request
 * @error: end io status of the request
 */
 */
void blk_end_sync_rq(struct request *rq, int error)
static void blk_end_sync_rq(struct request *rq, int error)
{
{
	struct completion *waiting = rq->end_io_data;
	struct completion *waiting = rq->end_io_data;


@@ -31,7 +31,6 @@ void blk_end_sync_rq(struct request *rq, int error)
	 */
	 */
	complete(waiting);
	complete(waiting);
}
}
EXPORT_SYMBOL(blk_end_sync_rq);


/**
/**
 * blk_execute_rq_nowait - insert a request into queue for execution
 * blk_execute_rq_nowait - insert a request into queue for execution
@@ -58,6 +57,9 @@ void blk_execute_rq_nowait(struct request_queue *q, struct gendisk *bd_disk,
	spin_lock_irq(q->queue_lock);
	spin_lock_irq(q->queue_lock);
	__elv_add_request(q, rq, where, 1);
	__elv_add_request(q, rq, where, 1);
	__generic_unplug_device(q);
	__generic_unplug_device(q);
	/* the queue is stopped so it won't be plugged+unplugged */
	if (blk_pm_resume_request(rq))
		q->request_fn(q);
	spin_unlock_irq(q->queue_lock);
	spin_unlock_irq(q->queue_lock);
}
}
EXPORT_SYMBOL_GPL(blk_execute_rq_nowait);
EXPORT_SYMBOL_GPL(blk_execute_rq_nowait);
+9 −11
Original line number Original line Diff line number Diff line
@@ -712,19 +712,17 @@ static void do_pd_request(struct request_queue * q)
static int pd_special_command(struct pd_unit *disk,
static int pd_special_command(struct pd_unit *disk,
		      enum action (*func)(struct pd_unit *disk))
		      enum action (*func)(struct pd_unit *disk))
{
{
	DECLARE_COMPLETION_ONSTACK(wait);
	struct request *rq;
	struct request rq;
	int err = 0;
	int err = 0;


	blk_rq_init(NULL, &rq);
	rq = blk_get_request(disk->gd->queue, READ, __GFP_WAIT);
	rq.rq_disk = disk->gd;

	rq.end_io_data = &wait;
	rq->cmd_type = REQ_TYPE_SPECIAL;
	rq.end_io = blk_end_sync_rq;
	rq->special = func;
	blk_insert_request(disk->gd->queue, &rq, 0, func);

	wait_for_completion(&wait);
	err = blk_execute_rq(disk->gd->queue, disk->gd, rq, 0);
	if (rq.errors)

		err = -EIO;
	blk_put_request(rq);
	blk_put_request(&rq);
	return err;
	return err;
}
}


+6 −0
Original line number Original line Diff line number Diff line
@@ -98,6 +98,9 @@ if BLK_DEV_IDE


comment "Please see Documentation/ide/ide.txt for help/info on IDE drives"
comment "Please see Documentation/ide/ide.txt for help/info on IDE drives"


config IDE_ATAPI
	bool

config BLK_DEV_IDE_SATA
config BLK_DEV_IDE_SATA
	bool "Support for SATA (deprecated; conflicts with libata SATA driver)"
	bool "Support for SATA (deprecated; conflicts with libata SATA driver)"
	default n
	default n
@@ -201,6 +204,7 @@ config BLK_DEV_IDECD_VERBOSE_ERRORS


config BLK_DEV_IDETAPE
config BLK_DEV_IDETAPE
	tristate "Include IDE/ATAPI TAPE support"
	tristate "Include IDE/ATAPI TAPE support"
	select IDE_ATAPI
	help
	help
	  If you have an IDE tape drive using the ATAPI protocol, say Y.
	  If you have an IDE tape drive using the ATAPI protocol, say Y.
	  ATAPI is a newer protocol used by IDE tape and CD-ROM drives,
	  ATAPI is a newer protocol used by IDE tape and CD-ROM drives,
@@ -223,6 +227,7 @@ config BLK_DEV_IDETAPE


config BLK_DEV_IDEFLOPPY
config BLK_DEV_IDEFLOPPY
	tristate "Include IDE/ATAPI FLOPPY support"
	tristate "Include IDE/ATAPI FLOPPY support"
	select IDE_ATAPI
	---help---
	---help---
	  If you have an IDE floppy drive which uses the ATAPI protocol,
	  If you have an IDE floppy drive which uses the ATAPI protocol,
	  answer Y.  ATAPI is a newer protocol used by IDE CD-ROM/tape/floppy
	  answer Y.  ATAPI is a newer protocol used by IDE CD-ROM/tape/floppy
@@ -246,6 +251,7 @@ config BLK_DEV_IDEFLOPPY
config BLK_DEV_IDESCSI
config BLK_DEV_IDESCSI
	tristate "SCSI emulation support"
	tristate "SCSI emulation support"
	depends on SCSI
	depends on SCSI
	select IDE_ATAPI
	---help---
	---help---
	  WARNING: ide-scsi is no longer needed for cd writing applications!
	  WARNING: ide-scsi is no longer needed for cd writing applications!
	  The 2.6 kernel supports direct writing to ide-cd, which eliminates
	  The 2.6 kernel supports direct writing to ide-cd, which eliminates
Loading