Lines Matching refs:isa_dev
15 static void __init report_dev(struct isa_device *isa_dev, int child) in report_dev() argument
18 printk(" (%s)", isa_dev->prom_name); in report_dev()
20 printk(" [%s", isa_dev->prom_name); in report_dev()
23 static void __init isa_dev_get_resource(struct isa_device *isa_dev, in isa_dev_get_resource() argument
30 prop_len = prom_getproperty(isa_dev->prom_node, "reg", in isa_dev_get_resource()
40 base += isa_dev->bus->parent->io_space.start; in isa_dev_get_resource()
42 isa_dev->resource.start = base; in isa_dev_get_resource()
43 isa_dev->resource.end = (base + len - 1UL); in isa_dev_get_resource()
44 isa_dev->resource.flags = IORESOURCE_IO; in isa_dev_get_resource()
45 isa_dev->resource.name = isa_dev->prom_name; in isa_dev_get_resource()
47 request_resource(&isa_dev->bus->parent->io_space, in isa_dev_get_resource()
48 &isa_dev->resource); in isa_dev_get_resource()
74 static int __init isa_dev_get_irq_using_imap(struct isa_device *isa_dev, in isa_dev_get_irq_using_imap() argument
96 static void __init isa_dev_get_irq(struct isa_device *isa_dev, in isa_dev_get_irq() argument
101 irq_prop = prom_getintdefault(isa_dev->prom_node, in isa_dev_get_irq()
110 if (isa_dev->bus->num_isa_intmap) { in isa_dev_get_irq()
111 if (!isa_dev_get_irq_using_imap(isa_dev, in isa_dev_get_irq()
112 isa_dev->bus, in isa_dev_get_irq()
132 pbm = isa_dev->bus->parent; in isa_dev_get_irq()
134 isa_dev->irq = pcic->irq_build(pbm, NULL, irq_prop); in isa_dev_get_irq()
139 isa_dev->irq = PCI_IRQ_NONE; in isa_dev_get_irq()
152 struct isa_device *isa_dev; in isa_fill_children() local
155 isa_dev = kmalloc(sizeof(*isa_dev), GFP_KERNEL); in isa_fill_children()
156 if (!isa_dev) { in isa_fill_children()
161 memset(isa_dev, 0, sizeof(*isa_dev)); in isa_fill_children()
164 isa_dev->next = parent_isa_dev->child; in isa_fill_children()
165 parent_isa_dev->child = isa_dev; in isa_fill_children()
167 isa_dev->bus = parent_isa_dev->bus; in isa_fill_children()
168 isa_dev->prom_node = node; in isa_fill_children()
170 (char *) isa_dev->prom_name, in isa_fill_children()
171 sizeof(isa_dev->prom_name)); in isa_fill_children()
178 (char *) isa_dev->compatible, in isa_fill_children()
179 sizeof(isa_dev->compatible)); in isa_fill_children()
183 isa_dev->compatible[0] = '\0'; in isa_fill_children()
185 isa_dev_get_resource(isa_dev, regs, sizeof(regs)); in isa_fill_children()
186 isa_dev_get_irq(isa_dev, regs); in isa_fill_children()
188 report_dev(isa_dev, 1); in isa_fill_children()
200 struct isa_device *isa_dev; in isa_fill_devices() local
203 isa_dev = kmalloc(sizeof(*isa_dev), GFP_KERNEL); in isa_fill_devices()
204 if (!isa_dev) { in isa_fill_devices()
209 memset(isa_dev, 0, sizeof(*isa_dev)); in isa_fill_devices()
212 isa_dev->next = NULL; in isa_fill_devices()
214 isa_br->devices = isa_dev; in isa_fill_devices()
221 tmp->next = isa_dev; in isa_fill_devices()
224 isa_dev->bus = isa_br; in isa_fill_devices()
225 isa_dev->prom_node = node; in isa_fill_devices()
227 (char *) isa_dev->prom_name, in isa_fill_devices()
228 sizeof(isa_dev->prom_name)); in isa_fill_devices()
235 (char *) isa_dev->compatible, in isa_fill_devices()
236 sizeof(isa_dev->compatible)); in isa_fill_devices()
240 isa_dev->compatible[0] = '\0'; in isa_fill_devices()
242 isa_dev_get_resource(isa_dev, regs, sizeof(regs)); in isa_fill_devices()
243 isa_dev_get_irq(isa_dev, regs); in isa_fill_devices()
245 report_dev(isa_dev, 0); in isa_fill_devices()
247 isa_fill_children(isa_dev); in isa_fill_devices()