Changes in uspace/drv/bus/isa/isa.c [3d0fd0d:443695e] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/isa/isa.c
r3d0fd0d r443695e 1 1 /* 2 * Copyright (c) 20 18Jiri Svoboda2 * Copyright (c) 2024 Jiri Svoboda 3 3 * Copyright (c) 2010 Lenka Trochtova 4 4 * Copyright (c) 2011 Jan Vesely … … 72 72 #define EBUS_CHILD_FUN_CONF_PATH "/drv/isa/ebus.dev" 73 73 74 #define ISA_MAX_HW_RES 574 #define ISA_MAX_HW_RES 6 75 75 76 76 typedef struct { 77 77 fibril_mutex_t mutex; 78 bool pci_isa_bridge; 78 79 uint16_t pci_vendor_id; 79 80 uint16_t pci_device_id; … … 92 93 hw_resource_list_t hw_resources; 93 94 link_t bus_link; 95 isa_bus_t *bus; 94 96 } isa_fun_t; 95 97 … … 204 206 } 205 207 208 static errno_t isa_fun_get_flags(ddf_fun_t *fnode, hw_res_flags_t *rflags) 209 { 210 isa_fun_t *fun = isa_fun(fnode); 211 hw_res_flags_t flags; 212 213 flags = 0; 214 if (fun->bus->pci_isa_bridge) 215 flags |= hwf_isa_bridge; 216 217 ddf_msg(LVL_NOTE, "isa_fun_get_flags: returning 0x%x", flags); 218 *rflags = flags; 219 return EOK; 220 } 221 206 222 static hw_res_ops_t isa_fun_hw_res_ops = { 207 223 .get_resource_list = isa_fun_get_resources, … … 211 227 .dma_channel_setup = isa_fun_setup_dma, 212 228 .dma_channel_remain = isa_fun_remain_dma, 229 .get_flags = isa_fun_get_flags 213 230 }; 214 231 … … 264 281 fibril_mutex_initialize(&fun->mutex); 265 282 fun->hw_resources.resources = fun->resources; 283 fun->bus = isa; 266 284 267 285 fun->fnode = fnode; … … 743 761 if (rc != EOK) { 744 762 ddf_msg(LVL_NOTE, "Cannot read PCI config. Assuming ISA classic."); 763 isa->pci_isa_bridge = false; 745 764 isa->pci_vendor_id = 0; 746 765 isa->pci_device_id = 0; 747 766 isa->pci_class = BASE_CLASS_BRIDGE; 748 767 isa->pci_subclass = SUB_CLASS_BRIDGE_ISA; 768 } else { 769 ddf_msg(LVL_NOTE, "ISA Bridge"); 770 isa->pci_isa_bridge = true; 749 771 } 750 772
Note:
See TracChangeset
for help on using the changeset viewer.