Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/pci/pciintel/pci.c

    rf278930 ref9460b  
    203203
    204204static int pci_add_device(ddf_dev_t *);
    205 static int pci_fun_online(ddf_fun_t *);
    206 static int pci_fun_offline(ddf_fun_t *);
    207205
    208206/** PCI bus driver standard operations */
    209207static driver_ops_t pci_ops = {
    210         .add_device = &pci_add_device,
    211         .fun_online = &pci_fun_online,
    212         .fun_offline = &pci_fun_offline,
     208        .add_device = &pci_add_device
    213209};
    214210
     
    218214        .driver_ops = &pci_ops
    219215};
     216
     217static pci_bus_t *pci_bus_new(void)
     218{
     219        pci_bus_t *bus;
     220       
     221        bus = (pci_bus_t *) calloc(1, sizeof(pci_bus_t));
     222        if (bus == NULL)
     223                return NULL;
     224       
     225        fibril_mutex_initialize(&bus->conf_mutex);
     226        return bus;
     227}
     228
     229static void pci_bus_delete(pci_bus_t *bus)
     230{
     231        assert(bus != NULL);
     232        free(bus);
     233}
    220234
    221235static void pci_conf_read(pci_fun_t *fun, int reg, uint8_t *buf, size_t len)
     
    570584        dnode->parent_sess = NULL;
    571585       
    572         bus = ddf_dev_data_alloc(dnode, sizeof(pci_bus_t));
     586        bus = pci_bus_new();
    573587        if (bus == NULL) {
    574588                ddf_msg(LVL_ERROR, "pci_add_device allocation failed.");
     
    576590                goto fail;
    577591        }
    578         fibril_mutex_initialize(&bus->conf_mutex);
    579 
    580592        bus->dnode = dnode;
    581593        dnode->driver_data = bus;
     
    643655       
    644656fail:
     657        if (bus != NULL)
     658                pci_bus_delete(bus);
     659       
    645660        if (dnode->parent_sess)
    646661                async_hangup(dnode->parent_sess);
     
    653668       
    654669        return rc;
    655 }
    656 
    657 static int pci_fun_online(ddf_fun_t *fun)
    658 {
    659         ddf_msg(LVL_DEBUG, "pci_fun_online()");
    660         return ddf_fun_online(fun);
    661 }
    662 
    663 static int pci_fun_offline(ddf_fun_t *fun)
    664 {
    665         ddf_msg(LVL_DEBUG, "pci_fun_offline()");
    666         return ddf_fun_offline(fun);
    667670}
    668671
Note: See TracChangeset for help on using the changeset viewer.