ide: always set nIEN on idle devices
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Mon, 29 Dec 2008 19:27:33 +0000 (20:27 +0100)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Mon, 29 Dec 2008 19:27:33 +0000 (20:27 +0100)
* Set nIEN for previous port/device in ide_do_request()
  also if port uses a non-shared IRQ.

* Remove no longer needed ide_hwif_t.sharing_irq.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/ide-io.c
drivers/ide/ide-probe.c
include/linux/ide.h

index ca51460af756e07964d350ff1cef680216aa41e1..f776bd475010e686819b79f42463d0c760de04f5 100644 (file)
@@ -1003,7 +1003,7 @@ static void ide_do_request (ide_hwgroup_t *hwgroup, int masked_irq)
                }
        again:
                hwif = HWIF(drive);
-               if (hwgroup->hwif->sharing_irq && hwif != hwgroup->hwif) {
+               if (hwif != hwgroup->hwif) {
                        /*
                         * set nIEN for previous hwif, drives in the
                         * quirk_list may not like intr setups/cleanups
index a0eb72e2a026486a9017a4081877d46c8e10fdeb..81f61e8ea97f4a72a60739687d88d2e1566b80f1 100644 (file)
@@ -1060,7 +1060,6 @@ static int init_irq (ide_hwif_t *hwif)
 
                if (h && h->hwgroup) {  /* scan only initialized ports */
                        if (hwif->irq == h->irq) {
-                               hwif->sharing_irq = h->sharing_irq = 1;
                                if (hwif->chipset != ide_pci ||
                                    h->chipset != ide_pci) {
                                        save_match(hwif, h, &match);
@@ -1152,8 +1151,7 @@ static int init_irq (ide_hwif_t *hwif)
                io_ports->data_addr, hwif->irq);
 #endif /* __mc68000__ */
        if (match)
-               printk(KERN_CONT " (%sed with %s)",
-                       hwif->sharing_irq ? "shar" : "serializ", match->name);
+               printk(KERN_CONT " (serialized with %s)", match->name);
        printk(KERN_CONT "\n");
 
        mutex_unlock(&ide_cfg_mtx);
index 150e42311ee0c08b7abb1ef2cf0c3f201b39f5e7..1d28006aec6827caee5da8a06bcf62bcbd8399b2 100644 (file)
@@ -842,7 +842,6 @@ typedef struct hwif_s {
 
        unsigned        present    : 1; /* this interface exists */
        unsigned        serialized : 1; /* serialized all channel operation */
-       unsigned        sharing_irq: 1; /* 1 = sharing irq with another hwif */
        unsigned        sg_mapped  : 1; /* sg_table and sg_nents are ready */
 
        struct device           gendev;