Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 62895
b: refs/heads/master
c: fb80471
h: refs/heads/master
i:
  62893: 2097542
  62891: 27aaf14
  62887: ce61384
  62879: 9f8b589
v: v3
  • Loading branch information
Len Brown committed Jul 24, 2007
1 parent 874abca commit 1d2c0c8
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 73 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: c30c620ee1cc351bcc149c4280e1166998df0064
refs/heads/master: fb804714560463534ebcb538a3b0a3c687a830ec
27 changes: 17 additions & 10 deletions trunk/drivers/acpi/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -76,17 +76,24 @@ config ACPI_SLEEP_PROC_SLEEP
Deprecated by /sys/power/state

config ACPI_PROCFS
bool "Procfs interface (deprecated)"
default y
bool "Deprecated /proc/acpi files"
depends on PROC_FS
---help---
The Procfs interface for ACPI is made optional for backward compatibility.
As the same functions are duplicated in the sysfs interface
and this proc interface will be removed some time later,
it's marked as deprecated.
( /proc/acpi/debug_layer && debug_level are deprecated by
/sys/module/acpi/parameters/debug_layer && debug_level.
/proc/acpi/info is deprecated by
/sys/module/acpi/parameters/acpica_version )
For backwards compatibility, this option allows
depricated /proc/acpi/ files to exist, even when
they have been replaced by functions in /sys.
The deprecated files (and their replacements) include:

/proc/acpi/info (/sys/modules/acpi/parameters/acpica_version)
/proc/acpi/dsdt (/sys/firmware/acpi/tables/DSDT)
/proc/acpi/fadt (/sys/firmware/acpi/tables/FACP)
/proc/acpi/debug_layer (/sys/module/acpi/parameters/debug_layer)
/proc/acpi/debug_level (/sys/module/acpi/parameters/debug_level)

This option has no effect on /proc/acpi/ files
and functions which do not yet exist in /sys.

Say N to delete /proc/acpi/ files that have moved to /sys/

config ACPI_AC
tristate "AC Adapter"
Expand Down
59 changes: 18 additions & 41 deletions trunk/drivers/acpi/processor_throttling.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,6 @@ ACPI_MODULE_NAME("processor_throttling");
static int acpi_processor_get_throttling(struct acpi_processor *pr);
int acpi_processor_set_throttling(struct acpi_processor *pr, int state);

/*
* _TPC - Throttling Present Capabilities
*/
static int acpi_processor_get_platform_limit(struct acpi_processor *pr)
{
acpi_status status = 0;
Expand All @@ -58,10 +55,8 @@ static int acpi_processor_get_platform_limit(struct acpi_processor *pr)
if (!pr)
return -EINVAL;
status = acpi_evaluate_integer(pr->handle, "_TPC", NULL, &tpc);
if (ACPI_FAILURE(status)) {
if (status != AE_NOT_FOUND) {
ACPI_EXCEPTION((AE_INFO, status, "Evaluating _TPC"));
}
if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) {
ACPI_EXCEPTION((AE_INFO, status, "Evaluating _TPC"));
return -ENODEV;
}
pr->throttling_platform_limit = (int)tpc;
Expand All @@ -73,9 +68,9 @@ int acpi_processor_tstate_has_changed(struct acpi_processor *pr)
return acpi_processor_get_platform_limit(pr);
}

/*
* _PTC - Processor Throttling Control (and status) register location
*/
/* --------------------------------------------------------------------------
_PTC, _TSS, _TSD support
-------------------------------------------------------------------------- */
static int acpi_processor_get_throttling_control(struct acpi_processor *pr)
{
int result = 0;
Expand All @@ -86,9 +81,7 @@ static int acpi_processor_get_throttling_control(struct acpi_processor *pr)

status = acpi_evaluate_object(pr->handle, "_PTC", NULL, &buffer);
if (ACPI_FAILURE(status)) {
if (status != AE_NOT_FOUND) {
ACPI_EXCEPTION((AE_INFO, status, "Evaluating _PTC"));
}
ACPI_EXCEPTION((AE_INFO, status, "Evaluating _PTC"));
return -ENODEV;
}

Expand Down Expand Up @@ -139,10 +132,6 @@ static int acpi_processor_get_throttling_control(struct acpi_processor *pr)

return result;
}

/*
* _TSS - Throttling Supported States
*/
static int acpi_processor_get_throttling_states(struct acpi_processor *pr)
{
int result = 0;
Expand All @@ -155,9 +144,7 @@ static int acpi_processor_get_throttling_states(struct acpi_processor *pr)

status = acpi_evaluate_object(pr->handle, "_TSS", NULL, &buffer);
if (ACPI_FAILURE(status)) {
if (status != AE_NOT_FOUND) {
ACPI_EXCEPTION((AE_INFO, status, "Evaluating _TSS"));
}
ACPI_EXCEPTION((AE_INFO, status, "Evaluating _TSS"));
return -ENODEV;
}

Expand Down Expand Up @@ -214,10 +201,6 @@ static int acpi_processor_get_throttling_states(struct acpi_processor *pr)

return result;
}

