Changeset 3843ecb in mainline for uspace/srv/drivers
- Timestamp:
- 2010-04-09T13:54:06Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 892e4e1
- Parents:
- 3a5909f
- Location:
- uspace/srv/drivers
- Files:
-
- 3 edited
-
pciintel/pci.c (modified) (3 diffs)
-
pciintel/pci.h (modified) (1 diff)
-
rootia32/rootia32.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/drivers/pciintel/pci.c
r3a5909f r3843ecb 58 58 #define NAME "pciintel" 59 59 60 61 60 #define CONF_ADDR(bus, dev, fn, reg) ((1 << 31) | (bus << 16) | (dev << 11) | (fn << 8) | (reg & ~3)) 61 62 63 static hw_resource_list_t * pciintel_get_child_resources(device_t *dev) 64 { 65 pci_dev_data_t *dev_data = (pci_dev_data_t *)dev->driver_data; 66 if (NULL == dev_data) { 67 return NULL; 68 } 69 return &dev_data->hw_resources; 70 } 71 72 static bool pciintel_enable_child_interrupt(device_t *dev) 73 { 74 // TODO 75 76 return false; 77 } 78 79 static resource_iface_t pciintel_child_res_iface = { 80 &pciintel_get_child_resources, 81 &pciintel_enable_child_interrupt 82 }; 83 84 static device_class_t pci_child_class; 62 85 63 86 … … 373 396 pci_read_interrupt(dev); 374 397 375 // TODO initialize device interfaces398 dev->class = &pci_child_class; 376 399 377 400 printf(NAME ": adding new child device %s.\n", dev->name); … … 464 487 } 465 488 489 static void pciintel_init() 490 { 491 pci_child_class.id = 0; // TODO 492 pci_child_class.interfaces[HW_RES_DEV_IFACE] = &pciintel_child_res_iface; 493 } 494 466 495 int main(int argc, char *argv[]) 467 496 { 468 printf(NAME ": HelenOS pci bus driver (intel method 1).\n"); 497 printf(NAME ": HelenOS pci bus driver (intel method 1).\n"); 498 pciintel_init(); 469 499 return driver_main(&pci_driver); 470 500 } -
uspace/srv/drivers/pciintel/pci.h
r3a5909f r3843ecb 110 110 } 111 111 112 static inline boolpci_clean_resource_list(device_t *dev)112 static inline void pci_clean_resource_list(device_t *dev) 113 113 { 114 114 pci_dev_data_t *dev_data = (pci_dev_data_t *)dev->driver_data; -
uspace/srv/drivers/rootia32/rootia32.c
r3a5909f r3843ecb 51 51 #include <ipc/dev_iface.h> 52 52 #include <resource.h> 53 #include <device/hw_res.h> 53 54 54 55 #define NAME "rootia32" … … 111 112 }; 112 113 114 // initialized in root_ia32_init() function 115 static device_class_t rootia32_child_class; 116 113 117 static bool rootia32_add_child( 114 118 device_t *parent, const char *name, const char *str_match_id, … … 136 140 add_match_id(&child->match_ids, match_id); 137 141 138 // add an interfaceto the device139 device_set_iface(child, HW_RES_DEV_IFACE, &child_res_iface);142 // set class to the device 143 child->class = &rootia32_child_class; 140 144 141 145 // register child device … … 181 185 } 182 186 187 static void root_ia32_init() { 188 // initialize child device class 189 rootia32_child_class.id = 0; // TODO 190 rootia32_child_class.interfaces[HW_RES_DEV_IFACE] = &child_res_iface; 191 } 192 183 193 int main(int argc, char *argv[]) 184 194 { 185 195 printf(NAME ": HelenOS root device driver\n"); 196 root_ia32_init(); 186 197 return driver_main(&rootia32_driver); 187 198 }
Note:
See TracChangeset
for help on using the changeset viewer.
