IDE fixes
PATCH 1/1 IDE fixes
Hi,
some final "polishing" for 2.6.26:
- wait_drive_not_busy() timeout increase needed for some ATAPI devices, (issue debugged by Masanari Iida)
- resource management fix for palm_bk3710 (from Sergei Shtylyov)
- new IDs for ide-cs/pata_pcmcia (from various developers, details below)
- removal of old BAST IDE driver (from Ben Dooks)
[ not strictly -rc stuff but as we are now using the platform-pata
support lets not confuse people with having this driver around ]
Linus, please pull from:
master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6.git/
to receive the following updates:
drivers/ata/pata_pcmcia.c | 2 + drivers/ide/Kconfig | 7 --- drivers/ide/arm/Makefile | 1 - drivers/ide/arm/bast-ide.c | 90 ----------------------------------------- drivers/ide/arm/palm_bk3710.c | 22 ++++++---- drivers/ide/ide-taskfile.c | 6 +- drivers/ide/legacy/ide-cs.c | 3 + 7 files changed, 21 insertions(+), 110 deletions(-) delete mode 100644 drivers/ide/arm/bast-ide.c
Bartlomiej Zolnierkiewicz (1):
ide: increase timeout in wait_drive_not_busy()
Ben Dooks (1):
BAST: Remove old IDE driver
Christophe Niclaes (1):
pcmcia ide kingston compactflash's have a new manufacturer id
Kristoffer Ericson (1):
pcmcia: add another pata/ide ID
Matt Reimer (1):
pcmcia: add an pata/ide ID
Sergei Shtylyov (1):
palm_bk3710: fix resource management
drivers/ata/pata_pcmcia.c +2 -0
@@ -414,6 +414,7 @@ static struct pcmcia_device_id pcmcia_devices[] = {PCMCIA_DEVICE_PROD_ID12 ("IO DATA" ,"PCIDE" ,0x547e66dc ,0x5c5ab149 ),PCMCIA_DEVICE_PROD_ID12 ("IO DATA" ,"PCIDEII" ,0x547e66dc ,0xb3662674 ),PCMCIA_DEVICE_PROD_ID12 ("LOOKMEET" ,"CBIDE2 " ,0xe37be2b5 ,0x8671043b ), +PCMCIA_DEVICE_PROD_ID12 ("M-Systems" ,"CF300" ,0x7ed2ad87 ,0x7e9e78ee ),PCMCIA_DEVICE_PROD_ID12 ("M-Systems" ,"CF500" ,0x7ed2ad87 ,0x7a13045c ),PCMCIA_DEVICE_PROD_ID2 ("NinjaATA-" ,0xebe0bd79 ), PCMCIA_DEVICE_PROD_ID12("PCMCIA", "CD-ROM", 0x281f1c5d, 0x66536591),
@@ -424,6 +425,7 @@ static struct pcmcia_device_id pcmcia_devices[] = {PCMCIA_DEVICE_PROD_ID12 ("SMI VENDOR" ,"SMI PRODUCT" ,0x30896c92 ,0x703cc5f6 ),PCMCIA_DEVICE_PROD_ID12 ("TOSHIBA" ,"MK2001MPL" ,0xb4585a1a ,0x3489e003 ),PCMCIA_DEVICE_PROD_ID1 ("TRANSCEND 512M " ,0xd0909443 ), +PCMCIA_DEVICE_PROD_ID12 ("TRANSCEND" ,"TS1GCF45" ,0x709b1bf1 ,0xf68b6f32 ),PCMCIA_DEVICE_PROD_ID12 ("TRANSCEND" ,"TS1GCF80" ,0x709b1bf1 ,0x2a54d4b1 ),PCMCIA_DEVICE_PROD_ID12 ("TRANSCEND" ,"TS2GCF120" ,0x709b1bf1 ,0x969aa4f2 ), PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS4GCF120", 0x709b1bf1, 0xf54a91c8),
drivers/ide/Kconfig +0 -7
@@ -823,13 +823,6 @@ config BLK_DEV_IDE_RAPIDE Say Y here if you want to support the Yellowstone RapIDE controller manufactured for use with Acorn computers. -config BLK_DEV_IDE_BAST - tristate "Simtec BAST / Thorcom VR1000 IDE support" - depends on ARM && (ARCH_BAST || MACH_VR1000) - help - Say Y here if you want to support the onboard IDE channels on the - Simtec BAST or the Thorcom VR1000 - config IDE_H8300 tristate "H8300 IDE support" depends on H8300
drivers/ide/arm/Makefile +0 -1
@@ -1,7 +1,6 @@ obj-$(CONFIG_BLK_DEV_IDE_ICSIDE) += icside.o obj-$(CONFIG_BLK_DEV_IDE_RAPIDE) += rapide.o -obj-$(CONFIG_BLK_DEV_IDE_BAST) += bast-ide.o obj-$(CONFIG_BLK_DEV_PALMCHIP_BK3710) += palm_bk3710.o ifeq ($(CONFIG_IDE_ARM), m)
drivers/ide/arm/bast-ide.c deleted +0 -90
90 lines not on this page · raw message
drivers/ide/arm/palm_bk3710.c +13 -9
@@ -353,8 +353,8 @@ static int __devinit palm_bk3710_probe(struct platform_device *pdev)struct clk *clkp;struct resource *mem, *irq;ide_hwif_t *hwif; -void __iomem *base; -int pribase, i; +unsigned long base; +int i;hw_regs_t hw;u8 idx[4 ] = {0xff ,0xff ,0xff ,0xff };
@@ -374,22 +374,27 @@ static int __devinit palm_bk3710_probe(struct platform_device *pdev)printk (KERN_ERR "failed to get memory region resource\n" );return -ENODEV ; } + irq =platform_get_resource (pdev,IORESOURCE_IRQ ,0 );if (irq ==NULL ) {printk (KERN_ERR "failed to get IRQ resource\n" );return -ENODEV ; } - base = (void *)mem->start; +if (request_mem_region (mem->start, mem->end - mem->start +1 , +"palm_bk3710" ) ==NULL ) { +printk (KERN_ERR "failed to request memory region\n" ); +return -EBUSY ; + } + + base =IO_ADDRESS (mem->start);/* Configure the Palm Chip controller */ -palm_bk3710_chipinit (base); +palm_bk3710_chipinit ((void __iomem *)base); - pribase = mem->start +IDE_PALM_ATA_PRI_REG_OFFSET ;for (i =0 ; i <IDE_NR_PORTS -2 ; i++) - hw.io_ports_array[i] = pribase + i; - hw.io_ports.ctl_addr = mem->start + -IDE_PALM_ATA_PRI_CTL_OFFSET ; + hw.io_ports_array[i] = base +IDE_PALM_ATA_PRI_REG_OFFSET + i; + hw.io_ports.ctl_addr = base +IDE_PALM_ATA_PRI_CTL_OFFSET ; hw.irq = irq->start; hw.chipset = ide_palm3710;
@@ -434,4 +439,3 @@ static int __init palm_bk3710_init(void)module_init (palm_bk3710_init);MODULE_LICENSE ("GPL" ); -
drivers/ide/ide-taskfile.c +3 -3
@@ -225,10 +225,10 @@ static u8 wait_drive_not_busy(ide_drive_t *drive)u8 stat;/* -* Last sector was transfered, wait until drive is ready. -* This can take up to 10 usec, but we will wait max 1 ms. +* Last sector was transfered, wait until device is ready. This can +* take up to 6 ms on some ATAPI devices, so we will wait max 10 ms. */ -for (retries =0 ; retries <100 ; retries++) { +for (retries =0 ; retries <1000 ; retries++) { stat =ide_read_status (drive);if (stat &BUSY_STAT )
drivers/ide/legacy/ide-cs.c +3 -0
@@ -410,6 +410,7 @@ static struct pcmcia_device_id ide_ids[] = {PCMCIA_DEVICE_MANF_CARD (0x001c ,0x0001 ),/* Mitsubishi CFA */ PCMCIA_DEVICE_MANF_CARD (0x0032 ,0x0704 ),PCMCIA_DEVICE_MANF_CARD (0x0045 ,0x0401 ),/* SanDisk CFA */ +PCMCIA_DEVICE_MANF_CARD (0x004f ,0x0000 ),/* Kingston */ PCMCIA_DEVICE_MANF_CARD (0x0098 ,0x0000 ),/* Toshiba */ PCMCIA_DEVICE_MANF_CARD (0x00a4 ,0x002d ), PCMCIA_DEVICE_MANF_CARD(0x00ce, 0x0000), /* Samsung */
@@ -439,6 +440,7 @@ static struct pcmcia_device_id ide_ids[] = {PCMCIA_DEVICE_PROD_ID12 ("IO DATA" ,"PCIDE" ,0x547e66dc ,0x5c5ab149 ),PCMCIA_DEVICE_PROD_ID12 ("IO DATA" ,"PCIDEII" ,0x547e66dc ,0xb3662674 ),PCMCIA_DEVICE_PROD_ID12 ("LOOKMEET" ,"CBIDE2 " ,0xe37be2b5 ,0x8671043b ), +PCMCIA_DEVICE_PROD_ID12 ("M-Systems" ,"CF300" ,0x7ed2ad87 ,0x7e9e78ee ),PCMCIA_DEVICE_PROD_ID12 ("M-Systems" ,"CF500" ,0x7ed2ad87 ,0x7a13045c ),PCMCIA_DEVICE_PROD_ID2 ("NinjaATA-" ,0xebe0bd79 ), PCMCIA_DEVICE_PROD_ID12("PCMCIA", "CD-ROM", 0x281f1c5d, 0x66536591),
@@ -449,6 +451,7 @@ static struct pcmcia_device_id ide_ids[] = {PCMCIA_DEVICE_PROD_ID12 ("SMI VENDOR" ,"SMI PRODUCT" ,0x30896c92 ,0x703cc5f6 ),PCMCIA_DEVICE_PROD_ID12 ("TOSHIBA" ,"MK2001MPL" ,0xb4585a1a ,0x3489e003 ),PCMCIA_DEVICE_PROD_ID1 ("TRANSCEND 512M " ,0xd0909443 ), +PCMCIA_DEVICE_PROD_ID12 ("TRANSCEND" ,"TS1GCF45" ,0x709b1bf1 ,0xf68b632 ),PCMCIA_DEVICE_PROD_ID12 ("TRANSCEND" ,"TS1GCF80" ,0x709b1bf1 ,0x2a54d4b1 ),PCMCIA_DEVICE_PROD_ID12 ("TRANSCEND" ,"TS2GCF120" ,0x709b1bf1 ,0x969aa4f2 ), PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS4GCF120", 0x709b1bf1, 0xf54a91c8),
drivers/ide/legacy/ide-cs.c static struct pcmcia_device_id ide_ids[] = { · line 454
Quoted 2 lines
drivers/ide/legacy/ide-cs.c +1
-0+ PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS1GCF45", 0x709b1bf1, 0xf68b632),
That one seems to be a digit short - is it 0x0f68b632 or a typo ?
Alan
Quoted 4 lines · Alan Cox
Quoted 2 lines
+
PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS1GCF45", 0x709b1bf1, 0xf68b632),That one seems to be a digit short - is it
0x0f68b632or a typo ?
Typo. Original patch seems to have 0xf68b6f32
http://lists.infradead.org/pipermail/linux-pcmcia/2008-May/005496.html
grant
Quoted 8 lines
Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 9 lines · Grant Grundler
Quoted 4 lines · Alan Cox
Quoted 2 lines
+
PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS1GCF45", 0x709b1bf1, 0xf68b632),That one seems to be a digit short - is it
0x0f68b632or a typo ?Typo. Original patch seems to have
0xf68b6f32http://lists.infradead.org/pipermail/linux-pcmcia/2008-May/005496.html
Thanks guys! [ ide-cs's ID lacked 'f' while pata_pcmcia one had it ]
I fixed the corresponding commit and recreated the git tree for Linus.
Bart