| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-or-later */ |
|---|
| 1 | 2 | #ifndef _ASM_POWERPC_MACHDEP_H |
|---|
| 2 | 3 | #define _ASM_POWERPC_MACHDEP_H |
|---|
| 3 | 4 | #ifdef __KERNEL__ |
|---|
| 4 | | - |
|---|
| 5 | | -/* |
|---|
| 6 | | - * This program is free software; you can redistribute it and/or |
|---|
| 7 | | - * modify it under the terms of the GNU General Public License |
|---|
| 8 | | - * as published by the Free Software Foundation; either version |
|---|
| 9 | | - * 2 of the License, or (at your option) any later version. |
|---|
| 10 | | - */ |
|---|
| 11 | 5 | |
|---|
| 12 | 6 | #include <linux/seq_file.h> |
|---|
| 13 | 7 | #include <linux/init.h> |
|---|
| .. | .. |
|---|
| 34 | 28 | struct machdep_calls { |
|---|
| 35 | 29 | char *name; |
|---|
| 36 | 30 | #ifdef CONFIG_PPC64 |
|---|
| 37 | | - void __iomem * (*ioremap)(phys_addr_t addr, unsigned long size, |
|---|
| 38 | | - unsigned long flags, void *caller); |
|---|
| 39 | | - void (*iounmap)(volatile void __iomem *token); |
|---|
| 40 | | - |
|---|
| 41 | 31 | #ifdef CONFIG_PM |
|---|
| 42 | 32 | void (*iommu_save)(void); |
|---|
| 43 | 33 | void (*iommu_restore)(void); |
|---|
| .. | .. |
|---|
| 47 | 37 | #endif |
|---|
| 48 | 38 | #endif /* CONFIG_PPC64 */ |
|---|
| 49 | 39 | |
|---|
| 50 | | - /* Platform set_dma_mask and dma_get_required_mask overrides */ |
|---|
| 51 | | - int (*dma_set_mask)(struct device *dev, u64 dma_mask); |
|---|
| 52 | | - u64 (*dma_get_required_mask)(struct device *dev); |
|---|
| 40 | + void (*dma_set_mask)(struct device *dev, u64 dma_mask); |
|---|
| 53 | 41 | |
|---|
| 54 | 42 | int (*probe)(void); |
|---|
| 55 | 43 | void (*setup_arch)(void); /* Optional, may be NULL */ |
|---|
| .. | .. |
|---|
| 80 | 68 | void __noreturn (*restart)(char *cmd); |
|---|
| 81 | 69 | void __noreturn (*halt)(void); |
|---|
| 82 | 70 | void (*panic)(char *str); |
|---|
| 83 | | - void (*cpu_die)(void); |
|---|
| 84 | 71 | |
|---|
| 85 | 72 | long (*time_init)(void); /* Optional, may be NULL */ |
|---|
| 86 | 73 | |
|---|
| .. | .. |
|---|
| 111 | 98 | |
|---|
| 112 | 99 | /* Early exception handlers called in realmode */ |
|---|
| 113 | 100 | int (*hmi_exception_early)(struct pt_regs *regs); |
|---|
| 101 | + long (*machine_check_early)(struct pt_regs *regs); |
|---|
| 114 | 102 | |
|---|
| 115 | 103 | /* Called during machine check exception to retrive fixup address. */ |
|---|
| 116 | 104 | bool (*mce_check_early_recovery)(struct pt_regs *regs); |
|---|
| .. | .. |
|---|
| 145 | 133 | unsigned long dabrx); |
|---|
| 146 | 134 | |
|---|
| 147 | 135 | /* Set DAWR for this platform, leave empty for default implementation */ |
|---|
| 148 | | - int (*set_dawr)(unsigned long dawr, |
|---|
| 136 | + int (*set_dawr)(int nr, unsigned long dawr, |
|---|
| 149 | 137 | unsigned long dawrx); |
|---|
| 150 | 138 | |
|---|
| 151 | 139 | #ifdef CONFIG_PPC32 /* XXX for now */ |
|---|
| .. | .. |
|---|
| 236 | 224 | |
|---|
| 237 | 225 | extern void e500_idle(void); |
|---|
| 238 | 226 | extern void power4_idle(void); |
|---|
| 239 | | -extern void power7_idle(void); |
|---|
| 240 | | -extern void power9_idle(void); |
|---|
| 241 | 227 | extern void ppc6xx_idle(void); |
|---|
| 242 | 228 | extern void book3e_idle(void); |
|---|
| 243 | 229 | |
|---|
| .. | .. |
|---|
| 249 | 235 | extern struct machdep_calls ppc_md; |
|---|
| 250 | 236 | extern struct machdep_calls *machine_id; |
|---|
| 251 | 237 | |
|---|
| 252 | | -#define __machine_desc __attribute__ ((__section__ (".machine.desc"))) |
|---|
| 238 | +#define __machine_desc __section(".machine.desc") |
|---|
| 253 | 239 | |
|---|
| 254 | 240 | #define define_machine(name) \ |
|---|
| 255 | 241 | extern struct machdep_calls mach_##name; \ |
|---|