Lines Matching refs:res
26 struct resource *res = pnp_get_resource(dev, type, bar); in pnp_find_resource() local
29 if (res) { in pnp_find_resource()
30 res->flags &= ~IORESOURCE_BITS; in pnp_find_resource()
31 res->flags |= rule & IORESOURCE_BITS; in pnp_find_resource()
34 return res; in pnp_find_resource()
39 struct resource *res, local_res; in pnp_assign_port() local
41 res = pnp_find_resource(dev, rule->flags, IORESOURCE_IO, idx); in pnp_assign_port()
42 if (res) { in pnp_assign_port()
44 "flags %#lx\n", idx, (unsigned long long) res->start, in pnp_assign_port()
45 (unsigned long long) res->end, res->flags); in pnp_assign_port()
49 res = &local_res; in pnp_assign_port()
50 res->flags = rule->flags | IORESOURCE_AUTO; in pnp_assign_port()
51 res->start = 0; in pnp_assign_port()
52 res->end = 0; in pnp_assign_port()
55 res->flags |= IORESOURCE_DISABLED; in pnp_assign_port()
60 res->start = rule->min; in pnp_assign_port()
61 res->end = res->start + rule->size - 1; in pnp_assign_port()
63 while (!pnp_check_port(dev, res)) { in pnp_assign_port()
64 res->start += rule->align; in pnp_assign_port()
65 res->end = res->start + rule->size - 1; in pnp_assign_port()
66 if (res->start > rule->max || !rule->align) { in pnp_assign_port()
76 pnp_add_io_resource(dev, res->start, res->end, res->flags); in pnp_assign_port()
82 struct resource *res, local_res; in pnp_assign_mem() local
84 res = pnp_find_resource(dev, rule->flags, IORESOURCE_MEM, idx); in pnp_assign_mem()
85 if (res) { in pnp_assign_mem()
87 "flags %#lx\n", idx, (unsigned long long) res->start, in pnp_assign_mem()
88 (unsigned long long) res->end, res->flags); in pnp_assign_mem()
92 res = &local_res; in pnp_assign_mem()
93 res->flags = rule->flags | IORESOURCE_AUTO; in pnp_assign_mem()
94 res->start = 0; in pnp_assign_mem()
95 res->end = 0; in pnp_assign_mem()
99 res->flags |= IORESOURCE_READONLY; in pnp_assign_mem()
101 res->flags |= IORESOURCE_CACHEABLE; in pnp_assign_mem()
103 res->flags |= IORESOURCE_RANGELENGTH; in pnp_assign_mem()
105 res->flags |= IORESOURCE_SHADOWABLE; in pnp_assign_mem()
108 res->flags |= IORESOURCE_DISABLED; in pnp_assign_mem()
113 res->start = rule->min; in pnp_assign_mem()
114 res->end = res->start + rule->size - 1; in pnp_assign_mem()
116 while (!pnp_check_mem(dev, res)) { in pnp_assign_mem()
117 res->start += rule->align; in pnp_assign_mem()
118 res->end = res->start + rule->size - 1; in pnp_assign_mem()
119 if (res->start > rule->max || !rule->align) { in pnp_assign_mem()
129 pnp_add_mem_resource(dev, res->start, res->end, res->flags); in pnp_assign_mem()
135 struct resource *res, local_res; in pnp_assign_irq() local
143 res = pnp_find_resource(dev, rule->flags, IORESOURCE_IRQ, idx); in pnp_assign_irq()
144 if (res) { in pnp_assign_irq()
146 idx, (int) res->start, res->flags); in pnp_assign_irq()
150 res = &local_res; in pnp_assign_irq()
151 res->flags = rule->flags | IORESOURCE_AUTO; in pnp_assign_irq()
152 res->start = -1; in pnp_assign_irq()
153 res->end = -1; in pnp_assign_irq()
156 res->flags |= IORESOURCE_DISABLED; in pnp_assign_irq()
162 res->start = find_next_bit(rule->map.bits, PNP_IRQ_NR, 16); in pnp_assign_irq()
163 if (res->start < PNP_IRQ_NR) { in pnp_assign_irq()
164 res->end = res->start; in pnp_assign_irq()
169 res->start = res->end = xtab[i]; in pnp_assign_irq()
170 if (pnp_check_irq(dev, res)) in pnp_assign_irq()
176 res->start = -1; in pnp_assign_irq()
177 res->end = -1; in pnp_assign_irq()
178 res->flags |= IORESOURCE_DISABLED; in pnp_assign_irq()
187 pnp_add_irq_resource(dev, res->start, res->flags); in pnp_assign_irq()
194 struct resource *res, local_res; in pnp_assign_dma() local
202 res = pnp_find_resource(dev, rule->flags, IORESOURCE_DMA, idx); in pnp_assign_dma()
203 if (res) { in pnp_assign_dma()
205 idx, (int) res->start, res->flags); in pnp_assign_dma()
209 res = &local_res; in pnp_assign_dma()
210 res->flags = rule->flags | IORESOURCE_AUTO; in pnp_assign_dma()
211 res->start = -1; in pnp_assign_dma()
212 res->end = -1; in pnp_assign_dma()
215 res->flags |= IORESOURCE_DISABLED; in pnp_assign_dma()
222 res->start = res->end = xtab[i]; in pnp_assign_dma()
223 if (pnp_check_dma(dev, res)) in pnp_assign_dma()
232 pnp_add_dma_resource(dev, res->start, res->flags); in pnp_assign_dma()
247 if (pnp_res->res.flags & IORESOURCE_AUTO) in pnp_clean_resource_table()