mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-19 11:19:31 +00:00
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:
1 parent
cbdca6d91a
commit
2f1bfd2e6b
4 files changed
+1
-415
No files matched your search
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 },
|
||||
|
||||
Reference in new issue
Block a user