PCI: ARM: convert pcibios_set_master() to a non-inlined function
This patch converts ARM's architecture-specific inlined 'pcibios_set_master()' routine to a non-inlined function. This will allow follow on patches to create a generic 'pcibios_set_master()' function using the '__weak' attribute which can be used by all architectures as a default which, if necessary, can then be over- ridden by architecture-specific code. Converting 'pci_bios_set_master()' to a non-inlined function will allow ARM's 'pcibios_set_master()' implementation to remain architecture- specific after the generic version is introduced and thus, not change current behavior. Note that ARM also has a non-inlined 'pcibios_set_master()' that is used if CONFIG_PCI_HOST_ITE8152 is defined. This patch does not change any behavior here either. No functional change. Signed-off-by: Myron Stowe <myron.stowe@redhat.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
		
					parent
					
						
							
								cfce9fb808
							
						
					
				
			
			
				commit
				
					
						168c8619fd
					
				
			
		
					 3 changed files with 10 additions and 12 deletions
				
			
		|  | @ -327,6 +327,9 @@ err0: | ||||||
|  */ |  */ | ||||||
| unsigned int pcibios_max_latency = 255; | unsigned int pcibios_max_latency = 255; | ||||||
| 
 | 
 | ||||||
|  | /* ITE bridge requires setting latency timer to avoid early bus access
 | ||||||
|  |    termination by PCI bus master devices | ||||||
|  | */ | ||||||
| void pcibios_set_master(struct pci_dev *dev) | void pcibios_set_master(struct pci_dev *dev) | ||||||
| { | { | ||||||
| 	u8 lat; | 	u8 lat; | ||||||
|  |  | ||||||
|  | @ -31,18 +31,6 @@ static inline int pci_proc_domain(struct pci_bus *bus) | ||||||
| } | } | ||||||
| #endif /* CONFIG_PCI_DOMAINS */ | #endif /* CONFIG_PCI_DOMAINS */ | ||||||
| 
 | 
 | ||||||
| #ifdef CONFIG_PCI_HOST_ITE8152 |  | ||||||
| /* ITE bridge requires setting latency timer to avoid early bus access
 |  | ||||||
|    termination by PIC bus mater devices |  | ||||||
| */ |  | ||||||
| extern void pcibios_set_master(struct pci_dev *dev); |  | ||||||
| #else |  | ||||||
| static inline void pcibios_set_master(struct pci_dev *dev) |  | ||||||
| { |  | ||||||
| 	/* No special bus mastering setup handling */ |  | ||||||
| } |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| static inline void pcibios_penalize_isa_irq(int irq, int active) | static inline void pcibios_penalize_isa_irq(int irq, int active) | ||||||
| { | { | ||||||
| 	/* We don't do dynamic PCI IRQ allocation */ | 	/* We don't do dynamic PCI IRQ allocation */ | ||||||
|  |  | ||||||
|  | @ -571,6 +571,13 @@ void __init pci_common_init(struct hw_pci *hw) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | #ifndef CONFIG_PCI_HOST_ITE8152 | ||||||
|  | void pcibios_set_master(struct pci_dev *dev) | ||||||
|  | { | ||||||
|  | 	/* No special bus mastering setup handling */ | ||||||
|  | } | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| char * __init pcibios_setup(char *str) | char * __init pcibios_setup(char *str) | ||||||
| { | { | ||||||
| 	if (!strcmp(str, "debug")) { | 	if (!strcmp(str, "debug")) { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Myron Stowe
				Myron Stowe