sensors: Drop ddcmon and eeprom support. This had been announced some time

ago already. These are not sensors, they don't belong there.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@4352 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
Jean Delvare committed 2007-03-25 15:19:09 +00:00
1 parent cbdca6d91a
commit 2f1bfd2e6b
4 files changed
+1 -415

No files matched your search

+1
View File
@@ -3,6 +3,7 @@ lm_sensors CHANGES file
SVN HEAD
Program isadump: Detect when address bit 7 is a busy flag
Program sensors: Drop ddcmon and eeprom support
2.10.3 (20070319)
-411
View File
@@ -3216,417 +3216,6 @@ void print_maxilife(const sensors_chip_name *name)
free(label);
}
void print_ddcmon(const sensors_chip_name *name)
{
char *label;
double a, b, c;
int valid, i;
if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_MAN_ID, &label, &valid)
&& !sensors_get_feature(*name, SENSORS_DDCMON_MAN_ID, &a)) {
if (valid) {
i = (int) a;
print_label(label, 24);
printf("%c%c%c\n",
((i >> 10) & 0x1f) + 'A' - 1, ((i >> 5) & 0x1f) + 'A' - 1,
(i & 0x1f) + 'A' - 1);
}
} else
printf("ERROR: data 1\n");
free(label);
if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_PROD_ID, &label, &valid)
&& !sensors_get_feature(*name, SENSORS_DDCMON_PROD_ID, &a)) {
if (valid) {
i = (int) a;
print_label(label, 24);
printf("0x%04X\n", i);
}
} else
printf("ERROR: data 2\n");
free(label);
if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_SERIAL, &label,&valid) &&
!sensors_get_feature(*name, SENSORS_DDCMON_SERIAL, &a)) {
if (valid) {
print_label(label, 24);
printf("%d\n", (int) a);
}
} else
printf("ERROR: data 3\n");
free(label);
if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_YEAR, &label, &valid)
&& !sensors_get_feature(*name, SENSORS_DDCMON_YEAR, &a)
&& !sensors_get_feature(*name, SENSORS_DDCMON_WEEK, &b)) {
if (valid) {
print_label(label, 24);
printf("%d-W%d\n", (int) a, (int) b);
}
} else
printf("ERROR: data 4\n");
free(label);
if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_EDID_VER, &label, &valid)
&& !sensors_get_feature(*name, SENSORS_DDCMON_EDID_VER, &a)
&& !sensors_get_feature(*name, SENSORS_DDCMON_EDID_REV, &b)) {
if (valid) {
print_label(label, 24);
printf("%d.%d\n", (int) a, (int) b);
}
} else
printf("ERROR: data 5\n");
free(label);
if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_VERSIZE, &label,&valid) &&
!sensors_get_feature(*name, SENSORS_DDCMON_VERSIZE, &a) &&
!sensors_get_feature(*name, SENSORS_DDCMON_HORSIZE, &b)) {
if (valid) {
print_label(label, 24);
printf("%dx%d\n", (int) a, (int) b);
}
} else
printf("ERROR: data 6\n");
free(label);
if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_GAMMA, &label, &valid)
&& !sensors_get_feature(*name, SENSORS_DDCMON_GAMMA, &a)) {
if (valid) {
print_label(label, 24);
printf("%.02f\n", a);
}
} else
printf("ERROR: data 7\n");
free(label);
if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_DPMS, &label, &valid)
&& !sensors_get_feature(*name, SENSORS_DDCMON_DPMS, &a)) {
if (valid) {
i = (int) a;
print_label(label, 24);
if (i & 0xe0) {
printf("%s%s%s%s%s\n",
i & 0x20 ? "Active Off" : "",
(i & 0x40) && (i & 0x20) ? ", ": "",
i & 0x40 ? "Suspend" : "",
(i & 0x80) && (i & 0x60) ? ", ": "",
i & 0x80 ? "Standby" : "");
} else {
printf("None supported\n");
}
}
} else
printf("ERROR: data 8\n");
free(label);
if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_TIMINGS, &label,&valid) &&
!sensors_get_feature(*name, SENSORS_DDCMON_TIMINGS, &a)) {
if (valid) {
i = (int) a;
if (i & 0x03) { /* 720x400 */
print_label(label, 24);
printf("720x400 @ %s%s%s Hz\n",
i & 0x01 ? "70" : "",
(i & 0x02) && (i & 0x01) ? "/" : "",
i & 0x02 ? "88" : "");
}
if (i & 0x3c) { /* 640x480 */
print_label(label, 24);
printf("640x480 @ %s%s%s%s%s%s%s Hz\n",
i & 0x04 ? "60" : "",
(i & 0x08) && (i & 0x04) ? "/" : "",
i & 0x08 ? "67" : "",
(i & 0x10) && (i & 0x0c) ? "/" : "",
i & 0x10 ? "72" : "",
(i & 0x20) && (i & 0x1c) ? "/" : "",
i & 0x20 ? "75" : "");
}
i >>= 6;
if (i & 0x0f) { /* 800x600 */
print_label(label, 24);
printf("800x600 @ %s%s%s%s%s%s%s Hz\n",
i & 0x01 ? "56" : "",
(i & 0x02) && (i & 0x01) ? "/" : "",
i & 0x02 ? "60" : "",
(i & 0x04) && (i & 0x03) ? "/" : "",
i & 0x04 ? "72" : "",
(i & 0x08) && (i & 0x07) ? "/" : "",
i & 0x08 ? "75" : "");
}
if (i & 0x10) { /* 832x624 */
print_label(label, 24);
printf("832x624 @ 75 Hz\n");
}
i >>= 5;
if (i & 0x0f) { /* 1024x768 */
print_label(label, 24);
printf("1024x768 @ %s%s%s%s%s%s%s Hz\n",
i & 0x01 ? "87i" : "",
(i & 0x02) && (i & 0x01) ? "/" : "",
i & 0x02 ? "60" : "",
(i & 0x04) && (i & 0x03) ? "/" : "",
i & 0x04 ? "70" : "",
(i & 0x08) && (i & 0x07) ? "/" : "",
i & 0x08 ? "75" : "");
}
if (i & 0x100) { /* 1152x870 */
print_label(label, 24);
printf("1152x870 @ 75 Hz\n");
}
if (i & 0x10) { /* 1280x1024 */
print_label(label, 24);
printf("1280x1024 @ 75 Hz\n");
}
}
} else
printf("ERROR: data 9\n");
free(label);
for(i = 0; i < 8; i++) {
if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_TIMING1_HOR + i * 3, &label, &valid)
&& !sensors_get_feature(*name, SENSORS_DDCMON_TIMING1_HOR + i * 3, &a)
&& !sensors_get_feature(*name, SENSORS_DDCMON_TIMING1_VER + i * 3, &b)
&& !sensors_get_feature(*name, SENSORS_DDCMON_TIMING1_REF + i * 3, &c)) {
if (valid && ((int) a) != 0) {
print_label(label, 24);
printf("%dx%d @ %d Hz\n", (int) a, (int) b, (int) c);
}
} else
printf("ERROR: data 10-%d\n", i+1);
free(label);
}
if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_VERSYNCMIN, &label,&valid) &&
!sensors_get_feature(*name, SENSORS_DDCMON_VERSYNCMIN, &a) &&
!sensors_get_feature(*name, SENSORS_DDCMON_VERSYNCMAX, &b)) {
if (valid && ((int) a) != 0) {
print_label(label, 24);
printf("%d-%d\n", (int) a, (int) b);
}
} else
printf("ERROR: data 11\n");
free(label);
if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_HORSYNCMIN, &label,&valid) &&
!sensors_get_feature(*name, SENSORS_DDCMON_HORSYNCMIN, &a) &&
!sensors_get_feature(*name, SENSORS_DDCMON_HORSYNCMAX, &b)) {
if (valid && ((int) a) != 0) {
print_label(label, 24);
printf("%d-%d\n", (int) a, (int) b);
}
} else
printf("ERROR: data 12\n");
free(label);
if (!sensors_get_label_and_valid(*name, SENSORS_DDCMON_MAXCLOCK, &label, &valid)
&& !sensors_get_feature(*name, SENSORS_DDCMON_MAXCLOCK, &a)) {
if (valid && ((int) a) != 0) {
print_label(label, 24);
printf("%d\n", (int) a);
}
} else
printf("ERROR: data 13\n");
free(label);
printf("Note that the ddcmon driver is deprecated and will be deleted soon.\n");
printf("Please use the eeprom driver and the ddcmon and/or decode-edid.pl\n"
"scripts instead.\n");
}
/*
* (Khali, 2003-07-17) Almost entierly rewritten. Reindented for clarity,
* simplified at some places, added support for EDID EEPROMs (well,
* redirection more than support).
* (Khali, 2003-08-09) Rewrote Sony Vaio EEPROMs detection, and move it
* to the top. This should prevent such EEPROMs from being accidentally
* detected as valid memory modules.
* (Khali, 2004-02-23) Add support for Shuttle EEPROMs, which contain
* MAC ethernet addresses.
*/
void print_eeprom(const sensors_chip_name *name)
{
char *label;
double a, b, c, d;
int valid, i, type;
/* handle Sony Vaio EEPROMs first */
if (name->addr == 0x57) {
char buffer[33];
/* first make sure it is a Sony Vaio EEPROM */
if (!sensors_get_label_and_valid(*name, SENSORS_EEPROM_VAIO_NAME, &label, &valid)
&& valid) {
for (i = 0; i < 4; i++)
if (!sensors_get_feature(*name, SENSORS_EEPROM_VAIO_NAME+i, &a))
buffer[i] = (char) a;
if (strncmp(buffer, "PCG-", 4) == 0
|| strncmp(buffer, "VGN-", 4) == 0) {
/* must be a real Sony Vaio EEPROM */
memset(buffer + 4, '\0', 29);
for (a = 1; i < 32 && a != 0; i++) /* stop at first zero */
if (!sensors_get_feature(*name, SENSORS_EEPROM_VAIO_NAME+i, &a)
&& a != 0)
buffer[i] = (char) a;
print_label(label, 24);
printf("%s\n", buffer);
free(label);
memset(buffer, '\0', i);
if (!sensors_get_label_and_valid(*name, SENSORS_EEPROM_VAIO_SERIAL, &label, &valid)
&& valid) {
for (i = 0, a = 1; i < 32 && a != 0; i++) /* stop at first zero */
if (!sensors_get_feature(*name, SENSORS_EEPROM_VAIO_SERIAL+i, &a)
&& a != 0)
buffer[i] = (char) a;
print_label(label, 24);
printf("%s\n", buffer);
} else
printf("ERROR: data Vaio 3\n");
free(label);
printf("Note that eeprom support will be dropped from "
"libsensors soon.\nPlease use the decode-vaio.pl "
"script instead.\n");
return;
}
} else
printf("ERROR: data Vaio 2\n");
free(label);
}
/* then Shuttle EEPROMs */
if (name->addr == 0x53) {
unsigned char buffer[6];
/* first make sure it is a Shuttle EEPROM */
if (!sensors_get_label_and_valid(*name, SENSORS_EEPROM_SHUTTLE, &label, &valid)
&& valid) {
for (i = 0; i < 3; i++)
if (!sensors_get_feature(*name, SENSORS_EEPROM_SHUTTLE+i, &a))
buffer[i] = (unsigned char) a;
if (buffer[0] == 0x00
&& buffer[1] == 0x30
&& buffer[2] == 0x1b)
{
/* must be a real Shuttle EEPROM */
for (i = 4; i < 6; i++)
if (!sensors_get_feature(*name, SENSORS_EEPROM_SHUTTLE+i, &a))
buffer[i] = (unsigned char) a;
print_label(label, 24);
printf("%02X:%02X:%02X:%02X:%02X:%02X\n", buffer[0],
buffer[1], buffer[2], buffer[3], buffer[4], buffer[5]);
free(label);
return;
}
} else
printf("ERROR: data Shuttle\n");
free(label);
}
if (!sensors_get_label_and_valid(*name, SENSORS_EEPROM_TYPE, &label, &valid)
&& !sensors_get_feature(*name, SENSORS_EEPROM_TYPE, &a)) {
if (valid) {
type = (int) a;
switch (type) {
case 1:
print_label(label, 24);
printf("DRDRAM RIMM\n");
break;
case 2:
print_label(label, 24);
printf("EDO\n");
break;
case 4:
print_label(label, 24);
printf("SDR SDRAM DIMM\n");
break;
case 7:
print_label(label, 24);
printf("DDR SDRAM DIMM\n");
break;
case 8:
print_label(label, 24);
printf("DDR2 SDRAM DIMM\n");
break;
case 17:
print_label(label, 24);
printf("RAMBUS RIMM\n");
break;
case 255: /* EDID EEPROM? */
break;
default:
printf("Unknown EEPROM type (%d)\n", type);
free(label);
return;
}
} else {
free(label);
return;
}
} else {
free(label);
printf("Memory type: Unavailable\n");
return;
}
free(label);
if (type == 255) { /* EDID EEPROM */
/* make sure it is an EDID EEPROM */
if (!sensors_get_feature(*name, SENSORS_EEPROM_ROWADDR, &a)
&& !sensors_get_feature(*name, SENSORS_EEPROM_COLADDR, &b)
&& !sensors_get_feature(*name, SENSORS_EEPROM_NUMROWS, &c)
&& !sensors_get_feature(*name, SENSORS_EEPROM_EDID_HEADER, &d)) {
if (((int) a) != 255 || ((int) b) != 255 || ((int) c) != 255
|| ((int) d) != 0)
printf("Unknown EEPROM type (255).\n");
else if (name->addr == 0x50)
/* must be an EDID EEPROM */
printf("Use the ddcmon and/or decode-edid.pl scripts.\n");
} else
printf("ERROR: data EDID\n");
return;
}
/* regular memory chips */
if (!sensors_get_label_and_valid(*name, SENSORS_EEPROM_ROWADDR, &label, &valid)
&& !sensors_get_feature(*name, SENSORS_EEPROM_ROWADDR, &a)
&& !sensors_get_feature(*name, SENSORS_EEPROM_COLADDR, &b)
&& !sensors_get_feature(*name, SENSORS_EEPROM_NUMROWS, &c)
&& !sensors_get_feature(*name, SENSORS_EEPROM_BANKS, &d)
&& valid) {
int k = 0; /* multiplier, 0 if invalid */
print_label(label, 24);
if (type == 17) { /* RAMBUS */
i = (((int) a) & 0x0f) + (((int) a) >> 4) + (((int) c) & 0x07) - 13;
k = 1;
} else if (type == 1) { /* DRDRAM */
i = (((int) b) & 0x0f) + (((int) b) >> 4) + (((int) c) & 0x07) - 13;
k = 1;
} else if (type == 8) { /* DDR2 */
i = (((int) a) & 0x0f) + (((int) b) & 0x0f) - 17;
k = ((((int) c) & 0x7) + 1) * ((int) d);
} else { /* SDRAM */
i = (((int) a) & 0x0f) + (((int) b) & 0x0f) - 17;
if (((int) c) <= 8 && ((int) d) <= 8)
k = ((int) c) * ((int) d);
}
if(i > 0 && i <= 12 && k > 0)
printf("%d\n", (1 << i) * k);
else
printf("invalid (%d %d %d %d)\n",
(int) a, (int) b, (int) c, (int) d);
} else
printf("ERROR: data 2\n");
free(label);
printf("Note that eeprom support will be dropped from "
"libsensors soon.\nPlease use the decode-dimms.pl "
"script instead.\n");
}
void print_it87(const sensors_chip_name *name)
{
char *label;
-2
View File
@@ -46,8 +46,6 @@ extern void print_w83793(const sensors_chip_name *name);
extern void print_w83l785ts(const sensors_chip_name *name);
extern void print_w83627ehf(const sensors_chip_name *name);
extern void print_maxilife(const sensors_chip_name *name);
extern void print_ddcmon(const sensors_chip_name *name);
extern void print_eeprom(const sensors_chip_name *name);
extern void print_lm87(const sensors_chip_name *name);
extern void print_it87(const sensors_chip_name *name);
extern void print_fscpos(const sensors_chip_name *name);
-2
View File
@@ -382,8 +382,6 @@ struct match matches[] = {
{ "it8712", print_it87 },
{ "it8716", print_it87 },
{ "it8718", print_it87 },
{ "ddcmon", print_ddcmon },
{ "eeprom", print_eeprom },
{ "fscpos", print_fscpos },
{ "fscscy", print_fscscy },
{ "fscher", print_fscher },