Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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:
BAST: Remove old IDE driver
pcmcia ide kingston compactflash's have a new manufacturer id
pcmcia: add another pata/ide ID
pcmcia: add an pata/ide ID
ide: increase timeout in wait_drive_not_busy()
palm_bk3710: fix resource management

+21 -110
+2
drivers/ata/pata_pcmcia.c
··· 414 414 PCMCIA_DEVICE_PROD_ID12("IO DATA", "PCIDE", 0x547e66dc, 0x5c5ab149), 415 415 PCMCIA_DEVICE_PROD_ID12("IO DATA", "PCIDEII", 0x547e66dc, 0xb3662674), 416 416 PCMCIA_DEVICE_PROD_ID12("LOOKMEET", "CBIDE2 ", 0xe37be2b5, 0x8671043b), 417 + PCMCIA_DEVICE_PROD_ID12("M-Systems", "CF300", 0x7ed2ad87, 0x7e9e78ee), 417 418 PCMCIA_DEVICE_PROD_ID12("M-Systems", "CF500", 0x7ed2ad87, 0x7a13045c), 418 419 PCMCIA_DEVICE_PROD_ID2("NinjaATA-", 0xebe0bd79), 419 420 PCMCIA_DEVICE_PROD_ID12("PCMCIA", "CD-ROM", 0x281f1c5d, 0x66536591), ··· 425 424 PCMCIA_DEVICE_PROD_ID12("SMI VENDOR", "SMI PRODUCT", 0x30896c92, 0x703cc5f6), 426 425 PCMCIA_DEVICE_PROD_ID12("TOSHIBA", "MK2001MPL", 0xb4585a1a, 0x3489e003), 427 426 PCMCIA_DEVICE_PROD_ID1("TRANSCEND 512M ", 0xd0909443), 427 + PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS1GCF45", 0x709b1bf1, 0xf68b6f32), 428 428 PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS1GCF80", 0x709b1bf1, 0x2a54d4b1), 429 429 PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS2GCF120", 0x709b1bf1, 0x969aa4f2), 430 430 PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS4GCF120", 0x709b1bf1, 0xf54a91c8),
-7
drivers/ide/Kconfig
··· 823 823 Say Y here if you want to support the Yellowstone RapIDE controller 824 824 manufactured for use with Acorn computers. 825 825 826 - config BLK_DEV_IDE_BAST 827 - tristate "Simtec BAST / Thorcom VR1000 IDE support" 828 - depends on ARM && (ARCH_BAST || MACH_VR1000) 829 - help 830 - Say Y here if you want to support the onboard IDE channels on the 831 - Simtec BAST or the Thorcom VR1000 832 - 833 826 config IDE_H8300 834 827 tristate "H8300 IDE support" 835 828 depends on H8300
-1
drivers/ide/arm/Makefile
··· 1 1 2 2 obj-$(CONFIG_BLK_DEV_IDE_ICSIDE) += icside.o 3 3 obj-$(CONFIG_BLK_DEV_IDE_RAPIDE) += rapide.o 4 - obj-$(CONFIG_BLK_DEV_IDE_BAST) += bast-ide.o 5 4 obj-$(CONFIG_BLK_DEV_PALMCHIP_BK3710) += palm_bk3710.o 6 5 7 6 ifeq ($(CONFIG_IDE_ARM), m)
-90
drivers/ide/arm/bast-ide.c
··· 1 - /* 2 - * Copyright (c) 2003-2004 Simtec Electronics 3 - * Ben Dooks <ben@simtec.co.uk> 4 - * 5 - * This program is free software; you can redistribute it and/or modify 6 - * it under the terms of the GNU General Public License version 2 as 7 - * published by the Free Software Foundation. 8 - * 9 - */ 10 - 11 - #include <linux/module.h> 12 - #include <linux/errno.h> 13 - #include <linux/ide.h> 14 - #include <linux/init.h> 15 - 16 - #include <asm/mach-types.h> 17 - 18 - #include <asm/io.h> 19 - #include <asm/irq.h> 20 - #include <asm/arch/map.h> 21 - #include <asm/arch/bast-map.h> 22 - #include <asm/arch/bast-irq.h> 23 - 24 - #define DRV_NAME "bast-ide" 25 - 26 - static int __init bastide_register(unsigned int base, unsigned int aux, int irq) 27 - { 28 - ide_hwif_t *hwif; 29 - hw_regs_t hw; 30 - int i; 31 - u8 idx[4] = { 0xff, 0xff, 0xff, 0xff }; 32 - 33 - memset(&hw, 0, sizeof(hw)); 34 - 35 - base += BAST_IDE_CS; 36 - aux += BAST_IDE_CS; 37 - 38 - for (i = 0; i <= 7; i++) { 39 - hw.io_ports_array[i] = (unsigned long)base; 40 - base += 0x20; 41 - } 42 - 43 - hw.io_ports.ctl_addr = aux + (6 * 0x20); 44 - hw.irq = irq; 45 - hw.chipset = ide_generic; 46 - 47 - hwif = ide_find_port(); 48 - if (hwif == NULL) 49 - goto out; 50 - 51 - i = hwif->index; 52 - 53 - ide_init_port_data(hwif, i); 54 - ide_init_port_hw(hwif, &hw); 55 - hwif->port_ops = NULL; 56 - 57 - idx[0] = i; 58 - 59 - ide_device_add(idx, NULL); 60 - out: 61 - return 0; 62 - } 63 - 64 - static int __init bastide_init(void) 65 - { 66 - unsigned long base = BAST_VA_IDEPRI + BAST_IDE_CS; 67 - 68 - /* we can treat the VR1000 and the BAST the same */ 69 - 70 - if (!(machine_is_bast() || machine_is_vr1000())) 71 - return 0; 72 - 73 - printk("BAST: IDE driver, (c) 2003-2004 Simtec Electronics\n"); 74 - 75 - if (!request_mem_region(base, 0x400000, DRV_NAME)) { 76 - printk(KERN_ERR "%s: resources busy\n", DRV_NAME); 77 - return -EBUSY; 78 - } 79 - 80 - bastide_register(BAST_VA_IDEPRI, BAST_VA_IDEPRIAUX, IRQ_IDE0); 81 - bastide_register(BAST_VA_IDESEC, BAST_VA_IDESECAUX, IRQ_IDE1); 82 - 83 - return 0; 84 - } 85 - 86 - module_init(bastide_init); 87 - 88 - MODULE_AUTHOR("Ben Dooks <ben@simtec.co.uk>"); 89 - MODULE_LICENSE("GPL"); 90 - MODULE_DESCRIPTION("Simtec BAST / Thorcom VR1000 IDE driver");
+13 -9
drivers/ide/arm/palm_bk3710.c
··· 353 353 struct clk *clkp; 354 354 struct resource *mem, *irq; 355 355 ide_hwif_t *hwif; 356 - void __iomem *base; 357 - int pribase, i; 356 + unsigned long base; 357 + int i; 358 358 hw_regs_t hw; 359 359 u8 idx[4] = { 0xff, 0xff, 0xff, 0xff }; 360 360 ··· 374 374 printk(KERN_ERR "failed to get memory region resource\n"); 375 375 return -ENODEV; 376 376 } 377 + 377 378 irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0); 378 379 if (irq == NULL) { 379 380 printk(KERN_ERR "failed to get IRQ resource\n"); 380 381 return -ENODEV; 381 382 } 382 383 383 - base = (void *)mem->start; 384 + if (request_mem_region(mem->start, mem->end - mem->start + 1, 385 + "palm_bk3710") == NULL) { 386 + printk(KERN_ERR "failed to request memory region\n"); 387 + return -EBUSY; 388 + } 389 + 390 + base = IO_ADDRESS(mem->start); 384 391 385 392 /* Configure the Palm Chip controller */ 386 - palm_bk3710_chipinit(base); 393 + palm_bk3710_chipinit((void __iomem *)base); 387 394 388 - pribase = mem->start + IDE_PALM_ATA_PRI_REG_OFFSET; 389 395 for (i = 0; i < IDE_NR_PORTS - 2; i++) 390 - hw.io_ports_array[i] = pribase + i; 391 - hw.io_ports.ctl_addr = mem->start + 392 - IDE_PALM_ATA_PRI_CTL_OFFSET; 396 + hw.io_ports_array[i] = base + IDE_PALM_ATA_PRI_REG_OFFSET + i; 397 + hw.io_ports.ctl_addr = base + IDE_PALM_ATA_PRI_CTL_OFFSET; 393 398 hw.irq = irq->start; 394 399 hw.chipset = ide_palm3710; 395 400 ··· 439 434 440 435 module_init(palm_bk3710_init); 441 436 MODULE_LICENSE("GPL"); 442 -
+3 -3
drivers/ide/ide-taskfile.c
··· 225 225 u8 stat; 226 226 227 227 /* 228 - * Last sector was transfered, wait until drive is ready. 229 - * This can take up to 10 usec, but we will wait max 1 ms. 228 + * Last sector was transfered, wait until device is ready. This can 229 + * take up to 6 ms on some ATAPI devices, so we will wait max 10 ms. 230 230 */ 231 - for (retries = 0; retries < 100; retries++) { 231 + for (retries = 0; retries < 1000; retries++) { 232 232 stat = ide_read_status(drive); 233 233 234 234 if (stat & BUSY_STAT)
+3
drivers/ide/legacy/ide-cs.c
··· 410 410 PCMCIA_DEVICE_MANF_CARD(0x001c, 0x0001), /* Mitsubishi CFA */ 411 411 PCMCIA_DEVICE_MANF_CARD(0x0032, 0x0704), 412 412 PCMCIA_DEVICE_MANF_CARD(0x0045, 0x0401), /* SanDisk CFA */ 413 + PCMCIA_DEVICE_MANF_CARD(0x004f, 0x0000), /* Kingston */ 413 414 PCMCIA_DEVICE_MANF_CARD(0x0098, 0x0000), /* Toshiba */ 414 415 PCMCIA_DEVICE_MANF_CARD(0x00a4, 0x002d), 415 416 PCMCIA_DEVICE_MANF_CARD(0x00ce, 0x0000), /* Samsung */ ··· 440 439 PCMCIA_DEVICE_PROD_ID12("IO DATA", "PCIDE", 0x547e66dc, 0x5c5ab149), 441 440 PCMCIA_DEVICE_PROD_ID12("IO DATA", "PCIDEII", 0x547e66dc, 0xb3662674), 442 441 PCMCIA_DEVICE_PROD_ID12("LOOKMEET", "CBIDE2 ", 0xe37be2b5, 0x8671043b), 442 + PCMCIA_DEVICE_PROD_ID12("M-Systems", "CF300", 0x7ed2ad87, 0x7e9e78ee), 443 443 PCMCIA_DEVICE_PROD_ID12("M-Systems", "CF500", 0x7ed2ad87, 0x7a13045c), 444 444 PCMCIA_DEVICE_PROD_ID2("NinjaATA-", 0xebe0bd79), 445 445 PCMCIA_DEVICE_PROD_ID12("PCMCIA", "CD-ROM", 0x281f1c5d, 0x66536591), ··· 451 449 PCMCIA_DEVICE_PROD_ID12("SMI VENDOR", "SMI PRODUCT", 0x30896c92, 0x703cc5f6), 452 450 PCMCIA_DEVICE_PROD_ID12("TOSHIBA", "MK2001MPL", 0xb4585a1a, 0x3489e003), 453 451 PCMCIA_DEVICE_PROD_ID1("TRANSCEND 512M ", 0xd0909443), 452 + PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS1GCF45", 0x709b1bf1, 0xf68b6f32), 454 453 PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS1GCF80", 0x709b1bf1, 0x2a54d4b1), 455 454 PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS2GCF120", 0x709b1bf1, 0x969aa4f2), 456 455 PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS4GCF120", 0x709b1bf1, 0xf54a91c8),