Skip to content

Commit

Permalink
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
Browse files Browse the repository at this point in the history
* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
  cdrom: update ioctl documentation
  ide: note that IDE generic may prevent other drivers from attaching
  ide-tape: fix vendor strings
  Swarm: Fix crash due to missing initialization
  • Loading branch information
torvalds committed Sep 29, 2008
2 parents 0f873d5 + d0eb406 commit 4efb686
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 7 deletions.
4 changes: 2 additions & 2 deletions Documentation/ioctl/cdrom.txt
Original file line number Diff line number Diff line change
Expand Up @@ -271,14 +271,14 @@ CDROMCLOSETRAY pendant of CDROMEJECT

usage:

ioctl(fd, CDROMEJECT, 0);
ioctl(fd, CDROMCLOSETRAY, 0);

inputs: none

outputs: none

error returns:
ENOSYS cd drive not capable of ejecting
ENOSYS cd drive not capable of closing the tray
EBUSY other processes are accessing drive, or door is locked

notes:
Expand Down
14 changes: 14 additions & 0 deletions drivers/ide/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,20 @@ config IDE_GENERIC
tristate "generic/default IDE chipset support"
depends on ALPHA || X86 || IA64 || M32R || MIPS
help
This is the generic IDE driver. This driver attaches to the
fixed legacy ports (e.g. on PCs 0x1f0/0x170, 0x1e8/0x168 and
so on). Please note that if this driver is built into the
kernel or loaded before other ATA (IDE or libata) drivers
and the controller is located at legacy ports, this driver
may grab those ports and thus can prevent the controller
specific driver from attaching.

Also, currently, IDE generic doesn't allow IRQ sharing
meaning that the IRQs it grabs won't be available to other
controllers sharing those IRQs which usually makes drivers
for those controllers fail. Generally, it's not a good idea
to load IDE generic driver on modern systems.

If unsure, say N.

config BLK_DEV_PLATFORM
Expand Down
10 changes: 5 additions & 5 deletions drivers/ide/ide-tape.c
Original file line number Diff line number Diff line change
Expand Up @@ -2338,7 +2338,7 @@ static void idetape_get_inquiry_results(ide_drive_t *drive)
{
idetape_tape_t *tape = drive->driver_data;
struct ide_atapi_pc pc;
char fw_rev[6], vendor_id[10], product_id[18];
char fw_rev[4], vendor_id[8], product_id[16];

idetape_create_inquiry_cmd(&pc);
if (idetape_queue_pc_tail(drive, &pc)) {
Expand All @@ -2350,11 +2350,11 @@ static void idetape_get_inquiry_results(ide_drive_t *drive)
memcpy(product_id, &pc.buf[16], 16);
memcpy(fw_rev, &pc.buf[32], 4);

ide_fixstring(vendor_id, 10, 0);
ide_fixstring(product_id, 18, 0);
ide_fixstring(fw_rev, 6, 0);
ide_fixstring(vendor_id, 8, 0);
ide_fixstring(product_id, 16, 0);
ide_fixstring(fw_rev, 4, 0);

printk(KERN_INFO "ide-tape: %s <-> %s: %s %s rev %s\n",
printk(KERN_INFO "ide-tape: %s <-> %s: %.8s %.16s rev %.4s\n",
drive->name, tape->name, vendor_id, product_id, fw_rev);
}

Expand Down
1 change: 1 addition & 0 deletions drivers/ide/mips/swarm.c
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ static int __devinit swarm_ide_probe(struct device *dev)

base = ioremap(offset, size);

memset(&hw, 0, sizeof(hw));
for (i = 0; i <= 7; i++)
hw.io_ports_array[i] =
(unsigned long)(base + ((0x1f0 + i) << 5));
Expand Down

0 comments on commit 4efb686

Please sign in to comment.