summaryrefslogtreecommitdiff
path: root/xpp/card_global.c
diff options
context:
space:
mode:
Diffstat (limited to 'xpp/card_global.c')
-rw-r--r--xpp/card_global.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/xpp/card_global.c b/xpp/card_global.c
index a2c4ac0..05f4008 100644
--- a/xpp/card_global.c
+++ b/xpp/card_global.c
@@ -78,7 +78,10 @@ int xpp_register_request(xbus_t *xbus, xpd_t *xpd,
regnum, subreg, data_low, data_high);
reg_cmd = &RPACKET_FIELD(pack, GLOBAL, REGISTER_REQUEST, reg_cmd);
reg_cmd->bytes = sizeof(*reg_cmd) - 1; // do not count the 'bytes' field
+ reg_cmd->eoframe = 0;
+ reg_cmd->multibyte = 0;
REG_FIELD(reg_cmd, chipsel) = chipsel;
+ REG_FIELD(reg_cmd, reserved) = 0; /* force reserved bits to 0 */
REG_FIELD(reg_cmd, read_request) = (writing) ? 0 : 1;
REG_FIELD(reg_cmd, do_subreg) = do_subreg;
REG_FIELD(reg_cmd, regnum) = regnum;
@@ -137,11 +140,10 @@ HANDLER_DEF(GLOBAL, DEV_DESC)
struct card_desc_struct *card_desc;
BUG_ON(!xbus);
- if((card_desc = kmalloc(sizeof(struct card_desc_struct), GFP_ATOMIC)) == NULL) {
+ if((card_desc = KZALLOC(sizeof(struct card_desc_struct), GFP_ATOMIC)) == NULL) {
XBUS_ERR(xbus, "Card description allocation failed.\n");
return -ENOMEM;
}
- memset(card_desc, 0, sizeof(struct card_desc_struct));
card_desc->magic = CARD_DESC_MAGIC;
INIT_LIST_HEAD(&card_desc->card_list);
card_desc->xbus = xbus;
@@ -168,7 +170,7 @@ HANDLER_DEF(GLOBAL, REGISTER_REPLY)
if(!xpd) {
XBUS_NOTICE(xbus, "%s: received %s for non-existing unit (%1d%1d)\n",
__FUNCTION__, cmd->name,
- XPACKET_ADDR(pack).unit, XPACKET_ADDR(pack).subunit);
+ XPACKET_ADDR_UNIT(pack), XPACKET_ADDR_SUBUNIT(pack));
return -EPROTO;
}
return CALL_XMETHOD(card_register_reply, xbus, xpd, reg);
@@ -205,7 +207,7 @@ HANDLER_DEF(GLOBAL, ERROR_CODE)
return 0;
if(!xpd) {
snprintf(tmp_name, TMP_NAME_LEN, "%s(%1d%1d)", xbus->busname,
- XPACKET_ADDR(pack).unit, XPACKET_ADDR(pack).subunit);
+ XPACKET_ADDR_UNIT(pack), XPACKET_ADDR_SUBUNIT(pack));
} else {
snprintf(tmp_name, TMP_NAME_LEN, "%s/%s", xbus->busname, xpd->xpdname);
}