* Definition of the driver for the auto-configuration program.
* There is one definition for the dh and one for the dm.
*/
* Definition of the driver for the auto-configuration program.
* There is one definition for the dh and one for the dm.
*/
-int dhcntrlr(), dhslave(), dhrint(), dhxint();
-struct uba_dinfo *dhinfo[NDH11];
+int dhprobe(), dhattach(), dhrint(), dhxint();
+struct uba_dinfo *dhinfo[NDH];
- { dhcntrlr, dhslave, 0, 0, dhstd, "dh11", dhinfo };
+ { dhprobe, 0, dhattach, 0, dhstd, "dh", dhinfo };
-int dmcntrlr(), dmslave(), dmintr();
-struct uba_dinfo *dminfo[NDH11];
+int dmprobe(), dmattach(), dmintr();
+struct uba_dinfo *dminfo[NDH];
- { dmcntrlr, dmslave, 0, 0, dmstd, "dm11", dminfo };
+ { dmprobe, 0, dmattach, 0, dmstd, "dm", dminfo };
int dhact; /* mask of active dh's */
int dhstart(), ttrstrt();
int dhact; /* mask of active dh's */
int dhstart(), ttrstrt();
caddr_t reg;
{
register int br, cvec; /* these are ``value-result'' */
register struct dhdevice *dhaddr = (struct dhdevice *)reg;
caddr_t reg;
{
register int br, cvec; /* these are ``value-result'' */
register struct dhdevice *dhaddr = (struct dhdevice *)reg;
/* 512+ is a kludge to try to get around a hardware problem */
dh_ubinfo[ui->ui_ubanum] =
uballoc(ui->ui_ubanum, (caddr_t)cfree,
/* 512+ is a kludge to try to get around a hardware problem */
dh_ubinfo[ui->ui_ubanum] =
uballoc(ui->ui_ubanum, (caddr_t)cfree,
register struct dhdevice *addr;
register struct tty *tp0;
register struct uba_dinfo *ui;
register struct dhdevice *addr;
register struct tty *tp0;
register struct uba_dinfo *ui;
short ttybit, bar, *sbar;
register struct uba_dinfo *ui;
register int unit;
short ttybit, bar, *sbar;
register struct uba_dinfo *ui;
register int unit;
addr->un.dhcsr |= DH_CNI;
printf("dh%d NXM\n", dh);
}
addr->un.dhcsr |= DH_CNI;
printf("dh%d NXM\n", dh);
}
if (nch) {
car = UBACVT(tp->t_outq.c_cf, dhinfo[dh]->ui_ubanum);
addr->un.dhcsrl = unit|((car>>12)&0x30)|DH_IE;
if (nch) {
car = UBACVT(tp->t_outq.c_cf, dhinfo[dh]->ui_ubanum);
addr->un.dhcsrl = unit|((car>>12)&0x30)|DH_IE;
printf(" dh");
ubarelse(uban, &dh_ubinfo[uban]);
dh_ubinfo[uban] = uballoc(uban, (caddr_t)cfree,
printf(" dh");
ubarelse(uban, &dh_ubinfo[uban]);
dh_ubinfo[uban] = uballoc(uban, (caddr_t)cfree,
ui = dhinfo[dh];
if (ui == 0 || ui->ui_alive == 0 || ui->ui_ubanum != uban)
continue;
((struct dhdevice *)ui->ui_addr)->un.dhcsr |= DH_IE;
ui = dhinfo[dh];
if (ui == 0 || ui->ui_alive == 0 || ui->ui_ubanum != uban)
continue;
((struct dhdevice *)ui->ui_addr)->un.dhcsr |= DH_IE;