Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7299a3918442dc9a5abb71b9f65b1dd17637c8c0
Commit:     7299a3918442dc9a5abb71b9f65b1dd17637c8c0
Parent:     f919790f8c929ab1b392ad1a0c2e1b53337b5071
Author:     Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
AuthorDate: Fri Jan 25 22:17:14 2008 +0100
Committer:  Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
CommitDate: Fri Jan 25 22:17:14 2008 +0100

    ide: remove hwif->intrproc
    
    Given that:
    
    * hpt366.c::hpt3xx_intrproc() is the only user of hwif->intrproc
    
    * hpt366.c::hpt3xx_quirkproc() sets drive->quirk_list to 1 for quirky drives
      which is a value unique to hpt366 host driver
    
    we can remove hwif->intproc and just check for drive->quirk_list == 1
    in ide_do_request().
    
    Acked-by: Sergei Shtylyov <[EMAIL PROTECTED]>
    Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
---
 drivers/ide/ide-io.c      |    9 +++++----
 drivers/ide/ide.c         |    1 -
 drivers/ide/pci/hpt366.c  |   10 ----------
 drivers/ide/pci/sgiioc4.c |    1 -
 include/linux/ide.h       |    2 --
 5 files changed, 5 insertions(+), 18 deletions(-)

diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c
index 6b70ab9..6ee7458 100644
--- a/drivers/ide/ide-io.c
+++ b/drivers/ide/ide-io.c
@@ -1200,10 +1200,11 @@ static void ide_do_request (ide_hwgroup_t *hwgroup, int 
masked_irq)
                if (hwgroup->hwif->sharing_irq &&
                    hwif != hwgroup->hwif &&
                    hwif->io_ports[IDE_CONTROL_OFFSET]) {
-                       /* set nIEN for previous hwif */
-                       if (hwif->intrproc)
-                               hwif->intrproc(drive);
-                       else
+                       /*
+                        * set nIEN for previous hwif, drives in the
+                        * quirk_list may not like intr setups/cleanups
+                        */
+                       if (drive->quirk_list != 1)
                                hwif->OUTB(drive->ctl | 2, IDE_CONTROL_REG);
                }
                hwgroup->hwif = hwif;
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index 9ab5458..4acd87e 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -424,7 +424,6 @@ static void ide_hwif_restore(ide_hwif_t *hwif, ide_hwif_t 
*tmp_hwif)
        hwif->reset_poll                = tmp_hwif->reset_poll;
        hwif->pre_reset                 = tmp_hwif->pre_reset;
        hwif->resetproc                 = tmp_hwif->resetproc;
-       hwif->intrproc                  = tmp_hwif->intrproc;
        hwif->maskproc                  = tmp_hwif->maskproc;
        hwif->quirkproc                 = tmp_hwif->quirkproc;
        hwif->busproc                   = tmp_hwif->busproc;
diff --git a/drivers/ide/pci/hpt366.c b/drivers/ide/pci/hpt366.c
index d3826a6..24d6457 100644
--- a/drivers/ide/pci/hpt366.c
+++ b/drivers/ide/pci/hpt366.c
@@ -736,15 +736,6 @@ static int hpt3xx_quirkproc(ide_drive_t *drive)
        return 0;
 }
 
-static void hpt3xx_intrproc(ide_drive_t *drive)
-{
-       if (drive->quirk_list)
-               return;
-
-       /* drives in the quirk_list may not like intr setups/cleanups */
-       outb(drive->ctl | 2, IDE_CONTROL_REG);
-}
-
 static void hpt3xx_maskproc(ide_drive_t *drive, int mask)
 {
        ide_hwif_t *hwif        = HWIF(drive);
@@ -1298,7 +1289,6 @@ static void __devinit init_hwif_hpt366(ide_hwif_t *hwif)
        hwif->set_dma_mode      = &hpt3xx_set_mode;
 
        hwif->quirkproc         = &hpt3xx_quirkproc;
-       hwif->intrproc          = &hpt3xx_intrproc;
        hwif->maskproc          = &hpt3xx_maskproc;
        hwif->busproc           = &hpt3xx_busproc;
 
diff --git a/drivers/ide/pci/sgiioc4.c b/drivers/ide/pci/sgiioc4.c
index de820aa..7e9dade 100644
--- a/drivers/ide/pci/sgiioc4.c
+++ b/drivers/ide/pci/sgiioc4.c
@@ -582,7 +582,6 @@ ide_init_sgiioc4(ide_hwif_t * hwif)
        hwif->pre_reset = NULL; /* No HBA specific pre_set needed */
        hwif->resetproc = &sgiioc4_resetproc;/* Reset DMA engine,
                                                clear interrupts */
-       hwif->intrproc = NULL;  /* Enable or Disable interrupt from drive */
        hwif->maskproc = &sgiioc4_maskproc;     /* Mask on/off NIEN register */
        hwif->quirkproc = NULL;
        hwif->busproc = NULL;
diff --git a/include/linux/ide.h b/include/linux/ide.h
index e803518..90f83b6 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -524,8 +524,6 @@ typedef struct hwif_s {
        void    (*pre_reset)(ide_drive_t *);
        /* routine to reset controller after a disk reset */
        void    (*resetproc)(ide_drive_t *);
-       /* special interrupt handling for shared pci interrupts */
-       void    (*intrproc)(ide_drive_t *);
        /* special host masking for drive selection */
        void    (*maskproc)(ide_drive_t *, int);
        /* check host's drive quirk list */
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to