mirror of https://gitee.com/openkylin/linux.git
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
* 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
This commit is contained in:
commit
4efb686205
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)) {
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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));
|
||||
|
|
Loading…
Reference in New Issue