svn commit: r191304 - head/sys/cam/scsi

Ed Schouten ed at FreeBSD.org
Mon Apr 20 10:40:43 UTC 2009


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;


More information about the svn-src-all mailing list