/*
* _TSD - T-State Dependencies
*/
static int acpi_processor_get_tsd(struct acpi_processor *pr)
{
int result = 0;
Expand All @@ -230,9 +213,6 @@ static int acpi_processor_get_tsd(struct acpi_processor *pr)

status = acpi_evaluate_object(pr->handle, "_TSD", NULL, &buffer);
if (ACPI_FAILURE(status)) {
if (status != AE_NOT_FOUND) {
ACPI_EXCEPTION((AE_INFO, status, "Evaluating _TSD"));
}
return -ENODEV;
}

Expand Down Expand Up @@ -545,6 +525,9 @@ int acpi_processor_get_throttling_info(struct acpi_processor *pr)
int result = 0;
int step = 0;
int i = 0;
int no_ptc = 0;
int no_tss = 0;
int no_tsd = 0;

ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"pblk_address[0x%08x] duty_offset[%d] duty_width[%d]\n",
Expand All @@ -555,14 +538,12 @@ int acpi_processor_get_throttling_info(struct acpi_processor *pr)
if (!pr)
return -EINVAL;

/*
* Evaluate _PTC, _TSS and _TPC
* They must all be present or none of them can be used.
*/
if (acpi_processor_get_throttling_control(pr) ||
acpi_processor_get_throttling_states(pr) ||
acpi_processor_get_platform_limit(pr))
{
/* TBD: Support ACPI 2.0 objects */
no_ptc = acpi_processor_get_throttling_control(pr);
no_tss = acpi_processor_get_throttling_states(pr);
no_tsd = acpi_processor_get_tsd(pr);

if (no_ptc || no_tss) {
pr->throttling.acpi_processor_get_throttling =
&acpi_processor_get_throttling_fadt;
pr->throttling.acpi_processor_set_throttling =
Expand All @@ -574,8 +555,6 @@ int acpi_processor_get_throttling_info(struct acpi_processor *pr)
&acpi_processor_set_throttling_ptc;
}

acpi_processor_get_tsd(pr);

if (!pr->throttling.address) {
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "No throttling register\n"));
return 0;
Expand Down Expand Up @@ -679,20 +658,18 @@ static int acpi_processor_throttling_seq_show(struct seq_file *seq,
pr->throttling.state_count - 1);

seq_puts(seq, "states:\n");
if (pr->throttling.acpi_processor_get_throttling ==
acpi_processor_get_throttling_fadt) {
if (acpi_processor_get_throttling == acpi_processor_get_throttling_fadt)
for (i = 0; i < pr->throttling.state_count; i++)
seq_printf(seq, " %cT%d: %02d%%\n",
(i == pr->throttling.state ? '*' : ' '), i,
(pr->throttling.states[i].performance ? pr->
throttling.states[i].performance / 10 : 0));
} else {
else
for (i = 0; i < pr->throttling.state_count; i++)
seq_printf(seq, " %cT%d: %02d%%\n",
(i == pr->throttling.state ? '*' : ' '), i,
(int)pr->throttling.states_tss[i].
freqpercentage);
}

end:
return 0;
Expand Down
32 changes: 11 additions & 21 deletions trunk/drivers/misc/asus-laptop.c
Original file line number Diff line number Diff line change
Expand Up @@ -1067,16 +1067,19 @@ static void asus_backlight_exit(void)
}

#define ASUS_LED_UNREGISTER(object) \
led_classdev_unregister(&object##_led)
if(object##_led.class_dev \
&& !IS_ERR(object##_led.class_dev)) \
led_classdev_unregister(&object##_led)

static void asus_led_exit(void)
{
destroy_workqueue(led_workqueue);
ASUS_LED_UNREGISTER(mled);
ASUS_LED_UNREGISTER(tled);
ASUS_LED_UNREGISTER(pled);
ASUS_LED_UNREGISTER(rled);
ASUS_LED_UNREGISTER(gled);

destroy_workqueue(led_workqueue);
}

static void __exit asus_laptop_exit(void)
Expand Down Expand Up @@ -1132,42 +1135,29 @@ static int asus_led_init(struct device *dev)

rv = ASUS_LED_REGISTER(mled, dev);
if (rv)
goto out;
return rv;

rv = ASUS_LED_REGISTER(tled, dev);
if (rv)
goto out1;
return rv;

rv = ASUS_LED_REGISTER(rled, dev);
if (rv)
goto out2;
return rv;

rv = ASUS_LED_REGISTER(pled, dev);
if (rv)
goto out3;
return rv;

rv = ASUS_LED_REGISTER(gled, dev);
if (rv)
goto out4;
return rv;

led_workqueue = create_singlethread_workqueue("led_workqueue");
if (!led_workqueue)
goto out5;
return -ENOMEM;

return 0;
out5:
rv = -ENOMEM;
ASUS_LED_UNREGISTER(gled);
out4:
ASUS_LED_UNREGISTER(pled);
out3:
ASUS_LED_UNREGISTER(rled);
out2:
ASUS_LED_UNREGISTER(tled);
out1:
ASUS_LED_UNREGISTER(mled);
out:
return rv;
}

static int __init asus_laptop_init(void)
Expand Down

0 comments on commit 1d2c0c8

Please sign in to comment.