int __init pmac_pfunc_base_install(void) { static int pfbase_inited; int i; if (pfbase_inited) return 0; pfbase_inited = 1; if (!machine_is(powermac)) return 0; DBG("Installing base platform functions...\n"); /* */ for (i = 0 ; i < MAX_MACIO_CHIPS; i++) { if (macio_chips[i].of_node) { macio_mmio_init_one(&macio_chips[i]); macio_gpio_init_one(&macio_chips[i]); } } /* */ if (uninorth_node && uninorth_base) uninorth_install_pfunc(); DBG("All base functions installed\n"); return 0; }
/* We export this as the SMP code might init us early */ int __init pmac_pfunc_base_install(void) { static int pfbase_inited; int i; if (pfbase_inited) return 0; pfbase_inited = 1; if (!machine_is(powermac)) return 0; DBG("Installing base platform functions...\n"); /* * Locate mac-io chips and install handlers */ for (i = 0 ; i < MAX_MACIO_CHIPS; i++) { if (macio_chips[i].of_node) { macio_mmio_init_one(&macio_chips[i]); macio_gpio_init_one(&macio_chips[i]); } } /* * Install handlers for northbridge and direct mapped hwclock * if any. We do not implement the config space access callback * which is only ever used for functions that we do not call in * the current driver (enabling/disabling cells in U2, mostly used * to restore the PCI settings, we do that differently) */ if (uninorth_node && uninorth_base) uninorth_install_pfunc(); DBG("All base functions installed\n"); return 0; }