155190f88SBenjamin Herrenschmidt #ifndef _POWERNV_H
255190f88SBenjamin Herrenschmidt #define _POWERNV_H
355190f88SBenjamin Herrenschmidt 
455190f88SBenjamin Herrenschmidt #ifdef CONFIG_SMP
555190f88SBenjamin Herrenschmidt extern void pnv_smp_init(void);
655190f88SBenjamin Herrenschmidt #else
755190f88SBenjamin Herrenschmidt static inline void pnv_smp_init(void) { }
855190f88SBenjamin Herrenschmidt #endif
955190f88SBenjamin Herrenschmidt 
10cd15b048SBenjamin Herrenschmidt struct pci_dev;
11cd15b048SBenjamin Herrenschmidt 
1261305a96SBenjamin Herrenschmidt #ifdef CONFIG_PCI
1361305a96SBenjamin Herrenschmidt extern void pnv_pci_init(void);
1473ed148aSBenjamin Herrenschmidt extern void pnv_pci_shutdown(void);
15cd15b048SBenjamin Herrenschmidt extern int pnv_pci_dma_set_mask(struct pci_dev *pdev, u64 dma_mask);
16fe7e85c6SGavin Shan extern u64 pnv_pci_dma_get_required_mask(struct pci_dev *pdev);
1761305a96SBenjamin Herrenschmidt #else
1861305a96SBenjamin Herrenschmidt static inline void pnv_pci_init(void) { }
1973ed148aSBenjamin Herrenschmidt static inline void pnv_pci_shutdown(void) { }
20cd15b048SBenjamin Herrenschmidt 
21cd15b048SBenjamin Herrenschmidt static inline int pnv_pci_dma_set_mask(struct pci_dev *pdev, u64 dma_mask)
22cd15b048SBenjamin Herrenschmidt {
23cd15b048SBenjamin Herrenschmidt 	return -ENODEV;
24cd15b048SBenjamin Herrenschmidt }
25fe7e85c6SGavin Shan 
26fe7e85c6SGavin Shan static inline u64 pnv_pci_dma_get_required_mask(struct pci_dev *pdev)
27fe7e85c6SGavin Shan {
28fe7e85c6SGavin Shan 	return 0;
29fe7e85c6SGavin Shan }
3061305a96SBenjamin Herrenschmidt #endif
3161305a96SBenjamin Herrenschmidt 
3265ebf4b6SDaniel Axtens extern struct pci_controller_ops pnv_pci_controller_ops;
3365ebf4b6SDaniel Axtens 
348eb8ac89SShreyas B. Prabhu extern u32 pnv_get_supported_cpuidle_states(void);
358eb8ac89SShreyas B. Prabhu 
363fafe9c2SBenjamin Herrenschmidt extern void pnv_lpc_init(void);
373fafe9c2SBenjamin Herrenschmidt 
389f0fd049SAlistair Popple extern void opal_do_notifier(uint64_t events);
399f0fd049SAlistair Popple extern void opal_handle_events(uint64_t events);
409f0fd049SAlistair Popple extern void opal_event_shutdown(void);
419f0fd049SAlistair Popple 
42e2186023SMichael Ellerman bool cpu_core_split_required(void);
43e2186023SMichael Ellerman 
4455190f88SBenjamin Herrenschmidt #endif /* _POWERNV_H */
45