int pvr2_debugifc_print_info(struct pvr2_hdw *hdw,char *buf,unsigned int acnt) { int bcnt = 0; int ccnt; struct pvr2_hdw_debug_info dbg; pvr2_hdw_get_debug_info(hdw,&dbg); ccnt = scnprintf(buf,acnt,"big lock %s; ctl lock %s", (dbg.big_lock_held ? "held" : "free"), (dbg.ctl_lock_held ? "held" : "free")); bcnt += ccnt; acnt -= ccnt; buf += ccnt; if (dbg.ctl_lock_held) { ccnt = scnprintf(buf,acnt,"; cmd_state=%d cmd_code=%d" " cmd_wlen=%d cmd_rlen=%d" " wpend=%d rpend=%d tmout=%d rstatus=%d" " wstatus=%d", dbg.cmd_debug_state,dbg.cmd_code, dbg.cmd_debug_write_len, dbg.cmd_debug_read_len, dbg.cmd_debug_write_pend, dbg.cmd_debug_read_pend, dbg.cmd_debug_timeout, dbg.cmd_debug_rstatus, dbg.cmd_debug_wstatus); bcnt += ccnt; acnt -= ccnt; buf += ccnt; } ccnt = scnprintf(buf,acnt,"\n"); bcnt += ccnt; acnt -= ccnt; buf += ccnt; ccnt = scnprintf( buf,acnt,"driver flags: %s %s %s\n", (dbg.flag_init_ok ? "initialized" : "uninitialized"), (dbg.flag_ok ? "ok" : "fail"), (dbg.flag_disconnected ? "disconnected" : "connected")); bcnt += ccnt; acnt -= ccnt; buf += ccnt; ccnt = scnprintf(buf,acnt,"Subsystems enabled / configured: "); bcnt += ccnt; acnt -= ccnt; buf += ccnt; ccnt = debugifc_print_mask(buf,acnt,dbg.subsys_flags,dbg.subsys_flags); bcnt += ccnt; acnt -= ccnt; buf += ccnt; ccnt = scnprintf(buf,acnt,"\n"); bcnt += ccnt; acnt -= ccnt; buf += ccnt; ccnt = scnprintf(buf,acnt,"Subsystems disabled / unconfigured: "); bcnt += ccnt; acnt -= ccnt; buf += ccnt; ccnt = debugifc_print_mask(buf,acnt,~dbg.subsys_flags,dbg.subsys_flags); bcnt += ccnt; acnt -= ccnt; buf += ccnt; ccnt = scnprintf(buf,acnt,"\n"); bcnt += ccnt; acnt -= ccnt; buf += ccnt; ccnt = scnprintf(buf,acnt,"Attached I2C modules:\n"); bcnt += ccnt; acnt -= ccnt; buf += ccnt; ccnt = pvr2_i2c_report(hdw,buf,acnt); bcnt += ccnt; acnt -= ccnt; buf += ccnt; return bcnt; }
int pvr2_debugifc_print_info(struct pvr2_hdw *hdw,char *buf,unsigned int acnt) { int bcnt = 0; int ccnt; ccnt = scnprintf(buf,acnt,"Driver state info:\n"); bcnt += ccnt; acnt -= ccnt; buf += ccnt; ccnt = pvr2_hdw_state_report(hdw,buf,acnt); bcnt += ccnt; acnt -= ccnt; buf += ccnt; ccnt = scnprintf(buf,acnt,"Attached I2C modules:\n"); bcnt += ccnt; acnt -= ccnt; buf += ccnt; ccnt = pvr2_i2c_report(hdw,buf,acnt); bcnt += ccnt; acnt -= ccnt; buf += ccnt; return bcnt; }