mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +00:00 
			
		
		
		
	uio_mf624: Refactor memory info initialization
No functional changes. Move initialization of struct uio_mem to a function. This will allow the next commit to change the initialization code at a single place rather that at three different places. Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
		
							parent
							
								
									171058fb08
								
							
						
					
					
						commit
						a15d2ddba9
					
				
					 1 changed files with 18 additions and 26 deletions
				
			
		|  | @ -127,6 +127,20 @@ static int mf624_irqcontrol(struct uio_info *info, s32 irq_on) | |||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| static int mf624_setup_mem(struct pci_dev *dev, int bar, struct uio_mem *mem, const char *name) | ||||
| { | ||||
| 	mem->name = name; | ||||
| 	mem->addr = pci_resource_start(dev, bar); | ||||
| 	if (!mem->addr) | ||||
| 		return -ENODEV; | ||||
| 	mem->size = pci_resource_len(dev, bar); | ||||
| 	mem->memtype = UIO_MEM_PHYS; | ||||
| 	mem->internal_addr = pci_ioremap_bar(dev, bar); | ||||
| 	if (!mem->internal_addr) | ||||
| 		return -ENODEV; | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| static int mf624_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) | ||||
| { | ||||
| 	struct uio_info *info; | ||||
|  | @ -147,37 +161,15 @@ static int mf624_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) | |||
| 	/* Note: Datasheet says device uses BAR0, BAR1, BAR2 -- do not trust it */ | ||||
| 
 | ||||
| 	/* BAR0 */ | ||||
| 	info->mem[0].name = "PCI chipset, interrupts, status " | ||||
| 			"bits, special functions"; | ||||
| 	info->mem[0].addr = pci_resource_start(dev, 0); | ||||
| 	if (!info->mem[0].addr) | ||||
| 	if (mf624_setup_mem(dev, 0, &info->mem[0], "PCI chipset, interrupts, status " | ||||
| 			    "bits, special functions")) | ||||
| 		goto out_release; | ||||
| 	info->mem[0].size = pci_resource_len(dev, 0); | ||||
| 	info->mem[0].memtype = UIO_MEM_PHYS; | ||||
| 	info->mem[0].internal_addr = pci_ioremap_bar(dev, 0); | ||||
| 	if (!info->mem[0].internal_addr) | ||||
| 		goto out_release; | ||||
| 
 | ||||
| 	/* BAR2 */ | ||||
| 	info->mem[1].name = "ADC, DAC, DIO"; | ||||
| 	info->mem[1].addr = pci_resource_start(dev, 2); | ||||
| 	if (!info->mem[1].addr) | ||||
| 		goto out_unmap0; | ||||
| 	info->mem[1].size = pci_resource_len(dev, 2); | ||||
| 	info->mem[1].memtype = UIO_MEM_PHYS; | ||||
| 	info->mem[1].internal_addr = pci_ioremap_bar(dev, 2); | ||||
| 	if (!info->mem[1].internal_addr) | ||||
| 	if (mf624_setup_mem(dev, 2, &info->mem[1], "ADC, DAC, DIO")) | ||||
| 		goto out_unmap0; | ||||
| 
 | ||||
| 	/* BAR4 */ | ||||
| 	info->mem[2].name = "Counter/timer chip"; | ||||
| 	info->mem[2].addr = pci_resource_start(dev, 4); | ||||
| 	if (!info->mem[2].addr) | ||||
| 		goto out_unmap1; | ||||
| 	info->mem[2].size = pci_resource_len(dev, 4); | ||||
| 	info->mem[2].memtype = UIO_MEM_PHYS; | ||||
| 	info->mem[2].internal_addr = pci_ioremap_bar(dev, 4); | ||||
| 	if (!info->mem[2].internal_addr) | ||||
| 	if (mf624_setup_mem(dev, 4, &info->mem[2], "Counter/timer chip")) | ||||
| 		goto out_unmap1; | ||||
| 
 | ||||
| 	info->irq = dev->irq; | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Michal Sojka
						Michal Sojka