Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 1 | #ifndef __PMAC_H__ |
| 2 | #define __PMAC_H__ |
| 3 | |
| 4 | #include <linux/pci.h> |
| 5 | #include <linux/ide.h> |
Paul Mackerras | 3c3f42d | 2005-10-10 22:58:41 +1000 | [diff] [blame] | 6 | #include <linux/irq.h> |
Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 7 | |
| 8 | /* |
| 9 | * Declaration for the various functions exported by the |
| 10 | * pmac_* files. Mostly for use by pmac_setup |
| 11 | */ |
| 12 | |
Paul Mackerras | 143a1de | 2005-10-19 23:11:21 +1000 | [diff] [blame] | 13 | struct rtc_time; |
| 14 | |
Benjamin Herrenschmidt | 0ebfff1 | 2006-07-03 21:36:01 +1000 | [diff] [blame] | 15 | extern int pmac_newworld; |
| 16 | |
Paul Mackerras | 3c3f42d | 2005-10-10 22:58:41 +1000 | [diff] [blame] | 17 | extern long pmac_time_init(void); |
Paul Mackerras | 143a1de | 2005-10-19 23:11:21 +1000 | [diff] [blame] | 18 | extern unsigned long pmac_get_boot_time(void); |
| 19 | extern void pmac_get_rtc_time(struct rtc_time *); |
| 20 | extern int pmac_set_rtc_time(struct rtc_time *); |
Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 21 | extern void pmac_read_rtc_time(void); |
| 22 | extern void pmac_calibrate_decr(void); |
Benjamin Herrenschmidt | f90bb15 | 2006-11-11 17:24:51 +1100 | [diff] [blame] | 23 | extern void pmac_pci_irq_fixup(struct pci_dev *); |
Paul Mackerras | 35499c0 | 2005-10-22 16:02:39 +1000 | [diff] [blame] | 24 | extern void pmac_pci_init(void); |
Paul Mackerras | 3c3f42d | 2005-10-10 22:58:41 +1000 | [diff] [blame] | 25 | extern unsigned long pmac_ide_get_base(int index); |
| 26 | extern void pmac_ide_init_hwif_ports(hw_regs_t *hw, |
| 27 | unsigned long data_port, unsigned long ctrl_port, int *irq); |
| 28 | |
| 29 | extern void pmac_nvram_update(void); |
| 30 | extern unsigned char pmac_nvram_read_byte(int addr); |
| 31 | extern void pmac_nvram_write_byte(int addr, unsigned char val); |
| 32 | extern int pmac_pci_enable_device_hook(struct pci_dev *dev, int initial); |
| 33 | extern void pmac_pcibios_after_init(void); |
| 34 | extern int of_show_percpuinfo(struct seq_file *m, int i); |
| 35 | |
Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 36 | extern void pmac_pci_init(void); |
| 37 | extern void pmac_setup_pci_dma(void); |
| 38 | extern void pmac_check_ht_link(void); |
| 39 | |
| 40 | extern void pmac_setup_smp(void); |
| 41 | |
| 42 | extern unsigned long pmac_ide_get_base(int index); |
| 43 | extern void pmac_ide_init_hwif_ports(hw_regs_t *hw, |
| 44 | unsigned long data_port, unsigned long ctrl_port, int *irq); |
| 45 | |
Paul Mackerras | 35499c0 | 2005-10-22 16:02:39 +1000 | [diff] [blame] | 46 | extern int pmac_nvram_init(void); |
Benjamin Herrenschmidt | cc5d018 | 2005-12-13 18:01:21 +1100 | [diff] [blame] | 47 | extern void pmac_pic_init(void); |
Paul Mackerras | 3c3f42d | 2005-10-10 22:58:41 +1000 | [diff] [blame] | 48 | |
Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 49 | #endif /* __PMAC_H__ */ |