mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 14:30:50 +00:00 
			
		
		
		
	 c7657ac0c3
			
		
	
	
		c7657ac0c3
		
	
	
	
	
		
			
			get_ucode_data is a memcpy() wrapper which always returns 0. Move it into the header and make it an inline. Remove all code checking its return value and turn it into a void. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _ASM_X86_MICROCODE_H
 | |
| #define _ASM_X86_MICROCODE_H
 | |
| 
 | |
| struct cpu_signature {
 | |
| 	unsigned int sig;
 | |
| 	unsigned int pf;
 | |
| 	unsigned int rev;
 | |
| };
 | |
| 
 | |
| struct device;
 | |
| 
 | |
| enum ucode_state { UCODE_ERROR, UCODE_OK, UCODE_NFOUND };
 | |
| 
 | |
| struct microcode_ops {
 | |
| 	enum ucode_state (*request_microcode_user) (int cpu,
 | |
| 				const void __user *buf, size_t size);
 | |
| 
 | |
| 	enum ucode_state (*request_microcode_fw) (int cpu,
 | |
| 				struct device *device);
 | |
| 
 | |
| 	void (*microcode_fini_cpu) (int cpu);
 | |
| 
 | |
| 	/*
 | |
| 	 * The generic 'microcode_core' part guarantees that
 | |
| 	 * the callbacks below run on a target cpu when they
 | |
| 	 * are being called.
 | |
| 	 * See also the "Synchronization" section in microcode_core.c.
 | |
| 	 */
 | |
| 	int (*apply_microcode) (int cpu);
 | |
| 	int (*collect_cpu_info) (int cpu, struct cpu_signature *csig);
 | |
| };
 | |
| 
 | |
| struct ucode_cpu_info {
 | |
| 	struct cpu_signature	cpu_sig;
 | |
| 	int			valid;
 | |
| 	void			*mc;
 | |
| };
 | |
| extern struct ucode_cpu_info ucode_cpu_info[];
 | |
| 
 | |
| #ifdef CONFIG_MICROCODE_INTEL
 | |
| extern struct microcode_ops * __init init_intel_microcode(void);
 | |
| #else
 | |
| static inline struct microcode_ops * __init init_intel_microcode(void)
 | |
| {
 | |
| 	return NULL;
 | |
| }
 | |
| #endif /* CONFIG_MICROCODE_INTEL */
 | |
| 
 | |
| #ifdef CONFIG_MICROCODE_AMD
 | |
| extern struct microcode_ops * __init init_amd_microcode(void);
 | |
| 
 | |
| static inline void get_ucode_data(void *to, const u8 *from, size_t n)
 | |
| {
 | |
| 	memcpy(to, from, n);
 | |
| }
 | |
| 
 | |
| #else
 | |
| static inline struct microcode_ops * __init init_amd_microcode(void)
 | |
| {
 | |
| 	return NULL;
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif /* _ASM_X86_MICROCODE_H */
 |