X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-powerpc%2Fmachdep.h;h=5348b820788cbdaf5e9dbcbfe97064f12b67b4bd;hb=987b0145d94eecf292d8b301228356f44611ab7c;hp=0f9254c18914d6c6afad891d62dc87781cbe3f85;hpb=f7ed79d23a47594e7834d66a8f14449796d4f3e6;p=linux-2.6.git diff --git a/include/asm-powerpc/machdep.h b/include/asm-powerpc/machdep.h index 0f9254c18..5348b8207 100644 --- a/include/asm-powerpc/machdep.h +++ b/include/asm-powerpc/machdep.h @@ -47,7 +47,6 @@ struct smp_ops_t { #endif struct machdep_calls { - char *name; #ifdef CONFIG_PPC64 void (*hpte_invalidate)(unsigned long slot, unsigned long va, @@ -86,9 +85,9 @@ struct machdep_calls { void (*iommu_dev_setup)(struct pci_dev *dev); void (*iommu_bus_setup)(struct pci_bus *bus); void (*irq_bus_setup)(struct pci_bus *bus); -#endif /* CONFIG_PPC64 */ +#endif - int (*probe)(void); + int (*probe)(int platform); void (*setup_arch)(void); void (*init_early)(void); /* Optional, may be NULL. */ @@ -159,12 +158,6 @@ struct machdep_calls { /* Idle loop for this platform, leave empty for default idle loop */ void (*idle_loop)(void); - /* - * Function for waiting for work with reduced power in idle loop; - * called with interrupts disabled. - */ - void (*power_save)(void); - /* Function to enable performance monitor counters for this platform, called once per cpu. */ void (*enable_pmcs)(void); @@ -177,6 +170,13 @@ struct machdep_calls { May be NULL. */ void (*init)(void); + void (*idle)(void); + void (*power_save)(void); + + void (*heartbeat)(void); + unsigned long heartbeat_reset; + unsigned long heartbeat_count; + void (*setup_io_mappings)(void); void (*early_serial_map)(void); @@ -208,6 +208,8 @@ struct machdep_calls { /* Called at then very end of pcibios_init() */ void (*pcibios_after_init)(void); + /* this is for modules, since _machine can be a define -- Cort */ + int ppc_machine; #endif /* CONFIG_PPC32 */ /* Called to shutdown machine specific hardware not already controlled @@ -240,33 +242,10 @@ struct machdep_calls { #endif /* CONFIG_KEXEC */ }; -extern void power4_idle(void); -extern void ppc6xx_idle(void); +extern void default_idle(void); +extern void native_idle(void); -/* - * ppc_md contains a copy of the machine description structure for the - * current platform. machine_id contains the initial address where the - * description was found during boot. - */ extern struct machdep_calls ppc_md; -extern struct machdep_calls *machine_id; - -#define __machine_desc __attribute__ ((__section__ (".machine.desc"))) - -#define define_machine(name) \ - extern struct machdep_calls mach_##name; \ - EXPORT_SYMBOL(mach_##name); \ - struct machdep_calls mach_##name __machine_desc = - -#define machine_is(name) \ - ({ \ - extern struct machdep_calls mach_##name \ - __attribute__((weak)); \ - machine_id == &mach_##name; \ - }) - -extern void probe_machine(void); - extern char cmd_line[COMMAND_LINE_SIZE]; #ifdef CONFIG_PPC_PMAC