forked from Minki/linux
abb17f9c3a
Configuring a powerpc 32 bit kernel for both SMP and SUSPEND turns on CPU_HOTPLUG to enable disable_nonboot_cpus to be called by the common suspend code. Previously the definition of cpu_die for ppc32 was in the powermac platform code, causing it to be undefined if that platform as not selected. arch/powerpc/kernel/built-in.o: In function 'cpu_idle': arch/powerpc/kernel/idle.c:98: undefined reference to 'cpu_die' Move the code from setup_64 to smp.c and rename the power mac versions to their specific names. Note that this does not setup the cpu_die pointers in either smp_ops (request a given cpu die) or ppc_md (make this cpu die), for other platforms but there are generic versions in smp.c. Reported-by: Matt Sealey <matt@genesi-usa.com> Reported-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Vorontsov <avorontsov@mvista.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
43 lines
1.2 KiB
C
43 lines
1.2 KiB
C
#ifndef __PMAC_H__
|
|
#define __PMAC_H__
|
|
|
|
#include <linux/pci.h>
|
|
#include <linux/irq.h>
|
|
|
|
/*
|
|
* Declaration for the various functions exported by the
|
|
* pmac_* files. Mostly for use by pmac_setup
|
|
*/
|
|
|
|
struct rtc_time;
|
|
|
|
extern int pmac_newworld;
|
|
|
|
extern long pmac_time_init(void);
|
|
extern unsigned long pmac_get_boot_time(void);
|
|
extern void pmac_get_rtc_time(struct rtc_time *);
|
|
extern int pmac_set_rtc_time(struct rtc_time *);
|
|
extern void pmac_read_rtc_time(void);
|
|
extern void pmac_calibrate_decr(void);
|
|
extern void pmac_pci_irq_fixup(struct pci_dev *);
|
|
extern void pmac_pci_init(void);
|
|
|
|
extern void pmac_nvram_update(void);
|
|
extern unsigned char pmac_nvram_read_byte(int addr);
|
|
extern void pmac_nvram_write_byte(int addr, unsigned char val);
|
|
extern int pmac_pci_enable_device_hook(struct pci_dev *dev);
|
|
extern void pmac_pcibios_after_init(void);
|
|
extern int of_show_percpuinfo(struct seq_file *m, int i);
|
|
|
|
extern void pmac_setup_pci_dma(void);
|
|
extern void pmac_check_ht_link(void);
|
|
|
|
extern void pmac_setup_smp(void);
|
|
extern void pmac32_cpu_die(void);
|
|
extern void low_cpu_die(void) __attribute__((noreturn));
|
|
|
|
extern int pmac_nvram_init(void);
|
|
extern void pmac_pic_init(void);
|
|
|
|
#endif /* __PMAC_H__ */
|