Skip to content

Commit

Permalink
ide: add hwif->ack_intr hook
Browse files Browse the repository at this point in the history
* 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>
  • Loading branch information
Bartlomiej Zolnierkiewicz committed Oct 19, 2007
1 parent 86f3a49 commit 18e181f
Show file tree
Hide file tree
Showing 6 changed files with 8 additions and 5 deletions.
1 change: 1 addition & 0 deletions drivers/ide/ide.c
Original file line number Diff line number Diff line change
Expand Up @@ -737,6 +737,7 @@ int ide_register_hw(hw_regs_t *hw, void (*fixup)(ide_hwif_t *),
hwif->fixup = fixup;
hwif->chipset = hw->chipset;
hwif->gendev.parent = hw->dev;
hwif->ack_intr = hw->ack_intr;

if (initializing == 0) {
u8 idx[4] = { index, 0xff, 0xff, 0xff };
Expand Down
4 changes: 2 additions & 2 deletions drivers/ide/ppc/mpc8xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -316,8 +316,8 @@ m8xx_ide_init_hwif_ports(hw_regs_t *hw, unsigned long data_port,

ide_hwifs[data_port].pio_mask = ATA_PIO4;
ide_hwifs[data_port].set_pio_mode = m8xx_ide_set_pio_mode;
ide_hwifs[data_port].ack_intr = (ide_ack_intr_t *)ide_interrupt_ack;

hw->ack_intr = (ide_ack_intr_t *) ide_interrupt_ack;
/* Enable Harddisk Interrupt,
* and make it edge sensitive
*/
Expand Down Expand Up @@ -402,8 +402,8 @@ void m8xx_ide_init_hwif_ports (hw_regs_t *hw,

ide_hwifs[data_port].pio_mask = ATA_PIO4;
ide_hwifs[data_port].set_pio_mode = m8xx_ide_set_pio_mode;
ide_hwifs[data_port].ack_intr = (ide_ack_intr_t *)ide_interrupt_ack;

hw->ack_intr = (ide_ack_intr_t *) ide_interrupt_ack;
/* Enable Harddisk Interrupt,
* and make it edge sensitive
*/
Expand Down
2 changes: 1 addition & 1 deletion include/asm-cris/arch-v32/ide.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ static inline unsigned long ide_default_io_base(int index)
#define SUPPORT_VLB_SYNC 0

#define IDE_ARCH_ACK_INTR
#define ide_ack_intr(hwif) (hwif)->hw.ack_intr(hwif)
#define ide_ack_intr(hwif) ((hwif)->ack_intr(hwif))

#endif /* __KERNEL__ */

Expand Down
2 changes: 1 addition & 1 deletion include/asm-m68k/ide.h
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ ide_get_lock(irq_handler_t handler, void *data)
#endif /* CONFIG_BLK_DEV_FALCON_IDE */

#define IDE_ARCH_ACK_INTR
#define ide_ack_intr(hwif) ((hwif)->hw.ack_intr ? (hwif)->hw.ack_intr(hwif) : 1)
#define ide_ack_intr(hwif) ((hwif)->ack_intr ? (hwif)->ack_intr(hwif) : 1)

#endif /* __KERNEL__ */
#endif /* _M68K_IDE_H */
2 changes: 1 addition & 1 deletion include/asm-powerpc/ide.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ static __inline__ unsigned long ide_default_io_base(int index)

#ifdef CONFIG_BLK_DEV_MPC8xx_IDE
#define IDE_ARCH_ACK_INTR 1
#define ide_ack_intr(hwif) (hwif->hw.ack_intr ? hwif->hw.ack_intr(hwif) : 1)
#define ide_ack_intr(hwif) ((hwif)->ack_intr ? (hwif)->ack_intr(hwif) : 1)
#endif

#endif /* __powerpc64__ */
Expand Down
2 changes: 2 additions & 0 deletions include/linux/ide.h
Original file line number Diff line number Diff line change
Expand Up @@ -683,6 +683,8 @@ typedef struct hwif_s {
struct pci_dev *pci_dev; /* for pci chipsets */
struct ide_pci_device_s *cds; /* chipset device struct */

ide_ack_intr_t *ack_intr;

void (*rw_disk)(ide_drive_t *, struct request *);

#if 0
Expand Down

0 comments on commit 18e181f

Please sign in to comment.