Browse Source

Share the error string between all functionality checks.

git-svn-id: http://lm-sensors.org/svn/i2c-tools/trunk@5241 7894878c-1315-0410-8ee3-d5d059ff63e0
tags/v3.0.2
Jean Delvare 17 years ago
parent
commit
fc38f35ce4
  1. 2
      tools/i2cbusses.h
  2. 15
      tools/i2cdump.c
  3. 12
      tools/i2cget.c
  4. 9
      tools/i2cset.c

2
tools/i2cbusses.h

@ -37,4 +37,6 @@ int parse_i2c_address(const char *address_arg);
int open_i2c_dev(const int i2cbus, char *filename, const int quiet);
int set_slave_addr(int file, int address, int force);
#define MISSING_FUNC_FMT "Error: Adapter does not have %s capability\n"
#endif

15
tools/i2cdump.c

@ -60,40 +60,35 @@ static int check_funcs(int file, int size, int pec)
switch(size) {
case I2C_SMBUS_BYTE:
if (!((funcs & I2C_FUNC_SMBUS_BYTE) == I2C_FUNC_SMBUS_BYTE)) {
fprintf(stderr, "Error: Adapter does "
"not have byte capability\n");
fprintf(stderr, MISSING_FUNC_FMT, "byte");
return -1;
}
break;
case I2C_SMBUS_BYTE_DATA:
if (!(funcs & I2C_FUNC_SMBUS_READ_BYTE_DATA)) {
fprintf(stderr, "Error: Adapter does "
"not have byte read capability\n");
fprintf(stderr, MISSING_FUNC_FMT, "byte read");
return -1;
}
break;
case I2C_SMBUS_WORD_DATA:
if (!(funcs & I2C_FUNC_SMBUS_READ_WORD_DATA)) {
fprintf(stderr, "Error: Adapter does "
"not have word read capability\n");
fprintf(stderr, MISSING_FUNC_FMT, "word read");
return -1;
}
break;
case I2C_SMBUS_BLOCK_DATA:
if (!(funcs & I2C_FUNC_SMBUS_READ_BLOCK_DATA)) {
fprintf(stderr, "Error: Adapter does "
"not have smbus block read capability\n");
fprintf(stderr, MISSING_FUNC_FMT, "smbus block read");
return -1;
}
break;
case I2C_SMBUS_I2C_BLOCK_DATA:
if (!(funcs & I2C_FUNC_SMBUS_READ_I2C_BLOCK)) {
fprintf(stderr, "Error: Adapter does "
"not have i2c block read capability\n");
fprintf(stderr, MISSING_FUNC_FMT, "i2c block read");
return -1;
}
break;

12
tools/i2cget.c

@ -63,30 +63,26 @@ static int check_funcs(int file, int size, int daddress, int pec)
switch (size) {
case I2C_SMBUS_BYTE:
if (!(funcs & I2C_FUNC_SMBUS_READ_BYTE)) {
fprintf(stderr, "Error: Adapter does "
"not have read byte capability\n");
fprintf(stderr, MISSING_FUNC_FMT, "read byte");
return -1;
}
if (daddress >= 0
&& !(funcs & I2C_FUNC_SMBUS_WRITE_BYTE)) {
fprintf(stderr, "Error: Adapter does "
"not have write byte capability\n");
fprintf(stderr, MISSING_FUNC_FMT, "write byte");
return -1;
}
break;
case I2C_SMBUS_BYTE_DATA:
if (!(funcs & I2C_FUNC_SMBUS_READ_BYTE_DATA)) {
fprintf(stderr, "Error: Adapter does "
"not have read byte data capability\n");
fprintf(stderr, MISSING_FUNC_FMT, "read byte");
return -1;
}
break;
case I2C_SMBUS_WORD_DATA:
if (!(funcs & I2C_FUNC_SMBUS_READ_WORD_DATA)) {
fprintf(stderr, "Error: Adapter does "
"not have read word data capability\n");
fprintf(stderr, MISSING_FUNC_FMT, "read word");
return -1;
}
break;

9
tools/i2cset.c

@ -59,24 +59,21 @@ static int check_funcs(int file, int size, int pec)
switch (size) {
case I2C_SMBUS_BYTE:
if (!(funcs & I2C_FUNC_SMBUS_WRITE_BYTE)) {
fprintf(stderr, "Error: Adapter does "
"not have byte send capability\n");
fprintf(stderr, MISSING_FUNC_FMT, "byte send");
return -1;
}
break;
case I2C_SMBUS_BYTE_DATA:
if (!(funcs & I2C_FUNC_SMBUS_WRITE_BYTE_DATA)) {
fprintf(stderr, "Error: Adapter does "
"not have byte write capability\n");
fprintf(stderr, MISSING_FUNC_FMT, "byte write");
return -1;
}
break;
case I2C_SMBUS_WORD_DATA:
if (!(funcs & I2C_FUNC_SMBUS_WRITE_WORD_DATA)) {
fprintf(stderr, "Error: Adapter does "
"not have word write capability\n");
fprintf(stderr, MISSING_FUNC_FMT, "word write");
return -1;
}
break;

Loading…
Cancel
Save