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 32*8eb8ac89SShreyas B. Prabhu extern u32 pnv_get_supported_cpuidle_states(void); 33*8eb8ac89SShreyas B. Prabhu 343fafe9c2SBenjamin Herrenschmidt extern void pnv_lpc_init(void); 353fafe9c2SBenjamin Herrenschmidt 36e2186023SMichael Ellerman bool cpu_core_split_required(void); 37e2186023SMichael Ellerman 3855190f88SBenjamin Herrenschmidt #endif /* _POWERNV_H */ 39