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_RANGELENGTH; in pnp_assign_mem()
103 res->flags |= IORESOURCE_SHADOWABLE; in pnp_assign_mem()
106 res->flags |= IORESOURCE_DISABLED; in pnp_assign_mem()
111 res->start = rule->min; in pnp_assign_mem()
112 res->end = res->start + rule->size - 1; in pnp_assign_mem()
114 while (!pnp_check_mem(dev, res)) { in pnp_assign_mem()
115 res->start += rule->align; in pnp_assign_mem()
116 res->end = res->start + rule->size - 1; in pnp_assign_mem()
117 if (res->start > rule->max || !rule->align) { in pnp_assign_mem()
127 pnp_add_mem_resource(dev, res->start, res->end, res->flags); in pnp_assign_mem()
133 struct resource *res, local_res; in pnp_assign_irq() local
141 res = pnp_find_resource(dev, rule->flags, IORESOURCE_IRQ, idx); in pnp_assign_irq()
142 if (res) { in pnp_assign_irq()
144 idx, (int) res->start, res->flags); in pnp_assign_irq()
148 res = &local_res; in pnp_assign_irq()
149 res->flags = rule->flags | IORESOURCE_AUTO; in pnp_assign_irq()
150 res->start = -1; in pnp_assign_irq()
151 res->end = -1; in pnp_assign_irq()
154 res->flags |= IORESOURCE_DISABLED; in pnp_assign_irq()
160 res->start = find_next_bit(rule->map.bits, PNP_IRQ_NR, 16); in pnp_assign_irq()
161 if (res->start < PNP_IRQ_NR) { in pnp_assign_irq()
162 res->end = res->start; in pnp_assign_irq()
167 res->start = res->end = xtab[i]; in pnp_assign_irq()
168 if (pnp_check_irq(dev, res)) in pnp_assign_irq()
174 res->start = -1; in pnp_assign_irq()
175 res->end = -1; in pnp_assign_irq()
176 res->flags |= IORESOURCE_DISABLED; in pnp_assign_irq()
185 pnp_add_irq_resource(dev, res->start, res->flags); in pnp_assign_irq()
192 struct resource *res, local_res; in pnp_assign_dma() local
200 res = pnp_find_resource(dev, rule->flags, IORESOURCE_DMA, idx); in pnp_assign_dma()
201 if (res) { in pnp_assign_dma()
203 idx, (int) res->start, res->flags); in pnp_assign_dma()
207 res = &local_res; in pnp_assign_dma()
208 res->flags = rule->flags | IORESOURCE_AUTO; in pnp_assign_dma()
209 res->start = -1; in pnp_assign_dma()
210 res->end = -1; in pnp_assign_dma()
213 res->flags |= IORESOURCE_DISABLED; in pnp_assign_dma()
220 res->start = res->end = xtab[i]; in pnp_assign_dma()
221 if (pnp_check_dma(dev, res)) in pnp_assign_dma()
230 pnp_add_dma_resource(dev, res->start, res->flags); in pnp_assign_dma()
245 if (pnp_res->res.flags & IORESOURCE_AUTO) in pnp_clean_resource_table()