#define for_each_irq_pin(entry, head) \
        for (entry = head; entry; entry = entry->next)
  
- static void           __init __ioapic_init_mappings(void);
- 
- static unsigned int   __io_apic_read  (unsigned int apic, unsigned int reg);
- static void           __io_apic_write (unsigned int apic, unsigned int reg, unsigned int val);
- static void           __io_apic_modify(unsigned int apic, unsigned int reg, unsigned int val);
- 
- static struct io_apic_ops io_apic_ops = {
-       .init   = __ioapic_init_mappings,
-       .read   = __io_apic_read,
-       .write  = __io_apic_write,
-       .modify = __io_apic_modify,
- };
- 
- void __init set_io_apic_ops(const struct io_apic_ops *ops)
- {
-       io_apic_ops = *ops;
- }
- 
 +#ifdef CONFIG_IRQ_REMAP
 +static void irq_remap_modify_chip_defaults(struct irq_chip *chip);
 +static inline bool irq_remapped(struct irq_cfg *cfg)
 +{
 +      return cfg->irq_2_iommu.iommu != NULL;
 +}
 +#else
 +static inline bool irq_remapped(struct irq_cfg *cfg)
 +{
 +      return false;
 +}
 +static inline void irq_remap_modify_chip_defaults(struct irq_chip *chip)
 +{
 +}
 +#endif
 +
  /*
   *      Is the SiS APIC rmw bug present ?
   *      -1 = don't know, 0 = no, 1 = yes