tag | line | file | source code |
sbus_dev | 34 | drivers/sbus/sbus.c | fill_sbus_device(int nd, struct linux_sbus_device *sbus_dev) |
sbus_dev | 39 | drivers/sbus/sbus.c | sbus_dev->prom_node = nd; |
sbus_dev | 41 | drivers/sbus/sbus.c | strcpy(sbus_dev->prom_name, lbuf); |
sbus_dev | 45 | drivers/sbus/sbus.c | sbus_dev->sbus_addr = dev_base_addr; |
sbus_dev | 47 | drivers/sbus/sbus.c | len = prom_getproperty(nd, "reg", (void *) sbus_dev->reg_addrs, |
sbus_dev | 48 | drivers/sbus/sbus.c | sizeof(sbus_dev->reg_addrs)); |
sbus_dev | 51 | drivers/sbus/sbus.c | sbus_dev->prom_name, len, |
sbus_dev | 55 | drivers/sbus/sbus.c | sbus_dev->num_registers = (len/sizeof(struct linux_prom_registers)); |
sbus_dev | 57 | drivers/sbus/sbus.c | base = (unsigned long) sbus_dev->reg_addrs[0].phys_addr; |
sbus_dev | 60 | drivers/sbus/sbus.c | sbus_dev->slot = sbus_dev_slot(base); |
sbus_dev | 61 | drivers/sbus/sbus.c | sbus_dev->offset = sbus_dev_offset(base); |
sbus_dev | 63 | drivers/sbus/sbus.c | sbus_dev->slot = sbus_dev->reg_addrs[0].which_io; |
sbus_dev | 64 | drivers/sbus/sbus.c | sbus_dev->offset = base; |
sbus_dev | 65 | drivers/sbus/sbus.c | sbus_dev->reg_addrs[0].phys_addr = |
sbus_dev | 66 | drivers/sbus/sbus.c | (char *) sbus_devaddr(sbus_dev->slot, base); |
sbus_dev | 67 | drivers/sbus/sbus.c | for(grrr=1; grrr<sbus_dev->num_registers; grrr++) { |
sbus_dev | 68 | drivers/sbus/sbus.c | base = (unsigned long) sbus_dev->reg_addrs[grrr].phys_addr; |
sbus_dev | 69 | drivers/sbus/sbus.c | sbus_dev->reg_addrs[grrr].phys_addr = (char *) |
sbus_dev | 70 | drivers/sbus/sbus.c | sbus_devaddr(sbus_dev->slot, base); |
sbus_dev | 74 | drivers/sbus/sbus.c | sbus_dev->sbus_addr = (unsigned long) sbus_dev->reg_addrs[0].phys_addr; |
sbus_dev | 78 | drivers/sbus/sbus.c | sbus_dev->prom_name, len); |
sbus_dev | 82 | drivers/sbus/sbus.c | len = prom_getproperty(nd, "address", (void *) sbus_dev->sbus_vaddrs, |
sbus_dev | 83 | drivers/sbus/sbus.c | sizeof(sbus_dev->sbus_vaddrs)); |
sbus_dev | 87 | drivers/sbus/sbus.c | "for device %s got %d\n", sbus_dev->prom_name, len); |
sbus_dev | 90 | drivers/sbus/sbus.c | sbus_dev->num_vaddrs = (len/4); |
sbus_dev | 92 | drivers/sbus/sbus.c | len = prom_getproperty(nd, "intr", (void *)sbus_dev->irqs, |
sbus_dev | 93 | drivers/sbus/sbus.c | sizeof(sbus_dev->irqs)); |
sbus_dev | 97 | drivers/sbus/sbus.c | "device %s got %d\n", sbus_dev->prom_name, len); |
sbus_dev | 100 | drivers/sbus/sbus.c | sbus_dev->num_irqs=(len/8); |
sbus_dev | 103 | drivers/sbus/sbus.c | for(len=0; len<sbus_dev->num_irqs; len++) { |
sbus_dev | 104 | drivers/sbus/sbus.c | sbus_dev->irqs[len].pri &= 0xf; |
sbus_dev | 107 | drivers/sbus/sbus.c | if(sbus_dev->num_irqs == 0) sbus_dev->irqs[0].pri=0; |
sbus_dev | 111 | drivers/sbus/sbus.c | sbus_dev->prom_name, sbus_dev->slot, sbus_dev->offset, |
sbus_dev | 112 | drivers/sbus/sbus.c | sbus_dev->irqs[0].pri); |
sbus_dev | 113 | drivers/sbus/sbus.c | prom_printf("Base address %08lx\n", sbus_dev->sbus_addr); |
sbus_dev | 114 | drivers/sbus/sbus.c | prom_printf("REGISTERS: Probed %d register(s)\n", sbus_dev->num_registers); |
sbus_dev | 115 | drivers/sbus/sbus.c | for(len=0; len<sbus_dev->num_registers; len++) |
sbus_dev | 118 | drivers/sbus/sbus.c | (unsigned long) sbus_dev->reg_addrs[len].phys_addr, |
sbus_dev | 119 | drivers/sbus/sbus.c | sbus_dev->reg_addrs[len].which_io, |
sbus_dev | 120 | drivers/sbus/sbus.c | sbus_dev->reg_addrs[len].reg_size, |
sbus_dev | 121 | drivers/sbus/sbus.c | (sbus_dev->reg_addrs[len].reg_size/4)); |