5 #include <linux/config.h>
8 #include <asm-m68k/machdep.h>
14 struct machdep_calls
{
15 void (*setup_arch
)(void);
16 /* Optional, may be NULL. */
17 int (*setup_residual
)(char *buffer
);
18 /* Optional, may be NULL. */
19 int (*get_cpuinfo
)(char *buffer
);
20 /* Optional, may be NULL. */
21 unsigned int (*irq_cannonicalize
)(unsigned int irq
);
22 void (*init_IRQ
)(void);
23 int (*get_irq
)(struct pt_regs
*);
24 void (*post_irq
)( struct pt_regs
*, int );
26 /* A general init function, called by ppc_init in init/main.c.
30 void (*restart
)(char *cmd
);
31 void (*power_off
)(void);
34 void (*time_init
)(void); /* Optional, may be NULL */
35 int (*set_rtc_time
)(unsigned long nowtime
);
36 unsigned long (*get_rtc_time
)(void);
37 void (*calibrate_decr
)(void);
39 void (*heartbeat
)(void);
40 unsigned long heartbeat_reset
;
41 unsigned long heartbeat_count
;
43 void (*progress
)(char *, unsigned short);
45 unsigned char (*nvram_read_val
)(int addr
);
46 void (*nvram_write_val
)(int addr
, unsigned char val
);
48 /* Tons of keyboard stuff. */
49 int (*kbd_setkeycode
)(unsigned int scancode
,
50 unsigned int keycode
);
51 int (*kbd_getkeycode
)(unsigned int scancode
);
52 int (*kbd_translate
)(unsigned char scancode
,
53 unsigned char *keycode
,
55 char (*kbd_unexpected_up
)(unsigned char keycode
);
56 void (*kbd_leds
)(unsigned char leds
);
57 void (*kbd_init_hw
)(void);
58 #ifdef CONFIG_MAGIC_SYSRQ
59 unsigned char *ppc_kbd_sysrq_xlate
;
63 int (*pcibios_read_config_byte
)(unsigned char bus
,
64 unsigned char dev_fn
, unsigned char offset
, unsigned char *val
);
65 int (*pcibios_read_config_word
)(unsigned char bus
,
66 unsigned char dev_fn
, unsigned char offset
, unsigned short *val
);
67 int (*pcibios_read_config_dword
)(unsigned char bus
,
68 unsigned char dev_fn
, unsigned char offset
, unsigned int *val
);
69 int (*pcibios_write_config_byte
)(unsigned char bus
,
70 unsigned char dev_fn
, unsigned char offset
, unsigned char val
);
71 int (*pcibios_write_config_word
)(unsigned char bus
,
72 unsigned char dev_fn
, unsigned char offset
, unsigned short val
);
73 int (*pcibios_write_config_dword
)(unsigned char bus
,
74 unsigned char dev_fn
, unsigned char offset
, unsigned int val
);
75 void (*pcibios_fixup
)(void);
76 void (*pcibios_fixup_bus
)(struct pci_bus
*);
78 void* (*pci_dev_io_base
)(unsigned char bus
, unsigned char devfn
);
79 void* (*pci_dev_mem_base
)(unsigned char bus
, unsigned char devfn
);
80 int (*pci_dev_root_bridge
)(unsigned char bus
, unsigned char devfn
);
82 /* this is for modules, since _machine can be a define -- Cort */
86 extern struct machdep_calls ppc_md
;
87 extern char cmd_line
[512];
89 extern void setup_pci_ptrs(void);
92 * Power macintoshes have either a CUDA or a PMU controlling
93 * system reset, power, NVRAM, RTC.
95 typedef enum sys_ctrler_kind
{
96 SYS_CTRLER_UNKNOWN
= 0,
101 extern sys_ctrler_t sys_ctrler
;
103 #endif /* _PPC_MACHDEP_H */