Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 44964
b: refs/heads/master
c: 3ef8a60
h: refs/heads/master
v: v3
  • Loading branch information
Henrique de Moraes Holschuh authored and Len Brown committed Dec 7, 2006
1 parent c1edd2e commit b9780c1
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 17 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 69ba91cbd6d79aa197adbdd10a44e71c84044b44
refs/heads/master: 3ef8a6096ca98d45a54999a97c7c8e14977d2e3e
40 changes: 24 additions & 16 deletions trunk/drivers/acpi/ibm_acpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1741,40 +1741,48 @@ static int fan_init(void)
static int fan_read(char *p)
{
int len = 0;
int s;
u8 lo, hi, status;

if (gfan_handle) {
switch (fan_status_access_mode) {
case IBMACPI_FAN_RD_ACPI_GFAN:
/* 570, 600e/x, 770e, 770x */
if (!acpi_evalf(gfan_handle, &s, NULL, "d"))
if (unlikely(!acpi_evalf(gfan_handle, &status, NULL, "d")))
return -EIO;

len += sprintf(p + len, "level:\t\t%d\n", s);
} else {
len += sprintf(p + len, "level:\t\t%d\n", status);

break;

case IBMACPI_FAN_RD_TPEC:
/* all except 570, 600e/x, 770e, 770x */
if (!acpi_ec_read(fan_status_offset, &status))
len += sprintf(p + len, "status:\t\tunreadable\n");
if (unlikely(!acpi_ec_read(fan_status_offset, &status)))
return -EIO;
else
len += sprintf(p + len, "status:\t\t%s\n",
enabled(status, 7));

if (!acpi_ec_read(fan_rpm_offset, &lo) ||
!acpi_ec_read(fan_rpm_offset + 1, &hi))
len += sprintf(p + len, "speed:\t\tunreadable\n");
if (unlikely(!acpi_ec_read(fan_rpm_offset, &lo) ||
!acpi_ec_read(fan_rpm_offset + 1, &hi)))
return -EIO;
else
len += sprintf(p + len, "speed:\t\t%d\n",
(hi << 8) + lo);

break;

case IBMACPI_FAN_NONE:
default:
len += sprintf(p + len, "status:\t\tnot supported\n");
}

if (sfan_handle)
/* 570, 770x-JL */
if (fan_control_commands & IBMACPI_FAN_CMD_LEVEL)
len += sprintf(p + len, "commands:\tlevel <level>"
" (<level> is 0-7)\n");
if (!gfan_handle)
/* all except 570, 600e/x, 770e, 770x */

if (fan_control_commands & IBMACPI_FAN_CMD_ENABLE)
len += sprintf(p + len, "commands:\tenable, disable\n");
if (fans_handle)
/* X31, X40 */

if (fan_control_commands & IBMACPI_FAN_CMD_SPEED)
len += sprintf(p + len, "commands:\tspeed <speed>"
" (<speed> is 0-65535)\n");

Expand Down

0 comments on commit b9780c1

Please sign in to comment.