struct irq_desc;
 
+extern void via_l2_flush(int writeback);
 extern void via_register_interrupts(void);
 extern void via_irq_enable(int);
 extern void via_irq_disable(int);
 
 extern void iop_init(void);
 extern void via_init(void);
 extern void via_init_clock(irq_handler_t func);
-extern void via_flush_cache(void);
 extern void oss_init(void);
 extern void psc_init(void);
 extern void baboon_init(void);
        return unknown;
 }
 
-/*
- * Flip into 24bit mode for an instant - flushes the L2 cache card. We
- * have to disable interrupts for this. Our IRQ handlers will crap
- * themselves if they take an IRQ in 24bit mode!
- */
-
-static void mac_cache_card_flush(int writeback)
-{
-       unsigned long flags;
-
-       local_irq_save(flags);
-       via_flush_cache();
-       local_irq_restore(flags);
-}
-
 void __init config_mac(void)
 {
        if (!MACH_IS_MAC)
         * not.
         */
 
-       if (macintosh_config->ident == MAC_MODEL_IICI
-           || macintosh_config->ident == MAC_MODEL_IIFX)
-               mach_l2_flush = mac_cache_card_flush;
+       if (macintosh_config->ident == MAC_MODEL_IICI)
+               mach_l2_flush = via_l2_flush;
 }
 
 
 
  * the system into 24-bit mode for an instant.
  */
 
-void via_flush_cache(void)
+void via_l2_flush(int writeback)
 {
+       unsigned long flags;
+
+       local_irq_save(flags);
        via2[gBufB] &= ~VIA2B_vMode32;
        via2[gBufB] |= VIA2B_vMode32;
+       local_irq_restore(flags);
 }
 
 /*