Commit 18e181fe13b7340194d09e6dd7f571a5f96f0367

Authored by Bartlomiej Zolnierkiewicz
1 parent 86f3a492bb

ide: add hwif->ack_intr hook

* Add hwif->ack_intr hook and use it instead of hwif->hw.ack_intr.

* Add missing brackets to cris-v32 and powerpc ide_ack_intr() macros.

Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

Showing 6 changed files with 8 additions and 5 deletions Side-by-side Diff

... ... @@ -737,6 +737,7 @@
737 737 hwif->fixup = fixup;
738 738 hwif->chipset = hw->chipset;
739 739 hwif->gendev.parent = hw->dev;
  740 + hwif->ack_intr = hw->ack_intr;
740 741  
741 742 if (initializing == 0) {
742 743 u8 idx[4] = { index, 0xff, 0xff, 0xff };
drivers/ide/ppc/mpc8xx.c
... ... @@ -316,8 +316,8 @@
316 316  
317 317 ide_hwifs[data_port].pio_mask = ATA_PIO4;
318 318 ide_hwifs[data_port].set_pio_mode = m8xx_ide_set_pio_mode;
  319 + ide_hwifs[data_port].ack_intr = (ide_ack_intr_t *)ide_interrupt_ack;
319 320  
320   - hw->ack_intr = (ide_ack_intr_t *) ide_interrupt_ack;
321 321 /* Enable Harddisk Interrupt,
322 322 * and make it edge sensitive
323 323 */
324 324  
... ... @@ -402,8 +402,8 @@
402 402  
403 403 ide_hwifs[data_port].pio_mask = ATA_PIO4;
404 404 ide_hwifs[data_port].set_pio_mode = m8xx_ide_set_pio_mode;
  405 + ide_hwifs[data_port].ack_intr = (ide_ack_intr_t *)ide_interrupt_ack;
405 406  
406   - hw->ack_intr = (ide_ack_intr_t *) ide_interrupt_ack;
407 407 /* Enable Harddisk Interrupt,
408 408 * and make it edge sensitive
409 409 */
include/asm-cris/arch-v32/ide.h
... ... @@ -54,7 +54,7 @@
54 54 #define SUPPORT_VLB_SYNC 0
55 55  
56 56 #define IDE_ARCH_ACK_INTR
57   -#define ide_ack_intr(hwif) (hwif)->hw.ack_intr(hwif)
  57 +#define ide_ack_intr(hwif) ((hwif)->ack_intr(hwif))
58 58  
59 59 #endif /* __KERNEL__ */
60 60  
include/asm-m68k/ide.h
... ... @@ -137,7 +137,7 @@
137 137 #endif /* CONFIG_BLK_DEV_FALCON_IDE */
138 138  
139 139 #define IDE_ARCH_ACK_INTR
140   -#define ide_ack_intr(hwif) ((hwif)->hw.ack_intr ? (hwif)->hw.ack_intr(hwif) : 1)
  140 +#define ide_ack_intr(hwif) ((hwif)->ack_intr ? (hwif)->ack_intr(hwif) : 1)
141 141  
142 142 #endif /* __KERNEL__ */
143 143 #endif /* _M68K_IDE_H */
include/asm-powerpc/ide.h
... ... @@ -69,7 +69,7 @@
69 69  
70 70 #ifdef CONFIG_BLK_DEV_MPC8xx_IDE
71 71 #define IDE_ARCH_ACK_INTR 1
72   -#define ide_ack_intr(hwif) (hwif->hw.ack_intr ? hwif->hw.ack_intr(hwif) : 1)
  72 +#define ide_ack_intr(hwif) ((hwif)->ack_intr ? (hwif)->ack_intr(hwif) : 1)
73 73 #endif
74 74  
75 75 #endif /* __powerpc64__ */
... ... @@ -683,6 +683,8 @@
683 683 struct pci_dev *pci_dev; /* for pci chipsets */
684 684 struct ide_pci_device_s *cds; /* chipset device struct */
685 685  
  686 + ide_ack_intr_t *ack_intr;
  687 +
686 688 void (*rw_disk)(ide_drive_t *, struct request *);
687 689  
688 690 #if 0