Skip to content

Commit 1486771

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide
Pull IDE fixes from David Miller: - fix interrupt registry for some Atari IDE chipsets. - adjust Kconfig dependencies for x86_32 specific chips. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide: ide: Fix SC1200 dependencies ide: Fix CS5520 and CS5530 dependencies m68k/atari - ide: do not register interrupt if host->get_lock is set
2 parents 8dcc3be + 5b40dd3 commit 1486771

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

drivers/ide/Kconfig

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,7 @@ config BLK_DEV_CY82C693
416416

417417
config BLK_DEV_CS5520
418418
tristate "Cyrix CS5510/20 MediaGX chipset support (VERY EXPERIMENTAL)"
419+
depends on X86_32 || COMPILE_TEST
419420
select BLK_DEV_IDEDMA_PCI
420421
help
421422
Include support for PIO tuning and virtual DMA on the Cyrix MediaGX
@@ -426,6 +427,7 @@ config BLK_DEV_CS5520
426427

427428
config BLK_DEV_CS5530
428429
tristate "Cyrix/National Semiconductor CS5530 MediaGX chipset support"
430+
depends on X86_32 || COMPILE_TEST
429431
select BLK_DEV_IDEDMA_PCI
430432
help
431433
Include support for UDMA on the Cyrix MediaGX 5530 chipset. This
@@ -435,7 +437,7 @@ config BLK_DEV_CS5530
435437

436438
config BLK_DEV_CS5535
437439
tristate "AMD CS5535 chipset support"
438-
depends on X86 && !X86_64
440+
depends on X86_32
439441
select BLK_DEV_IDEDMA_PCI
440442
help
441443
Include support for UDMA on the NSC/AMD CS5535 companion chipset.
@@ -486,6 +488,7 @@ config BLK_DEV_JMICRON
486488

487489
config BLK_DEV_SC1200
488490
tristate "National SCx200 chipset support"
491+
depends on X86_32 || COMPILE_TEST
489492
select BLK_DEV_IDEDMA_PCI
490493
help
491494
This driver adds support for the on-board IDE controller on the

drivers/ide/ide-probe.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -853,8 +853,9 @@ static int init_irq (ide_hwif_t *hwif)
853853
if (irq_handler == NULL)
854854
irq_handler = ide_intr;
855855

856-
if (request_irq(hwif->irq, irq_handler, sa, hwif->name, hwif))
857-
goto out_up;
856+
if (!host->get_lock)
857+
if (request_irq(hwif->irq, irq_handler, sa, hwif->name, hwif))
858+
goto out_up;
858859

859860
#if !defined(__mc68000__)
860861
printk(KERN_INFO "%s at 0x%03lx-0x%03lx,0x%03lx on irq %d", hwif->name,
@@ -1533,7 +1534,8 @@ static void ide_unregister(ide_hwif_t *hwif)
15331534

15341535
ide_proc_unregister_port(hwif);
15351536

1536-
free_irq(hwif->irq, hwif);
1537+
if (!hwif->host->get_lock)
1538+
free_irq(hwif->irq, hwif);
15371539

15381540
device_unregister(hwif->portdev);
15391541
device_unregister(&hwif->gendev);

0 commit comments

Comments
 (0)