Diff for /src/sys/dev/serial/rp/rp.c between versions 1.10 and 1.11

version 1.10, 2004/05/13 23:49:20 version 1.11, 2004/05/19 22:52:49
Line 813  rp_attachcommon(CONTROLLER_T *ctlp, int Line 813  rp_attachcommon(CONTROLLER_T *ctlp, int
         int     retval;          int     retval;
         struct  rp_port *rp;          struct  rp_port *rp;
         struct  tty     *tty;          struct  tty     *tty;
         dev_t   *dev_nodes;  
   
         unit = device_get_unit(ctlp->dev);          unit = device_get_unit(ctlp->dev);
   
Line 847  rp_attachcommon(CONTROLLER_T *ctlp, int Line 846  rp_attachcommon(CONTROLLER_T *ctlp, int
         rp_addr(unit) = rp;          rp_addr(unit) = rp;
         splx(oldspl);          splx(oldspl);
   
         dev_nodes = ctlp->dev_nodes = malloc(sizeof(*(ctlp->dev_nodes)) * rp_num_ports[unit] * 6, M_DEVBUF, M_NOWAIT | M_ZERO);          cdevsw_add(&rp_cdevsw, 0xffff0000, (unit + 1) << 16);
         if(ctlp->dev_nodes == NULL) {  
                 device_printf(ctlp->dev, "rp_attachcommon: Could not malloc device node structures.\n");  
                 retval = ENOMEM;  
                 goto nogo;  
         }  
   
         for (i = 0 ; i < rp_num_ports[unit] ; i++) {          for (i = 0 ; i < rp_num_ports[unit] ; i++) {
                 *(dev_nodes++) = make_dev(&rp_cdevsw, ((unit + 1) << 16) | i,                  make_dev(&rp_cdevsw, ((unit + 1) << 16) | i,
                                           UID_ROOT, GID_WHEEL, 0666, "ttyR%c",                            UID_ROOT, GID_WHEEL, 0666, "ttyR%c",
                                           i <= 9 ? '0' + i : 'a' + i - 10);                            i <= 9 ? '0' + i : 'a' + i - 10);
                 *(dev_nodes++) = make_dev(&rp_cdevsw, ((unit + 1) << 16) | i | 0x20,                  make_dev(&rp_cdevsw, ((unit + 1) << 16) | i | 0x20,
                                           UID_ROOT, GID_WHEEL, 0666, "ttyiR%c",                            UID_ROOT, GID_WHEEL, 0666, "ttyiR%c",
                                           i <= 9 ? '0' + i : 'a' + i - 10);                            i <= 9 ? '0' + i : 'a' + i - 10);
                 *(dev_nodes++) = make_dev(&rp_cdevsw, ((unit + 1) << 16) | i | 0x40,                  make_dev(&rp_cdevsw, ((unit + 1) << 16) | i | 0x40,
                                           UID_ROOT, GID_WHEEL, 0666, "ttylR%c",                            UID_ROOT, GID_WHEEL, 0666, "ttylR%c",
                                           i <= 9 ? '0' + i : 'a' + i - 10);                            i <= 9 ? '0' + i : 'a' + i - 10);
                 *(dev_nodes++) = make_dev(&rp_cdevsw, ((unit + 1) << 16) | i | 0x80,                  make_dev(&rp_cdevsw, ((unit + 1) << 16) | i | 0x80,
                                           UID_ROOT, GID_WHEEL, 0666, "cuaR%c",                            UID_ROOT, GID_WHEEL, 0666, "cuaR%c",
                                           i <= 9 ? '0' + i : 'a' + i - 10);                            i <= 9 ? '0' + i : 'a' + i - 10);
                 *(dev_nodes++) = make_dev(&rp_cdevsw, ((unit + 1) << 16) | i | 0xa0,                  make_dev(&rp_cdevsw, ((unit + 1) << 16) | i | 0xa0,
                                           UID_ROOT, GID_WHEEL, 0666, "cuaiR%c",                            UID_ROOT, GID_WHEEL, 0666, "cuaiR%c",
                                           i <= 9 ? '0' + i : 'a' + i - 10);                            i <= 9 ? '0' + i : 'a' + i - 10);
                 *(dev_nodes++) = make_dev(&rp_cdevsw, ((unit + 1) << 16) | i | 0xc0,                  make_dev(&rp_cdevsw, ((unit + 1) << 16) | i | 0xc0,
                                           UID_ROOT, GID_WHEEL, 0666, "cualR%c",                            UID_ROOT, GID_WHEEL, 0666, "cualR%c",
                                           i <= 9 ? '0' + i : 'a' + i - 10);                            i <= 9 ? '0' + i : 'a' + i - 10);
         }          }
   
         port = 0;          port = 0;
Line 950  rp_releaseresource(CONTROLLER_t *ctlp) Line 943  rp_releaseresource(CONTROLLER_t *ctlp)
                 free(ctlp->tty, M_DEVBUF);                  free(ctlp->tty, M_DEVBUF);
                 ctlp->tty = NULL;                  ctlp->tty = NULL;
         }          }
         if (ctlp->dev != NULL) {          if (ctlp->dev != NULL)
                 for (i = 0 ; i < rp_num_ports[unit] * 6 ; i++)  
                         destroy_dev(ctlp->dev_nodes[i]);  
                 free(ctlp->dev_nodes, M_DEVBUF);  
                 ctlp->dev = NULL;                  ctlp->dev = NULL;
         }          cdevsw_remove(&rp_cdevsw, 0xffff0000, (unit + 1) << 16);
 }  }
   
 int  int

Removed from v.1.10  
changed lines
  Added in v.1.11