summaryrefslogtreecommitdiff
path: root/kernel/xpp/xproto.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/xpp/xproto.h')
-rw-r--r--kernel/xpp/xproto.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/kernel/xpp/xproto.h b/kernel/xpp/xproto.h
index f889b3a..5b5bf83 100644
--- a/kernel/xpp/xproto.h
+++ b/kernel/xpp/xproto.h
@@ -147,9 +147,9 @@ bool valid_xpd_addr(const struct xpd_addr *addr);
do { \
int pack_len = RPACKET_SIZE(card,op); \
\
- if(XBUS_IS(xbus, DISCONNECTED)) \
+ if(!XBUS_FLAGS(xbus, CONNECTED)) \
return -ENODEV; \
- (frm) = ALLOC_SEND_XFRAME(xbus); \
+ (frm) = ALLOC_SEND_XFRAME(xbus); \
if(!(frm)) \
return -ENOMEM; \
(p) = xframe_next_packet(frm, pack_len); \
@@ -218,7 +218,8 @@ xproto_handler_t xproto_global_handler(byte opcode);
struct xops {
xpd_t *(*card_new)(xbus_t *xbus, int unit, int subunit,
- const xproto_table_t *proto_table, byte subtype, int subunits, bool to_phone);
+ const xproto_table_t *proto_table, byte subtype,
+ int subunits, int subunit_ports, bool to_phone);
int (*card_init)(xbus_t *xbus, xpd_t *xpd);
int (*card_remove)(xbus_t *xbus, xpd_t *xpd);
int (*card_tick)(xbus_t *xbus, xpd_t *xpd);