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

Commit 7116317d authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6

parents 24996049 0afaa4fc
Loading
Loading
Loading
Loading
+1 −9
Original line number Original line Diff line number Diff line
@@ -807,14 +807,6 @@ config BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
       depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX
       depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX
endchoice
endchoice


config BLK_DEV_IDE_AU1XXX_BURSTABLE_ON
        bool "Enable burstable Mode on DbDMA"
        default false
        depends BLK_DEV_IDE_AU1XXX
        help
          This option enable the burstable Flag on DbDMA controller
          (cf. "AMD Alchemy 'Au1200' Processor Data Book - PRELIMINARY").

config BLK_DEV_IDE_AU1XXX_SEQTS_PER_RQ
config BLK_DEV_IDE_AU1XXX_SEQTS_PER_RQ
       int "Maximum transfer size (KB) per request (up to 128)"
       int "Maximum transfer size (KB) per request (up to 128)"
       default "128"
       default "128"
@@ -940,7 +932,7 @@ config BLK_DEV_Q40IDE


config BLK_DEV_MPC8xx_IDE
config BLK_DEV_MPC8xx_IDE
	bool "MPC8xx IDE support"
	bool "MPC8xx IDE support"
	depends on 8xx
	depends on 8xx && IDE=y && BLK_DEV_IDE=y
	help
	help
	  This option provides support for IDE on Motorola MPC8xx Systems.
	  This option provides support for IDE on Motorola MPC8xx Systems.
	  Please see 'Type of MPC8xx IDE interface' for details.
	  Please see 'Type of MPC8xx IDE interface' for details.
+0 −7
Original line number Original line Diff line number Diff line
@@ -1292,7 +1292,6 @@ static ide_startstop_t cdrom_start_seek (ide_drive_t *drive, unsigned int block)
	struct cdrom_info *info = drive->driver_data;
	struct cdrom_info *info = drive->driver_data;


	info->dma = 0;
	info->dma = 0;
	info->cmd = 0;
	info->start_seek = jiffies;
	info->start_seek = jiffies;
	return cdrom_start_packet_command(drive, 0, cdrom_start_seek_continuation);
	return cdrom_start_packet_command(drive, 0, cdrom_start_seek_continuation);
}
}
@@ -1344,8 +1343,6 @@ static ide_startstop_t cdrom_start_read (ide_drive_t *drive, unsigned int block)
	    (rq->nr_sectors & (sectors_per_frame - 1)))
	    (rq->nr_sectors & (sectors_per_frame - 1)))
		info->dma = 0;
		info->dma = 0;


	info->cmd = READ;

	/* Start sending the read request to the drive. */
	/* Start sending the read request to the drive. */
	return cdrom_start_packet_command(drive, 32768, cdrom_start_read_continuation);
	return cdrom_start_packet_command(drive, 32768, cdrom_start_read_continuation);
}
}
@@ -1484,7 +1481,6 @@ static ide_startstop_t cdrom_do_packet_command (ide_drive_t *drive)
	struct cdrom_info *info = drive->driver_data;
	struct cdrom_info *info = drive->driver_data;


	info->dma = 0;
	info->dma = 0;
	info->cmd = 0;
	rq->flags &= ~REQ_FAILED;
	rq->flags &= ~REQ_FAILED;
	len = rq->data_len;
	len = rq->data_len;


@@ -1891,7 +1887,6 @@ static ide_startstop_t cdrom_start_write(ide_drive_t *drive, struct request *rq)
	/* use dma, if possible. we don't need to check more, since we
	/* use dma, if possible. we don't need to check more, since we
	 * know that the transfer is always (at least!) frame aligned */
	 * know that the transfer is always (at least!) frame aligned */
	info->dma = drive->using_dma ? 1 : 0;
	info->dma = drive->using_dma ? 1 : 0;
	info->cmd = WRITE;


	info->devinfo.media_written = 1;
	info->devinfo.media_written = 1;


@@ -1916,7 +1911,6 @@ static ide_startstop_t cdrom_do_block_pc(ide_drive_t *drive, struct request *rq)
	rq->flags |= REQ_QUIET;
	rq->flags |= REQ_QUIET;


	info->dma = 0;
	info->dma = 0;
	info->cmd = 0;


	/*
	/*
	 * sg request
	 * sg request
@@ -1925,7 +1919,6 @@ static ide_startstop_t cdrom_do_block_pc(ide_drive_t *drive, struct request *rq)
		int mask = drive->queue->dma_alignment;
		int mask = drive->queue->dma_alignment;
		unsigned long addr = (unsigned long) page_address(bio_page(rq->bio));
		unsigned long addr = (unsigned long) page_address(bio_page(rq->bio));


		info->cmd = rq_data_dir(rq);
		info->dma = drive->using_dma;
		info->dma = drive->using_dma;


		/*
		/*
+0 −1
Original line number Original line Diff line number Diff line
@@ -480,7 +480,6 @@ struct cdrom_info {


	struct request request_sense_request;
	struct request request_sense_request;
	int dma;
	int dma;
	int cmd;
	unsigned long last_block;
	unsigned long last_block;
	unsigned long start_seek;
	unsigned long start_seek;
	/* Buffer to hold mechanism status and changer slot table. */
	/* Buffer to hold mechanism status and changer slot table. */
