X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=UDI%2Fdrivers%2Fnet_ne2000%2Fne2000_core.c;h=2e916a7545f17de2aae6f8f3dc5d8d0b769510e1;hb=c309c4a37b87140efca1866e794337629d569aed;hp=acecb4983bc8a71f6e08c39099e0b14f0b9886c3;hpb=fb9d8f2d3c416bb3dc6702fae5891dedd990da44;p=tpg%2Facess2.git diff --git a/UDI/drivers/net_ne2000/ne2000_core.c b/UDI/drivers/net_ne2000/ne2000_core.c index acecb498..2e916a75 100644 --- a/UDI/drivers/net_ne2000/ne2000_core.c +++ b/UDI/drivers/net_ne2000/ne2000_core.c @@ -21,7 +21,8 @@ enum { NE2K_OPS_IRQ, }; enum { - NE2K_CB_INTR = 1, + NE2K_CB_BUS_BIND = 1, + NE2K_CB_INTR, NE2K_CB_INTR_EVENT, }; @@ -39,6 +40,7 @@ enum { // --- Management void ne2k_usage_ind(udi_usage_cb_t *cb, udi_ubit8_t resource_level) { + udi_usage_res(cb); } void ne2k_enumerate_req(udi_enumerate_cb_t *cb, udi_ubit8_t enumeration_level) { @@ -58,6 +60,7 @@ void ne2k_enumerate_req(udi_enumerate_cb_t *cb, udi_ubit8_t enumeration_level) rdata->macaddr[0], rdata->macaddr[1], rdata->macaddr[2], rdata->macaddr[3], rdata->macaddr[4], rdata->macaddr[5] ); attr_list ++; + cb->attr_valid_length = attr_list - cb->attr_list; udi_enumerate_ack(cb, UDI_ENUMERATE_OK, NE2K_OPS_CTRL); break; case UDI_ENUMERATE_NEXT: @@ -242,6 +245,7 @@ void ne2k_bus_irq_intr_event_ind(udi_intr_event_cb_t *cb, udi_ubit8_t flags) { ne2k_intr__rx_ok( UDI_GCB(cb) ); } + // TODO: TX IRQs udi_intr_event_rdy(cb); } @@ -330,7 +334,14 @@ udi_ops_init_t ne2k_ops_list[] = { }, {0} }; +udi_cb_init_t ne2k_cb_init_list[] = { + // Parent bind + {NE2K_CB_BUS_BIND, NE2K_META_BUS, UDI_BUS_BIND_CB_NUM, 0, 0,NULL}, + {0} +}; +// TODO: cb_init_list const udi_init_t udi_init_info = { .primary_init_info = &ne2k_pri_init, - .ops_init_list = ne2k_ops_list + .ops_init_list = ne2k_ops_list, + .cb_init_list = ne2k_cb_init_list, };