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 | |
Paul Mackerras | 3c3f42d | 2005-10-10 22:58:41 +1000 | [diff] [blame] | 15 | extern long pmac_time_init(void); |
Paul Mackerras | 143a1de | 2005-10-19 23:11:21 +1000 | [diff] [blame] | 16 | extern unsigned long pmac_get_boot_time(void); |
| 17 | extern void pmac_get_rtc_time(struct rtc_time *); |
| 18 | extern int pmac_set_rtc_time(struct rtc_time *); |
Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 19 | extern void pmac_read_rtc_time(void); |
| 20 | extern void pmac_calibrate_decr(void); |
Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 21 | extern void pmac_pcibios_fixup(void); |
Paul Mackerras | 35499c0 | 2005-10-22 16:02:39 +1000 | [diff] [blame] | 22 | extern void pmac_pci_init(void); |
Paul Mackerras | 3c3f42d | 2005-10-10 22:58:41 +1000 | [diff] [blame] | 23 | extern unsigned long pmac_ide_get_base(int index); |
| 24 | extern void pmac_ide_init_hwif_ports(hw_regs_t *hw, |
| 25 | unsigned long data_port, unsigned long ctrl_port, int *irq); |
| 26 | |
| 27 | extern void pmac_nvram_update(void); |
| 28 | extern unsigned char pmac_nvram_read_byte(int addr); |
| 29 | extern void pmac_nvram_write_byte(int addr, unsigned char val); |
| 30 | extern int pmac_pci_enable_device_hook(struct pci_dev *dev, int initial); |
| 31 | extern void pmac_pcibios_after_init(void); |
| 32 | extern int of_show_percpuinfo(struct seq_file *m, int i); |
| 33 | |
Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 34 | extern void pmac_pci_init(void); |
| 35 | extern void pmac_setup_pci_dma(void); |
| 36 | extern void pmac_check_ht_link(void); |
| 37 | |
| 38 | extern void pmac_setup_smp(void); |
| 39 | |
| 40 | extern unsigned long pmac_ide_get_base(int index); |
| 41 | extern void pmac_ide_init_hwif_ports(hw_regs_t *hw, |
| 42 | unsigned long data_port, unsigned long ctrl_port, int *irq); |
| 43 | |
Paul Mackerras | 35499c0 | 2005-10-22 16:02:39 +1000 | [diff] [blame] | 44 | extern int pmac_nvram_init(void); |
Benjamin Herrenschmidt | cc5d018 | 2005-12-13 18:01:21 +1100 | [diff] [blame] | 45 | extern void pmac_pic_init(void); |
Paul Mackerras | 3c3f42d | 2005-10-10 22:58:41 +1000 | [diff] [blame] | 46 | |
Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 47 | #endif /* __PMAC_H__ */ |