+2 −2
Original line number Original line Diff line number Diff line
@@ -1034,12 +1034,12 @@ static int ide_disk_remove(struct device *dev)
	struct ide_disk_obj *idkp = drive->driver_data;
	struct ide_disk_obj *idkp = drive->driver_data;
	struct gendisk *g = idkp->disk;
	struct gendisk *g = idkp->disk;


	ide_cacheflush_p(drive);

	ide_unregister_subdriver(drive, idkp->driver);
	ide_unregister_subdriver(drive, idkp->driver);


	del_gendisk(g);
	del_gendisk(g);


	ide_cacheflush_p(drive);

	ide_disk_put(idkp);
	ide_disk_put(idkp);


	return 0;
	return 0;
+6 −9
Original line number Original line Diff line number Diff line
@@ -90,11 +90,6 @@
#include <asm/io.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/irq.h>


struct drive_list_entry {
	const char *id_model;
	const char *id_firmware;
};

static const struct drive_list_entry drive_whitelist [] = {
static const struct drive_list_entry drive_whitelist [] = {


	{ "Micropolis 2112A"	,       "ALL"		},
	{ "Micropolis 2112A"	,       "ALL"		},
@@ -139,7 +134,7 @@ static const struct drive_list_entry drive_blacklist [] = {
};
};


/**
/**
 *	in_drive_list	-	look for drive in black/white list
 *	ide_in_drive_list	-	look for drive in black/white list
 *	@id: drive identifier
 *	@id: drive identifier
 *	@drive_table: list to inspect
 *	@drive_table: list to inspect
 *
 *
@@ -147,7 +142,7 @@ static const struct drive_list_entry drive_blacklist [] = {
 *	Returns 1 if the drive is found in the table.
 *	Returns 1 if the drive is found in the table.
 */
 */


static int in_drive_list(struct hd_driveid *id, const struct drive_list_entry *drive_table)
int ide_in_drive_list(struct hd_driveid *id, const struct drive_list_entry *drive_table)
{
{
	for ( ; drive_table->id_model ; drive_table++)
	for ( ; drive_table->id_model ; drive_table++)
		if ((!strcmp(drive_table->id_model, id->model)) &&
		if ((!strcmp(drive_table->id_model, id->model)) &&
@@ -157,6 +152,8 @@ static int in_drive_list(struct hd_driveid *id, const struct drive_list_entry *d
	return 0;
	return 0;
}
}


EXPORT_SYMBOL_GPL(ide_in_drive_list);

/**
/**
 *	ide_dma_intr	-	IDE DMA interrupt handler
 *	ide_dma_intr	-	IDE DMA interrupt handler
 *	@drive: the drive the interrupt is for
 *	@drive: the drive the interrupt is for
@@ -663,7 +660,7 @@ int __ide_dma_bad_drive (ide_drive_t *drive)
{
{
	struct hd_driveid *id = drive->id;
	struct hd_driveid *id = drive->id;


	int blacklist = in_drive_list(id, drive_blacklist);
	int blacklist = ide_in_drive_list(id, drive_blacklist);
	if (blacklist) {
	if (blacklist) {
		printk(KERN_WARNING "%s: Disabling (U)DMA for %s (blacklisted)\n",
		printk(KERN_WARNING "%s: Disabling (U)DMA for %s (blacklisted)\n",
				    drive->name, id->model);
				    drive->name, id->model);
@@ -677,7 +674,7 @@ EXPORT_SYMBOL(__ide_dma_bad_drive);
int __ide_dma_good_drive (ide_drive_t *drive)
int __ide_dma_good_drive (ide_drive_t *drive)
{
{
	struct hd_driveid *id = drive->id;
	struct hd_driveid *id = drive->id;
	return in_drive_list(id, drive_whitelist);
	return ide_in_drive_list(id, drive_whitelist);
}
}


EXPORT_SYMBOL(__ide_dma_good_drive);
EXPORT_SYMBOL(__ide_dma_good_drive);
Loading