From fb13a50bc14688a20dc37acbbbbe23f56bf63c41 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Mon, 7 Oct 2013 20:48:04 +0800 Subject: [PATCH] Modules/UDI - Cleaned up source layout, implemented PCI IRQs --- KernelLand/Modules/Interfaces/UDI/Makefile | 8 +- KernelLand/Modules/Interfaces/UDI/channels.c | 2 +- .../Interfaces/UDI/include/trans_pci.h | 16 +++ .../UDI/{ => include}/udi_internal.h | 0 .../{udi_ma.h => include/udi_internal_ma.h} | 0 KernelLand/Modules/Interfaces/UDI/main.c | 14 +- .../Modules/Interfaces/UDI/management_agent.c | 6 +- .../Modules/Interfaces/UDI/trans/bus_pci.c | 135 +++++++++++++++++- .../Interfaces/UDI/udi_lib/{ => core}/attr.c | 4 +- .../Interfaces/UDI/udi_lib/{ => core}/buf.c | 0 .../Interfaces/UDI/udi_lib/{ => core}/cb.c | 4 +- .../Interfaces/UDI/udi_lib/{ => core}/imc.c | 4 +- .../UDI/udi_lib/{ => core}/logging.c | 0 .../Modules/Interfaces/UDI/udi_lib/core/mei.c | 16 +++ .../Interfaces/UDI/udi_lib/{ => core}/mem.c | 0 .../UDI/udi_lib/{ => core}/meta_gio.c | 0 .../UDI/udi_lib/{ => core}/meta_mgmt.c | 6 +- .../UDI/udi_lib/{ => core}/queues.c | 0 .../UDI/udi_lib/{ => core}/strmem.c | 0 .../Interfaces/UDI/udi_lib/{ => core}/time.c | 0 .../Modules/Interfaces/UDI/udi_lib/physio.c | 4 +- .../Interfaces/UDI/udi_lib/physio/meta_bus.c | 7 +- .../Interfaces/UDI/udi_lib/physio/pio.c | 4 +- .../Interfaces/UDI/udi_lib/physio_main.c | 16 --- 24 files changed, 195 insertions(+), 51 deletions(-) create mode 100644 KernelLand/Modules/Interfaces/UDI/include/trans_pci.h rename KernelLand/Modules/Interfaces/UDI/{ => include}/udi_internal.h (100%) rename KernelLand/Modules/Interfaces/UDI/{udi_ma.h => include/udi_internal_ma.h} (100%) rename KernelLand/Modules/Interfaces/UDI/udi_lib/{ => core}/attr.c (98%) rename KernelLand/Modules/Interfaces/UDI/udi_lib/{ => core}/buf.c (100%) rename KernelLand/Modules/Interfaces/UDI/udi_lib/{ => core}/cb.c (96%) rename KernelLand/Modules/Interfaces/UDI/udi_lib/{ => core}/imc.c (98%) rename KernelLand/Modules/Interfaces/UDI/udi_lib/{ => core}/logging.c (100%) create mode 100644 KernelLand/Modules/Interfaces/UDI/udi_lib/core/mei.c rename KernelLand/Modules/Interfaces/UDI/udi_lib/{ => core}/mem.c (100%) rename KernelLand/Modules/Interfaces/UDI/udi_lib/{ => core}/meta_gio.c (100%) rename KernelLand/Modules/Interfaces/UDI/udi_lib/{ => core}/meta_mgmt.c (98%) rename KernelLand/Modules/Interfaces/UDI/udi_lib/{ => core}/queues.c (100%) rename KernelLand/Modules/Interfaces/UDI/udi_lib/{ => core}/strmem.c (100%) rename KernelLand/Modules/Interfaces/UDI/udi_lib/{ => core}/time.c (100%) delete mode 100644 KernelLand/Modules/Interfaces/UDI/udi_lib/physio_main.c diff --git a/KernelLand/Modules/Interfaces/UDI/Makefile b/KernelLand/Modules/Interfaces/UDI/Makefile index 2406a7cb..4d90a1a8 100644 --- a/KernelLand/Modules/Interfaces/UDI/Makefile +++ b/KernelLand/Modules/Interfaces/UDI/Makefile @@ -1,12 +1,12 @@ # # -CPPFLAGS = -I../../../../UDI/include +CPPFLAGS = -I../../../../UDI/include -Iinclude # - UDI Library Files -LIB_OBJS := logging.o strmem.o imc.o mem.o buf.o cb.o -LIB_OBJS += queues.o time.o attr.o -LIB_OBJS += meta_mgmt.o meta_gio.o +LIB_OBJS := core/logging.o core/strmem.o core/imc.o core/mem.o core/buf.o +LIB_OBJS += core/queues.o core/time.o core/attr.o core/mei.o core/cb.o +LIB_OBJS += core/meta_mgmt.o core/meta_gio.o LIB_OBJS += physio.o physio/meta_bus.o physio/pio.o physio/dma.o LIB_OBJS += scsi.o LIB_OBJS += udi_nic.o diff --git a/KernelLand/Modules/Interfaces/UDI/channels.c b/KernelLand/Modules/Interfaces/UDI/channels.c index 6e595941..bb723a2e 100644 --- a/KernelLand/Modules/Interfaces/UDI/channels.c +++ b/KernelLand/Modules/Interfaces/UDI/channels.c @@ -14,7 +14,7 @@ * - Prevents multiple non-dispatched operations on one channel * TODO: This should actually lock the GCB, not the channel */ -#define LOCK_CHANNELS 1 +#define LOCK_CHANNELS 0 #define MAX_SPAWN_IDX 6 diff --git a/KernelLand/Modules/Interfaces/UDI/include/trans_pci.h b/KernelLand/Modules/Interfaces/UDI/include/trans_pci.h new file mode 100644 index 00000000..5e736cc7 --- /dev/null +++ b/KernelLand/Modules/Interfaces/UDI/include/trans_pci.h @@ -0,0 +1,16 @@ +/* + * Acess2 UDI Layer + * - By John Hodge (thePowersGang) + * + * trans_pci.h + * - PCI Translation Layer builtin driver + */ +#ifndef _TRANS_PCI_H_ +#define _TRANS_PCI_H_ + +extern udi_init_t pci_init; +extern const char pci_udiprops[]; +extern size_t pci_udiprops_size; + +#endif + diff --git a/KernelLand/Modules/Interfaces/UDI/udi_internal.h b/KernelLand/Modules/Interfaces/UDI/include/udi_internal.h similarity index 100% rename from KernelLand/Modules/Interfaces/UDI/udi_internal.h rename to KernelLand/Modules/Interfaces/UDI/include/udi_internal.h diff --git a/KernelLand/Modules/Interfaces/UDI/udi_ma.h b/KernelLand/Modules/Interfaces/UDI/include/udi_internal_ma.h similarity index 100% rename from KernelLand/Modules/Interfaces/UDI/udi_ma.h rename to KernelLand/Modules/Interfaces/UDI/include/udi_internal_ma.h diff --git a/KernelLand/Modules/Interfaces/UDI/main.c b/KernelLand/Modules/Interfaces/UDI/main.c index 51e04b32..1d76678e 100644 --- a/KernelLand/Modules/Interfaces/UDI/main.c +++ b/KernelLand/Modules/Interfaces/UDI/main.c @@ -1,18 +1,18 @@ /* * Acess2 UDI Layer + * - By John Hodge (thePowersGang) + * + * main.c + * - UDI Entrypoint and Module loading */ #define DEBUG 1 #define VERSION ((0<<8)|1) #include #include #include -#include "udi_internal.h" -#include "udi_ma.h" - -// === IMPORTS === -extern udi_init_t pci_init; -extern char pci_udiprops[]; -extern size_t pci_udiprops_size; +#include +#include +#include // === PROTOTYPES === int UDI_Install(char **Arguments); diff --git a/KernelLand/Modules/Interfaces/UDI/management_agent.c b/KernelLand/Modules/Interfaces/UDI/management_agent.c index f9d60418..0e1c87e7 100644 --- a/KernelLand/Modules/Interfaces/UDI/management_agent.c +++ b/KernelLand/Modules/Interfaces/UDI/management_agent.c @@ -6,10 +6,10 @@ * - Managment Agent */ #define DEBUG 1 -#include #include -#include "udi_internal.h" -#include "udi_ma.h" +#include +#include +#include // === CONSTANTS === enum { diff --git a/KernelLand/Modules/Interfaces/UDI/trans/bus_pci.c b/KernelLand/Modules/Interfaces/UDI/trans/bus_pci.c index 1c3a7c13..ab09aa4a 100644 --- a/KernelLand/Modules/Interfaces/UDI/trans/bus_pci.c +++ b/KernelLand/Modules/Interfaces/UDI/trans/bus_pci.c @@ -10,7 +10,8 @@ #include #include #include // acess -#include "../udi_internal.h" +#include +#include // === MACROS === /* Copied from http://projectudi.cvs.sourceforge.net/viewvc/projectudi/udiref/driver/udi_dpt/udi_dpt.h */ @@ -38,6 +39,10 @@ (attr)->attr_length = (len); \ udi_strncpy_rtrim((char *)(attr)->attr_value, (val), (len)) +#define PCI_OPS_BRIDGE 1 +#define PCI_OPS_IRQ 2 + +#define PCI_MAX_EVENT_CBS 8 // === TYPES === typedef struct @@ -47,6 +52,25 @@ typedef struct tPCIDev cur_iter; } pci_rdata_t; +typedef struct +{ + udi_child_chan_context_t child_chan_context; + + udi_channel_t interrupt_channel; + struct { + tPAddr paddr; + void *vaddr; + size_t length; + } bars[6]; + + int interrupt_handle; + + udi_pio_handle_t intr_preprocessing; + udi_intr_event_cb_t *event_cbs[PCI_MAX_EVENT_CBS]; + int event_cb_wr_ofs; + int event_cb_rd_ofs; +} pci_child_chan_context_t; + // === PROTOTYPES === void pci_usage_ind(udi_usage_cb_t *cb, udi_ubit8_t resource_level); void pci_enumerate_req(udi_enumerate_cb_t *cb, udi_ubit8_t enumeration_level); @@ -57,8 +81,14 @@ void pci_bridge_ch_event_ind(udi_channel_event_cb_t *cb); void pci_unbind_req(udi_bus_bind_cb_t *cb); void pci_bind_req_op(udi_bus_bind_cb_t *cb); void pci_intr_attach_req(udi_intr_attach_cb_t *cb); +void pci_intr_attach_req__channel_spawned(udi_cb_t *gcb, udi_channel_t new_channel); void pci_intr_detach_req(udi_intr_detach_cb_t *cb); +void pci_intr_ch_event_ind(udi_channel_event_cb_t *cb); +void pci_intr_event_rdy(udi_intr_event_cb_t *cb); +void pci_intr_handler(int irq, void *void_context); +void pci_intr_handle__trans_done(udi_cb_t *gcb, udi_buf_t *new_buf, udi_status_t status, udi_ubit16_t result); + // - Hook to physio (UDI doesn't define these) int pci_pio_get_regset(udi_cb_t *gcb, udi_ubit32_t regset_idx, void **baseptr, size_t *lenptr); @@ -157,15 +187,99 @@ void pci_unbind_req(udi_bus_bind_cb_t *cb) } void pci_intr_attach_req(udi_intr_attach_cb_t *cb) { + pci_child_chan_context_t *context = UDI_GCB(cb)->context; + + ASSERT(cb->interrupt_idx == 0); + + context->intr_preprocessing = cb->preprocessing_handle; + // Check if interrupt is already bound + if( !UDI_HANDLE_IS_NULL(context->interrupt_channel, udi_channel_t) ) + { + udi_intr_attach_ack(cb, UDI_OK); + return ; + } // Create a channel - //udi_channel_spawn(, UCI_GCB(cb), cb->gcb.channel, 0, PCI_OPS_IRQ, NULL); - UNIMPLEMENTED(); + udi_channel_spawn(pci_intr_attach_req__channel_spawned, UDI_GCB(cb), + cb->gcb.channel, cb->interrupt_idx, PCI_OPS_IRQ, context); +} +void pci_intr_attach_req__channel_spawned(udi_cb_t *gcb, udi_channel_t new_channel) +{ + udi_intr_attach_cb_t *cb = UDI_MCB(gcb, udi_intr_attach_cb_t); + pci_child_chan_context_t *context = UDI_GCB(cb)->context; + + if( UDI_HANDLE_IS_NULL(new_channel, udi_channel_t) ) + { + // oops + return ; + } + + context->interrupt_channel = new_channel; + + context->interrupt_handle = IRQ_AddHandler( + PCI_GetIRQ(context->child_chan_context.child_ID), + pci_intr_handler, new_channel); + + udi_intr_attach_ack(cb, UDI_OK); } void pci_intr_detach_req(udi_intr_detach_cb_t *cb) { UNIMPLEMENTED(); } +void pci_intr_ch_event_ind(udi_channel_event_cb_t *cb) +{ + UNIMPLEMENTED(); +} +void pci_intr_event_rdy(udi_intr_event_cb_t *cb) +{ + pci_child_chan_context_t *context = UDI_GCB(cb)->context; + if( context->event_cbs[context->event_cb_wr_ofs] ) + { + // oops, overrun. + return ; + } + context->event_cbs[context->event_cb_wr_ofs++] = cb; + if( context->event_cb_wr_ofs == PCI_MAX_EVENT_CBS ) + context->event_cb_wr_ofs = 0; +} + +void pci_intr_handler(int irq, void *void_context) +{ + pci_child_chan_context_t *context = void_context; + + if( context->event_cb_rd_ofs == context->event_cb_wr_ofs ) { + // Dropped + return ; + } + + udi_intr_event_cb_t *cb = context->event_cbs[context->event_cb_rd_ofs]; + context->event_cbs[context->event_cb_rd_ofs] = NULL; + context->event_cb_rd_ofs ++; + if( context->event_cb_rd_ofs == PCI_MAX_EVENT_CBS ) + context->event_cb_rd_ofs = 0; + + if( UDI_HANDLE_IS_NULL(context->intr_preprocessing, udi_pio_handle_t) ) + { + udi_intr_event_ind(cb, 0); + } + else + { + // Processing + // - no event info, so mem_ptr=NULL + udi_pio_trans(pci_intr_handle__trans_done, UDI_GCB(cb), + context->intr_preprocessing, 1, cb->event_buf, NULL); + } +} + +void pci_intr_handle__trans_done(udi_cb_t *gcb, udi_buf_t *new_buf, udi_status_t status, udi_ubit16_t result) +{ + udi_intr_event_cb_t *cb = UDI_MCB(gcb, udi_intr_event_cb_t); + + cb->intr_result = result; + + udi_intr_event_ind(cb, UDI_INTR_PREPROCESSED); +} + // - physio hooks udi_status_t pci_pio_do_io(uint32_t child_ID, udi_ubit32_t regset_idx, udi_ubit32_t ofs, udi_ubit8_t len, void *data, bool isOutput) @@ -227,6 +341,11 @@ udi_bus_bridge_ops_t pci_bridge_ops = { pci_intr_detach_req }; udi_ubit8_t pci_bridge_op_flags[5] = {0,0,0,0,0}; +udi_intr_dispatcher_ops_t pci_irq_ops = { + pci_intr_ch_event_ind, + pci_intr_event_rdy +}; +udi_ubit8_t pci_irq_ops_flags[2] = {0,0}; udi_primary_init_t pci_pri_init = { .mgmt_ops = &pci_mgmt_ops, .mgmt_op_flags = pci_mgmt_op_flags, @@ -238,11 +357,17 @@ udi_primary_init_t pci_pri_init = { }; udi_ops_init_t pci_ops_list[] = { { - 1, 1, UDI_BUS_BRIDGE_OPS_NUM, - sizeof(udi_child_chan_context_t), + PCI_OPS_BRIDGE, 1, UDI_BUS_BRIDGE_OPS_NUM, + sizeof(pci_child_chan_context_t), (udi_ops_vector_t*)&pci_bridge_ops, pci_bridge_op_flags }, + { + PCI_OPS_IRQ, 1, UDI_BUS_INTR_DISPATCH_OPS_NUM, + 0, + (udi_ops_vector_t*)&pci_irq_ops, + pci_irq_ops_flags + }, {0} }; udi_init_t pci_init = { diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/attr.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/attr.c similarity index 98% rename from KernelLand/Modules/Interfaces/UDI/udi_lib/attr.c rename to KernelLand/Modules/Interfaces/UDI/udi_lib/core/attr.c index 7268d07d..9901c3d6 100644 --- a/KernelLand/Modules/Interfaces/UDI/udi_lib/attr.c +++ b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/attr.c @@ -5,9 +5,9 @@ * udi_lib/attr.c * - Instance Attribute Management */ -#include #include -#include "../udi_internal.h" +#include +#include // Notes: // - Prefixes: diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/buf.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/buf.c similarity index 100% rename from KernelLand/Modules/Interfaces/UDI/udi_lib/buf.c rename to KernelLand/Modules/Interfaces/UDI/udi_lib/core/buf.c diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/cb.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/cb.c similarity index 96% rename from KernelLand/Modules/Interfaces/UDI/udi_lib/cb.c rename to KernelLand/Modules/Interfaces/UDI/udi_lib/core/cb.c index 7d05768c..39822aa6 100644 --- a/KernelLand/Modules/Interfaces/UDI/udi_lib/cb.c +++ b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/cb.c @@ -6,8 +6,8 @@ #define DEBUG 1 #include #include -#include "../udi_internal.h" -#include "../udi_ma.h" // for cUDI_MgmtCbInitList +#include +#include // for cUDI_MgmtCbInitList // === CODE === void *udi_cb_alloc_internal(tUDI_DriverInstance *Inst, udi_ubit8_t bind_cb_idx, udi_channel_t channel) diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/imc.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/imc.c similarity index 98% rename from KernelLand/Modules/Interfaces/UDI/udi_lib/imc.c rename to KernelLand/Modules/Interfaces/UDI/udi_lib/core/imc.c index 31fd6e2d..365f8393 100644 --- a/KernelLand/Modules/Interfaces/UDI/udi_lib/imc.c +++ b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/imc.c @@ -3,9 +3,9 @@ * \author John Hodge (thePowersGang) */ #define DEBUG 1 -#include #include -#include "../udi_internal.h" +#include +#include // === EXPORTS === EXPORT(udi_channel_anchor); diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/logging.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/logging.c similarity index 100% rename from KernelLand/Modules/Interfaces/UDI/udi_lib/logging.c rename to KernelLand/Modules/Interfaces/UDI/udi_lib/core/logging.c diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/core/mei.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/mei.c new file mode 100644 index 00000000..e92afce3 --- /dev/null +++ b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/mei.c @@ -0,0 +1,16 @@ +/* + * Acess2 UDI Layer + * - By John Hodge (thePowersGang) + * + * udi_lib/mei.c + * - Metalanguage-to-Environment Interface + */ +#include +#include + +// === CODE === +void udi_mei_call(udi_cb_t *gcb, udi_mei_init_t *meta_info, udi_index_t meta_ops_num, udi_index_t vec_idx, ...) +{ + UNIMPLEMENTED(); +} + diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/mem.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/mem.c similarity index 100% rename from KernelLand/Modules/Interfaces/UDI/udi_lib/mem.c rename to KernelLand/Modules/Interfaces/UDI/udi_lib/core/mem.c diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/meta_gio.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/meta_gio.c similarity index 100% rename from KernelLand/Modules/Interfaces/UDI/udi_lib/meta_gio.c rename to KernelLand/Modules/Interfaces/UDI/udi_lib/core/meta_gio.c diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/meta_mgmt.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/meta_mgmt.c similarity index 98% rename from KernelLand/Modules/Interfaces/UDI/udi_lib/meta_mgmt.c rename to KernelLand/Modules/Interfaces/UDI/udi_lib/core/meta_mgmt.c index 6e6ec42c..ddaf5146 100644 --- a/KernelLand/Modules/Interfaces/UDI/udi_lib/meta_mgmt.c +++ b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/meta_mgmt.c @@ -3,10 +3,10 @@ * \author John Hodge (thePowersGang) */ #define DEBUG 0 -#include #include -#include "../udi_internal.h" -#include "../udi_ma.h" +#include +#include +#include // === EXPORTS === EXPORT(udi_usage_ind); diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/queues.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/queues.c similarity index 100% rename from KernelLand/Modules/Interfaces/UDI/udi_lib/queues.c rename to KernelLand/Modules/Interfaces/UDI/udi_lib/core/queues.c diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/strmem.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/strmem.c similarity index 100% rename from KernelLand/Modules/Interfaces/UDI/udi_lib/strmem.c rename to KernelLand/Modules/Interfaces/UDI/udi_lib/core/strmem.c diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/time.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/core/time.c similarity index 100% rename from KernelLand/Modules/Interfaces/UDI/udi_lib/time.c rename to KernelLand/Modules/Interfaces/UDI/udi_lib/core/time.c diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/physio.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/physio.c index ed47c157..72b40237 100644 --- a/KernelLand/Modules/Interfaces/UDI/udi_lib/physio.c +++ b/KernelLand/Modules/Interfaces/UDI/udi_lib/physio.c @@ -5,8 +5,8 @@ #include #include #include -#include "../udi_internal.h" -//#include +#include +//#include struct udi_dma_constraints_s { diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/physio/meta_bus.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/physio/meta_bus.c index 1aed3ab4..1102d74a 100644 --- a/KernelLand/Modules/Interfaces/UDI/udi_lib/physio/meta_bus.c +++ b/KernelLand/Modules/Interfaces/UDI/udi_lib/physio/meta_bus.c @@ -6,10 +6,10 @@ * - Bus Bridge Metalanguage */ #define DEBUG 1 -#include #include #include -#include "../../udi_internal.h" +#include +#include #define USE_MEI 0 @@ -198,6 +198,9 @@ udi_layout_t udi_meta_info__bridge__intr_detach_cb[] = { UDI_DL_INDEX_T, UDI_DL_END }; +udi_layout_t udi_meta_info__bridge__intr_event_cb[] = { + UDI_DL_END +}; #if USE_MEI udi_layout_t _noargs_marshal[] = { diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/physio/pio.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/physio/pio.c index 2fa39eea..97dd36d9 100644 --- a/KernelLand/Modules/Interfaces/UDI/udi_lib/physio/pio.c +++ b/KernelLand/Modules/Interfaces/UDI/udi_lib/physio/pio.c @@ -3,10 +3,10 @@ * \author John Hodge (thePowersGang) */ #define DEBUG 1 -#include #include #include -#include "../../udi_internal.h" +#include +#include typedef void _udi_pio_do_io_op_t(uint32_t child_ID, udi_ubit32_t regset_idx, udi_ubit32_t ofs, size_t len, void *data, bool isOutput); diff --git a/KernelLand/Modules/Interfaces/UDI/udi_lib/physio_main.c b/KernelLand/Modules/Interfaces/UDI/udi_lib/physio_main.c deleted file mode 100644 index f5e7aa04..00000000 --- a/KernelLand/Modules/Interfaces/UDI/udi_lib/physio_main.c +++ /dev/null @@ -1,16 +0,0 @@ -/** - * \file logging.c - * \author John Hodge (thePowersGang) - */ -#include -#include -#include - -// === CODE === -void udi_bus_bind_req(udi_bus_bind_cb_t *cb) -{ -} - -void udi_bus_unbind_req(udi_bus_bind_cb_t *cb) -{ -} -- 2.20.1