lkml.org 
[lkml]   [2009]   [Apr]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [BISECTED] 20 ACPI interrupts per second on EEEPC 4G
    From
    Date
    On Mon, 2009-04-13 at 18:05 +0100, Matthew Garrett wrote:
    > Ok, I think I've got it. Does this fix things? Ridiculous thinko...
    >
    > diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
    > index 9cd15e8..564ea14 100644
    > --- a/drivers/acpi/thermal.c
    > +++ b/drivers/acpi/thermal.c
    > @@ -909,7 +909,7 @@ static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz)
    > thermal_zone_device_register("acpitz", trips, tz,
    > &acpi_thermal_zone_ops,
    > 0, 0, 0,
    > - tz->polling_frequency);
    > + tz->polling_frequency*100);
    > if (IS_ERR(tz->thermal_zone))
    > return -ENODEV;

    Perhaps this is clearer?
    It also makes cleans up a for loop with a naked ;

    Signed-off-by: Joe Perches <joe@perches.com>

    diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
    index 9cd15e8..e8a6490 100644
    --- a/drivers/acpi/thermal.c
    +++ b/drivers/acpi/thermal.c
    @@ -883,6 +880,10 @@ static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz)
    int result;
    acpi_status status;
    int i;
    + int tc1;
    + int tc2;
    + int passive_delay;
    + int polling_delay;

    if (tz->trips.critical.flags.valid)
    trips++;
    @@ -894,22 +895,25 @@ static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz)
    trips++;

    for (i = 0; i < ACPI_THERMAL_MAX_ACTIVE &&
    - tz->trips.active[i].flags.valid; i++, trips++);
    + tz->trips.active[i].flags.valid; i++)
    + trips++;

    - if (tz->trips.passive.flags.valid)
    - tz->thermal_zone =
    - thermal_zone_device_register("acpitz", trips, tz,
    - &acpi_thermal_zone_ops,
    - tz->trips.passive.tc1,
    - tz->trips.passive.tc2,
    - tz->trips.passive.tsp*100,
    - tz->polling_frequency*100);
    - else
    - tz->thermal_zone =
    - thermal_zone_device_register("acpitz", trips, tz,
    - &acpi_thermal_zone_ops,
    - 0, 0, 0,
    - tz->polling_frequency);
    + if (tz->trips.passive.flags.valid) {
    + tc1 = tz->trips.passive.tc1;
    + tc2 = tz->trips.passive.tc2;
    + passive_delay = tz->trips.passive.tsp * 100;
    + } else {
    + tc1 = 0;
    + tc2 = 0;
    + passive_delay = 0;
    + }
    + polling_delay = tz->polling_frequency * 100;
    +
    + tz->thermal_zone =
    + thermal_zone_device_register("acpitz", trips, tz,
    + &acpi_thermal_zone_ops,
    + tc1, tc2, passive_delay,
    + polling_delay);
    if (IS_ERR(tz->thermal_zone))
    return -ENODEV;




    \
     
     \ /
      Last update: 2009-04-13 19:47    [W:0.022 / U:29.496 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site