Author: ed
Date: Mon Apr 20 10:40:42 2009
New Revision: 191304
URL: http://svn.freebsd.org/changeset/base/191304

Log:
  Get rid of the device index number stored in the sa(4) unit number.
  
  The device index number stored in the unit number of sa(4) devices is
  only used to print debug messages. Get rid of this index number and use
  devtoname() to just print the entire device name.

Modified:
  head/sys/cam/scsi/scsi_sa.c

Modified: head/sys/cam/scsi/scsi_sa.c
==============================================================================
--- head/sys/cam/scsi/scsi_sa.c Mon Apr 20 10:35:50 2009        (r191303)
+++ head/sys/cam/scsi/scsi_sa.c Mon Apr 20 10:40:42 2009        (r191304)
@@ -173,13 +173,9 @@ typedef enum {
        SA_QUIRK_NO_CPAGE       = 0x80  /* Don't use DEVICE COMPRESSION page */
 } sa_quirks;
 
-/* units are bits 4-7, 16-21 (1024 units) */
-#define SAUNIT(DEV) \
-       (((dev2unit(DEV) & 0xF0) >> 4) |  ((dev2unit(DEV) & 0x3f0000) >> 16))
-
-#define SAMODE(z) ((dev2unit(z) & 0x3))
-#define SADENSITY(z) (((dev2unit(z) >> 2) & 0x3))
-#define        SA_IS_CTRL(z) (dev2unit(z) & (1 << 29))
+#define        SAMODE(z)       (dev2unit(z) & 0x3)
+#define        SADENSITY(z)    ((dev2unit(z) >> 2) & 0x3)
+#define        SA_IS_CTRL(z)   (dev2unit(z) & (1 << 4))
 
 #define SA_NOT_CTLDEV  0
 #define SA_CTLDEV      1
@@ -188,9 +184,8 @@ typedef enum {
 #define SA_ATYPE_NR    1
 #define SA_ATYPE_ER    2
 
-#define SAMINOR(ctl, unit, mode, access) \
-       ((ctl << 29) | ((unit & 0x3f0) << 16) | ((unit & 0xf) << 4) | \
-       (mode << 0x2) | (access & 0x3))
+#define        SAMINOR(ctl, mode, access) \
+       ((ctl << 4) | (mode << 2) | (access & 0x3))
 
 #define SA_NUM_MODES   4
 struct sa_devs {
@@ -445,11 +440,8 @@ saopen(struct cdev *dev, int flags, int 
 {
        struct cam_periph *periph;
        struct sa_softc *softc;
-       int unit;
        int error;
 
-       unit = SAUNIT(dev);
-
        periph = (struct cam_periph *)dev->si_drv1;
        if (cam_periph_acquire(periph) != CAM_REQ_CMP) {
                return (ENXIO);
@@ -460,7 +452,7 @@ saopen(struct cdev *dev, int flags, int 
        softc = (struct sa_softc *)periph->softc;
 
        CAM_DEBUG(periph->path, CAM_DEBUG_TRACE|CAM_DEBUG_INFO,
-           ("saopen(%d): dev=0x%x softc=0x%x\n", unit, unit, softc->flags));
+           ("saopen(%s): softc=0x%x\n", devtoname(dev), softc->flags));
 
        if (SA_IS_CTRL(dev)) {
                softc->ctrl_mode = 1;
@@ -521,10 +513,9 @@ saclose(struct cdev *dev, int flag, int 
 {
        struct  cam_periph *periph;
        struct  sa_softc *softc;
-       int     unit, mode, error, writing, tmp;
+       int     mode, error, writing, tmp;
        int     closedbits = SA_FLAG_OPEN;
 
-       unit = SAUNIT(dev);
        mode = SAMODE(dev);
        periph = (struct cam_periph *)dev->si_drv1;
        if (periph == NULL)
@@ -535,7 +526,7 @@ saclose(struct cdev *dev, int flag, int 
        softc = (struct sa_softc *)periph->softc;
 
        CAM_DEBUG(periph->path, CAM_DEBUG_TRACE|CAM_DEBUG_INFO,
-           ("saclose(%d): dev=0x%x softc=0x%x\n", unit, unit, softc->flags));
+           ("saclose(%s): softc=0x%x\n", devtoname(dev), softc->flags));
 
 
        softc->open_rdonly = 0; 
@@ -1496,26 +1487,26 @@ saregister(struct cam_periph *periph, vo
            DEVSTAT_TYPE_IF_SCSI, DEVSTAT_PRIORITY_TAPE);
 
        softc->devs.ctl_dev = make_dev(&sa_cdevsw, SAMINOR(SA_CTLDEV,
-           periph->unit_number, 0, SA_ATYPE_R), UID_ROOT, GID_OPERATOR,
+           0, SA_ATYPE_R), UID_ROOT, GID_OPERATOR,
            0660, "%s%d.ctl", periph->periph_name, periph->unit_number);
        softc->devs.ctl_dev->si_drv1 = periph;
 
        for (i = 0; i < SA_NUM_MODES; i++) {
 
                softc->devs.mode_devs[i].r_dev = make_dev(&sa_cdevsw,
-                   SAMINOR(SA_NOT_CTLDEV, periph->unit_number, i, SA_ATYPE_R),
+                   SAMINOR(SA_NOT_CTLDEV, i, SA_ATYPE_R),
                    UID_ROOT, GID_OPERATOR, 0660, "%s%d.%d",
                    periph->periph_name, periph->unit_number, i);
                softc->devs.mode_devs[i].r_dev->si_drv1 = periph;
 
                softc->devs.mode_devs[i].nr_dev = make_dev(&sa_cdevsw,
-                   SAMINOR(SA_NOT_CTLDEV, periph->unit_number, i, SA_ATYPE_NR),
+                   SAMINOR(SA_NOT_CTLDEV, i, SA_ATYPE_NR),
                    UID_ROOT, GID_OPERATOR, 0660, "n%s%d.%d",
                    periph->periph_name, periph->unit_number, i);
                softc->devs.mode_devs[i].nr_dev->si_drv1 = periph;
 
                softc->devs.mode_devs[i].er_dev = make_dev(&sa_cdevsw,
-                   SAMINOR(SA_NOT_CTLDEV, periph->unit_number, i, SA_ATYPE_ER),
+                   SAMINOR(SA_NOT_CTLDEV, i, SA_ATYPE_ER),
                    UID_ROOT, GID_OPERATOR, 0660, "e%s%d.%d",
                    periph->periph_name, periph->unit_number, i);
                softc->devs.mode_devs[i].er_dev->si_drv1 = periph;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to