diff options
Diffstat (limited to 'xpp/xproto.h')
-rw-r--r-- | xpp/xproto.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/xpp/xproto.h b/xpp/xproto.h index 93ce3a8..fbb6f16 100644 --- a/xpp/xproto.h +++ b/xpp/xproto.h @@ -116,26 +116,28 @@ void xpd_set_addr(struct xpd_addr *addr, int xpd_num); .table = &PROTO_TABLE(prototab) \ } -#define XPACKET_INIT(p, card, op, to) \ +#define XPACKET_INIT(p, card, op, to, pcm, pcmslot) \ do { \ XPACKET_OP(p) = XPROTO_NAME(card,op); \ XPACKET_LEN(p) = RPACKET_SIZE(card,op); \ + XPACKET_IS_PCM(p) = (pcm); \ + XPACKET_PCMSLOT(p) = (pcmslot); \ xpd_set_addr(&XPACKET_ADDR(p), (to)); \ } while(0) -#define XFRAME_NEW(frm, p, xbus, card, op, to) \ +#define XFRAME_NEW_CMD(frm, p, xbus, card, op, to) \ do { \ int len = RPACKET_SIZE(card,op); \ \ - if(!xbus->hardware_exists) \ + if(!TRANSPORT_RUNNING(xbus)) \ return -ENODEV; \ - frm = xbus->ops->xframe_new(xbus, GFP_ATOMIC); \ + frm = ALLOC_SEND_XFRAME(xbus); \ if(!frm) \ return -ENOMEM; \ (p) = xframe_next_packet(frm, len); \ if(!(p)) \ return -ENOMEM; \ - XPACKET_INIT(p, card, op, to); \ + XPACKET_INIT(p, card, op, to, 0, 0); \ } while(0) #endif @@ -277,7 +279,7 @@ struct xpacket { /* Last byte is chksum */ } PACKED; -void dump_packet(const char *msg, xpacket_t *packet, bool print_dbg); +void dump_packet(const char *msg, const xpacket_t *packet, bool print_dbg); void dump_reg_cmd(const char msg[], const reg_cmd_t *regcmd, bool writing); int xframe_receive(xbus_t *xbus, xframe_t *xframe); void notify_bad_xpd(const char *funcname, xbus_t *xbus, const struct xpd_addr addr, const char *msg); |