svn commit: r310065 - stable/11/sys/dev/smbus

Andriy Gapon avg at FreeBSD.org
Wed Dec 14 16:05:49 UTC 2016


Author: avg
Date: Wed Dec 14 16:05:48 2016
New Revision: 310065
URL: https://svnweb.freebsd.org/changeset/base/310065

Log:
  MFC r308527: smb: fix SMB_READB, SMB_READW, SMB_PCALL to work as documented

Modified:
  stable/11/sys/dev/smbus/smb.c
  stable/11/sys/dev/smbus/smb.h
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/dev/smbus/smb.c
==============================================================================
--- stable/11/sys/dev/smbus/smb.c	Wed Dec 14 16:04:04 2016	(r310064)
+++ stable/11/sys/dev/smbus/smb.c	Wed Dec 14 16:05:48 2016	(r310065)
@@ -41,7 +41,9 @@
 
 #include "smbus_if.h"
 
-#define BUFSIZE 1024
+#define SMB_OLD_READB	_IOW('i', 7, struct smbcmd)
+#define SMB_OLD_READW	_IOW('i', 8, struct smbcmd)
+#define SMB_OLD_PCALL	_IOW('i', 9, struct smbcmd)
 
 struct smb_softc {
 	device_t sc_dev;
@@ -224,7 +226,9 @@ smbioctl(struct cdev *dev, u_long cmd, c
 						s->cmd, s->wdata.word));
 		break;
 
+	case SMB_OLD_READB:
 	case SMB_READB:
+		/* NB: for SMB_OLD_READB the read data goes to rbuf only. */
 		error = smbus_error(smbus_readb(parent, s->slave, s->cmd,
 		    &s->rdata.byte));
 		if (error)
@@ -235,7 +239,9 @@ smbioctl(struct cdev *dev, u_long cmd, c
 		}
 		break;
 
+	case SMB_OLD_READW:
 	case SMB_READW:
+		/* NB: for SMB_OLD_READW the read data goes to rbuf only. */
 		error = smbus_error(smbus_readw(parent, s->slave, s->cmd,
 		    &s->rdata.word));
 		if (error)
@@ -248,7 +254,9 @@ smbioctl(struct cdev *dev, u_long cmd, c
 		}
 		break;
 
+	case SMB_OLD_PCALL:
 	case SMB_PCALL:
+		/* NB: for SMB_OLD_PCALL the read data goes to rbuf only. */
 		error = smbus_error(smbus_pcall(parent, s->slave, s->cmd,
 		    s->wdata.word, &s->rdata.word));
 		if (error)

Modified: stable/11/sys/dev/smbus/smb.h
==============================================================================
--- stable/11/sys/dev/smbus/smb.h	Wed Dec 14 16:04:04 2016	(r310064)
+++ stable/11/sys/dev/smbus/smb.h	Wed Dec 14 16:05:48 2016	(r310065)
@@ -66,11 +66,10 @@ struct smbcmd {
 #define SMB_RECVB	_IOWR('i', 4, struct smbcmd)
 #define SMB_WRITEB	_IOW('i', 5, struct smbcmd)
 #define SMB_WRITEW	_IOW('i', 6, struct smbcmd)
-#define SMB_READB	_IOW('i', 7, struct smbcmd)
-#define SMB_READW	_IOW('i', 8, struct smbcmd)
-#define SMB_PCALL	_IOW('i', 9, struct smbcmd)
+#define SMB_READB	_IOWR('i', 7, struct smbcmd)
+#define SMB_READW	_IOWR('i', 8, struct smbcmd)
+#define SMB_PCALL	_IOWR('i', 9, struct smbcmd)
 #define SMB_BWRITE	_IOW('i', 10, struct smbcmd)
-#define SMB_OLD_BREAD	_IOW('i', 11, struct smbcmd)
 #define SMB_BREAD	_IOWR('i', 11, struct smbcmd)
 #define SMB_TRANS	_IOWR('i', 12, struct smbcmd)
 


More information about the svn-src-stable-11 mailing list