Changeset 2675
- Timestamp:
- 08/28/04 22:42:49 (9 years ago)
- Location:
- lm-sensors/trunk/prog
- Files:
-
- 4 modified
-
detect/i2cdetect.c (modified) (4 diffs)
-
dump/i2cbusses.c (modified) (2 diffs)
-
dump/i2cdump.c (modified) (4 diffs)
-
dump/i2cset.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lm-sensors/trunk/prog/detect/i2cdetect.c
r2501 r2675 26 26 #include <stdlib.h> 27 27 #include <unistd.h> 28 #include <fcntl.h>28 #include "../dump/i2cbusses.h" 29 29 #include "i2c-dev.h" 30 30 #include "version.h" … … 33 33 #define MODE_QUICK 1 34 34 #define MODE_READ 2 35 36 void print_i2c_busses(int);37 35 38 36 void help(void) … … 48 46 49 47 print_i2c_busses(0); 50 }51 52 int open_i2c_dev(const int i2cbus, char *filename)53 {54 int file;55 56 sprintf(filename, "/dev/i2c-%d", i2cbus);57 file = open(filename, O_RDWR);58 59 if (file >= 0 || errno != ENOENT) {60 return file;61 }62 63 sprintf(filename, "/dev/i2c/%d", i2cbus);64 file = open(filename, O_RDWR);65 66 return file;67 48 } 68 49 … … 232 213 file = open_i2c_dev(i2cbus, filename); 233 214 if (file < 0) { 234 if (errno == ENOENT) {235 fprintf(stderr, "Error: Could not open file `/dev/i2c-%d' or `/dev/i2c/%d': %s\n",236 i2cbus, i2cbus, strerror(ENOENT));237 } else {238 fprintf(stderr, "Error: Could not open file `%s': %s\n",239 filename, strerror(errno));240 if (errno == EACCES)241 fprintf(stderr, "Run as root?\n");242 }243 215 exit(1); 244 216 } -
lm-sensors/trunk/prog/dump/i2cbusses.c
r2341 r2675 21 21 */ 22 22 23 #include <sys/types.h> 24 #include <sys/stat.h> 23 25 #include <string.h> 24 26 #include <stdio.h> 25 27 #include <limits.h> 26 28 #include <dirent.h> 29 #include <fcntl.h> 30 #include <errno.h> 31 #include "i2cbusses.h" 27 32 28 33 /* … … 164 169 "and also modprobed your i2c bus drivers\n"); 165 170 } 171 172 int open_i2c_dev(const int i2cbus, char *filename) 173 { 174 int file; 175 176 sprintf(filename, "/dev/i2c/%d", i2cbus); 177 file = open(filename, O_RDWR); 178 179 if (file < 0 && errno == ENOENT) { 180 sprintf(filename, "/dev/i2c-%d", i2cbus); 181 file = open(filename, O_RDWR); 182 } 183 184 if (file < 0) { 185 if (errno == ENOENT) { 186 fprintf(stderr, "Error: Could not open file " 187 "`/dev/i2c-%d' or `/dev/i2c/%d': %s\n", 188 i2cbus, i2cbus, strerror(ENOENT)); 189 } else { 190 fprintf(stderr, "Error: Could not open file " 191 "`%s': %s\n", filename, strerror(errno)); 192 if (errno == EACCES) 193 fprintf(stderr, "Run as root?\n"); 194 } 195 } 196 197 return file; 198 } -
lm-sensors/trunk/prog/dump/i2cdump.c
r2673 r2675 25 25 #include <stdlib.h> 26 26 #include <unistd.h> 27 #include <fcntl.h>27 #include "i2cbusses.h" 28 28 #include "i2c-dev.h" 29 29 #include "version.h" … … 43 43 #define HAVE_PEC 1 44 44 #endif 45 46 void print_i2c_busses(int);47 45 48 46 void help(void) … … 65 63 char *end; 66 64 int i, j, res, res2, i2cbus, address, size, file; 67 int e1, e2;68 65 int bank = 0, bankreg = 0x4E; 69 char filename1[20]; 70 char filename2[20]; 71 char *filename; 66 char filename[20]; 72 67 long funcs; 73 68 unsigned char cblock[256]; … … 175 170 } 176 171 177 /* 178 * Try both variants and give the correct error message 179 * upon failure 180 */ 181 182 sprintf(filename1, "/dev/i2c-%d", i2cbus); 183 sprintf(filename2, "/dev/i2c/%d", i2cbus); 184 if ((file = open(filename1, O_RDWR)) < 0) { 185 e1 = errno; 186 if ((file = open(filename2, O_RDWR)) < 0) { 187 e2 = errno; 188 if (e1 == ENOENT && e2 == ENOENT) { 189 fprintf(stderr, "Error: Could not open file " 190 "`%s' or `%s': %s\n", filename1, 191 filename2, strerror(ENOENT)); 192 } 193 if (e1 != ENOENT) { 194 fprintf(stderr, "Error: Could not open file " 195 "`%s': %s\n", filename1, 196 strerror(e1)); 197 if (e1 == EACCES) 198 fprintf(stderr, "Run as root?\n"); 199 } 200 if (e2 != ENOENT) { 201 fprintf(stderr, "Error: Could not open file " 202 "`%s' : %s\n", filename2, 203 strerror(e2)); 204 if (e2 == EACCES) 205 fprintf(stderr, "Run as root?\n"); 206 } 207 exit(1); 208 } else { 209 filename = filename2; 210 } 211 } else { 212 filename = filename1; 172 file = open_i2c_dev(i2cbus, filename); 173 if (file < 0) { 174 exit(1); 213 175 } 214 176 -
lm-sensors/trunk/prog/dump/i2cset.c
r2673 r2675 25 25 #include <stdlib.h> 26 26 #include <unistd.h> 27 #include <fcntl.h>27 #include "i2cbusses.h" 28 28 #include "i2c-dev.h" 29 29 #include "version.h" 30 30 31 void print_i2c_busses(int);32 31 void help(void) __attribute__ ((noreturn)); 33 32 … … 47 46 int res, i2cbus, address, size, file; 48 47 int value, daddress; 49 int e1, e2; 50 char filename1[20]; 51 char filename2[20]; 52 char *filename; 48 int e1; 49 char filename[20]; 53 50 long funcs; 54 51 … … 104 101 } 105 102 106 /* 107 * Try both variants and give the correct error message 108 * upon failure 109 */ 110 111 sprintf(filename1, "/dev/i2c-%d", i2cbus); 112 sprintf(filename2, "/dev/i2c/%d", i2cbus); 113 if ((file = open(filename1, O_RDWR)) < 0) { 114 e1 = errno; 115 if ((file = open(filename2, O_RDWR)) < 0) { 116 e2 = errno; 117 if (e1 == ENOENT && e2 == ENOENT) { 118 fprintf(stderr, "Error: Could not open file " 119 "`%s' or `%s': %s\n", filename1, 120 filename2, strerror(ENOENT)); 121 } 122 if (e1 != ENOENT) { 123 fprintf(stderr, "Error: Could not open file " 124 ":`%s': %s\n", filename1, 125 strerror(e1)); 126 if (e1 == EACCES) 127 fprintf(stderr, "Run as root?\n"); 128 } 129 if (e2 != ENOENT) { 130 fprintf(stderr, "Error: Could not open file " 131 "`%s' : %s\n", filename2, 132 strerror(e2)); 133 if (e2 == EACCES) 134 fprintf(stderr, "Run as root?\n"); 135 } 136 exit(1); 137 } else { 138 filename = filename2; 139 } 140 } else { 141 filename = filename1; 103 file = open_i2c_dev(i2cbus, filename); 104 if (file < 0) { 105 exit(1); 142 106 } 143 107
