Lines Matching refs:res

67 static inline void pcim_addr_devres_clear(struct pcim_addr_devres *res)  in pcim_addr_devres_clear()  argument
69 memset(res, 0, sizeof(*res)); in pcim_addr_devres_clear()
70 res->bar = -1; in pcim_addr_devres_clear()
76 struct pcim_addr_devres *res = resource_raw; in pcim_addr_resource_release() local
78 switch (res->type) { in pcim_addr_resource_release()
80 pci_release_region(pdev, res->bar); in pcim_addr_resource_release()
83 pci_iounmap(pdev, res->baseaddr); in pcim_addr_resource_release()
84 pci_release_region(pdev, res->bar); in pcim_addr_resource_release()
87 pci_iounmap(pdev, res->baseaddr); in pcim_addr_resource_release()
96 struct pcim_addr_devres *res; in pcim_addr_devres_alloc() local
98 res = devres_alloc_node(pcim_addr_resource_release, sizeof(*res), in pcim_addr_devres_alloc()
100 if (res) in pcim_addr_devres_alloc()
101 pcim_addr_devres_clear(res); in pcim_addr_devres_alloc()
102 return res; in pcim_addr_devres_alloc()
106 static inline void pcim_addr_devres_free(struct pcim_addr_devres *res) in pcim_addr_devres_free() argument
108 devres_free(res); in pcim_addr_devres_free()
138 struct resource **res = ptr; in devm_pci_unmap_iospace() local
140 pci_unmap_iospace(*res); in devm_pci_unmap_iospace()
152 int devm_pci_remap_iospace(struct device *dev, const struct resource *res, in devm_pci_remap_iospace() argument
162 error = pci_remap_iospace(res, phys_addr); in devm_pci_remap_iospace()
166 *ptr = res; in devm_pci_remap_iospace()
224 struct resource *res) in devm_pci_remap_cfg_resource() argument
232 if (!res || resource_type(res) != IORESOURCE_MEM) { in devm_pci_remap_cfg_resource()
237 size = resource_size(res); in devm_pci_remap_cfg_resource()
239 if (res->name) in devm_pci_remap_cfg_resource()
241 res->name); in devm_pci_remap_cfg_resource()
247 if (!devm_request_mem_region(dev, res->start, size, name)) { in devm_pci_remap_cfg_resource()
248 dev_err(dev, "can't request region for resource %pR\n", res); in devm_pci_remap_cfg_resource()
252 dest_ptr = devm_pci_remap_cfgspace(dev, res->start, size); in devm_pci_remap_cfg_resource()
254 dev_err(dev, "ioremap failed for resource %pR\n", res); in devm_pci_remap_cfg_resource()
255 devm_release_mem_region(dev, res->start, size); in devm_pci_remap_cfg_resource()
302 struct pcim_intx_devres *res = data; in pcim_intx_restore() local
304 pci_intx(pdev, res->orig_intx); in pcim_intx_restore()
307 static void save_orig_intx(struct pci_dev *pdev, struct pcim_intx_devres *res) in save_orig_intx() argument
312 res->orig_intx = !(pci_command & PCI_COMMAND_INTX_DISABLE); in save_orig_intx()
327 struct pcim_intx_devres *res; in pcim_intx() local
335 res = devres_find(dev, pcim_intx_restore, NULL, NULL); in pcim_intx()
336 if (!res) { in pcim_intx()
337 res = devres_alloc(pcim_intx_restore, sizeof(*res), GFP_KERNEL); in pcim_intx()
338 if (!res) in pcim_intx()
341 save_orig_intx(pdev, res); in pcim_intx()
342 devres_add(dev, res); in pcim_intx()
408 static void pcim_iomap_release(struct device *gendev, void *res) in pcim_iomap_release() argument
541 struct pcim_addr_devres *res; in pcim_iomap() local
546 res = pcim_addr_devres_alloc(pdev); in pcim_iomap()
547 if (!res) in pcim_iomap()
549 res->type = PCIM_ADDR_DEVRES_TYPE_MAPPING; in pcim_iomap()
554 res->baseaddr = mapping; in pcim_iomap()
559 devres_add(&pdev->dev, res); in pcim_iomap()
565 pcim_addr_devres_free(res); in pcim_iomap()
611 struct pcim_addr_devres *res; in pcim_iomap_region() local
616 res = pcim_addr_devres_alloc(pdev); in pcim_iomap_region()
617 if (!res) in pcim_iomap_region()
620 res->type = PCIM_ADDR_DEVRES_TYPE_REGION_MAPPING; in pcim_iomap_region()
621 res->bar = bar; in pcim_iomap_region()
627 res->baseaddr = pci_iomap(pdev, bar, 0); in pcim_iomap_region()
628 if (!res->baseaddr) { in pcim_iomap_region()
633 devres_add(&pdev->dev, res); in pcim_iomap_region()
634 return res->baseaddr; in pcim_iomap_region()
639 pcim_addr_devres_free(res); in pcim_iomap_region()
727 struct pcim_addr_devres *res; in pcim_request_region() local
732 res = pcim_addr_devres_alloc(pdev); in pcim_request_region()
733 if (!res) in pcim_request_region()
735 res->type = PCIM_ADDR_DEVRES_TYPE_REGION; in pcim_request_region()
736 res->bar = bar; in pcim_request_region()
740 pcim_addr_devres_free(res); in pcim_request_region()
744 devres_add(&pdev->dev, res); in pcim_request_region()
838 struct pcim_addr_devres *res; in pcim_iomap_range() local
843 res = pcim_addr_devres_alloc(pdev); in pcim_iomap_range()
844 if (!res) in pcim_iomap_range()
849 pcim_addr_devres_free(res); in pcim_iomap_range()
853 res->type = PCIM_ADDR_DEVRES_TYPE_MAPPING; in pcim_iomap_range()
854 res->baseaddr = mapping; in pcim_iomap_range()
861 devres_add(&pdev->dev, res); in pcim_iomap_range()