diff options
author | joerg <joerg@FreeBSD.org> | 2004-05-16 21:18:45 +0000 |
---|---|---|
committer | joerg <joerg@FreeBSD.org> | 2004-05-16 21:18:45 +0000 |
commit | b2733ff0de44a8bcc65ae3f60b4f20c8e1c0229f (patch) | |
tree | 77609790693fa3195935ee0f4fa2a5918be33464 /sys/dev/smbus/smb.h | |
parent | 70bc2f6a820c79a6d64db18ea981c09ffa98f005 (diff) | |
download | FreeBSD-src-b2733ff0de44a8bcc65ae3f60b4f20c8e1c0229f.zip FreeBSD-src-b2733ff0de44a8bcc65ae3f60b4f20c8e1c0229f.tar.gz |
You wouldn't believe a driver could survive doing userland IO without
properly using copyin/copyout for more than 5 years? This one did. :-)
Properly encapsulate all user<->kernel data transfers using copy{in,out}.
MFC after: 1 month
Diffstat (limited to 'sys/dev/smbus/smb.h')
-rw-r--r-- | sys/dev/smbus/smb.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/smbus/smb.h b/sys/dev/smbus/smb.h index 7ed0a82..387515f 100644 --- a/sys/dev/smbus/smb.h +++ b/sys/dev/smbus/smb.h @@ -49,10 +49,15 @@ struct smbcmd { } data; }; +/* + * SMBus spec 2.0 says block transfers may be at most 32 bytes. + */ +#define SMB_MAXBLOCKSIZE 32 + #define SMB_QUICK_WRITE _IOW('i', 1, struct smbcmd) #define SMB_QUICK_READ _IOW('i', 2, struct smbcmd) #define SMB_SENDB _IOW('i', 3, struct smbcmd) -#define SMB_RECVB _IOW('i', 4, 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) |