352 int nregs;
353 };
354
355 #ifdef BSCBUS_LOGSTATUS
356 void bscbus_cmd_log(struct bscbus_channel_state *, bsc_cmd_stamp_t,
357 uint8_t, uint8_t);
358 #else /* BSCBUS_LOGSTATUS */
359 #define bscbus_cmd_log(state, stamp, status, data)
360 #endif /* BSCBUS_LOGSTATUS */
361
362
363 /*
364 * Local data
365 */
366
367 static void *bscbus_statep;
368
369 static major_t bscbus_major = NOMAJOR;
370
371 static ddi_device_acc_attr_t bscbus_dev_acc_attr[1] = {
372 DDI_DEVICE_ATTR_V0,
373 DDI_STRUCTURE_LE_ACC,
374 DDI_STRICTORDER_ACC
375 };
376
377
378 /*
379 * General utility routines ...
380 */
381
382 #ifdef DEBUG
383 static void
384 bscbus_trace(struct bscbus_channel_state *csp, char code, const char *caller,
385 const char *fmt, ...)
386 {
387 char buf[256];
388 char *p;
389 va_list va;
390
391 if (csp->ssp->debug & (1 << (code-'@'))) {
392 p = buf;
393 (void) snprintf(p, sizeof (buf) - (p - buf),
394 "%s/%s: ", MYNAME, caller);
|
352 int nregs;
353 };
354
355 #ifdef BSCBUS_LOGSTATUS
356 void bscbus_cmd_log(struct bscbus_channel_state *, bsc_cmd_stamp_t,
357 uint8_t, uint8_t);
358 #else /* BSCBUS_LOGSTATUS */
359 #define bscbus_cmd_log(state, stamp, status, data)
360 #endif /* BSCBUS_LOGSTATUS */
361
362
363 /*
364 * Local data
365 */
366
367 static void *bscbus_statep;
368
369 static major_t bscbus_major = NOMAJOR;
370
371 static ddi_device_acc_attr_t bscbus_dev_acc_attr[1] = {
372 { DDI_DEVICE_ATTR_V0,
373 DDI_STRUCTURE_LE_ACC,
374 DDI_STRICTORDER_ACC }
375 };
376
377
378 /*
379 * General utility routines ...
380 */
381
382 #ifdef DEBUG
383 static void
384 bscbus_trace(struct bscbus_channel_state *csp, char code, const char *caller,
385 const char *fmt, ...)
386 {
387 char buf[256];
388 char *p;
389 va_list va;
390
391 if (csp->ssp->debug & (1 << (code-'@'))) {
392 p = buf;
393 (void) snprintf(p, sizeof (buf) - (p - buf),
394 "%s/%s: ", MYNAME, caller);
|