Re: More ACPI patch problems..

From: Nate Lawson <nate_at_root.org>
Date: Tue, 26 Jul 2005 12:16:07 -0700
Eric Anderson wrote:
> After updating, I now see this when on battery:
> hw.acpi.battery.life: 97
> hw.acpi.battery.time: 337898
> hw.acpi.battery.state: 1
> hw.acpi.battery.units: 2
> hw.acpi.battery.info_expire: 5
> 
> And when on AC, my battery life never gets to 100% (like it used to).
> 
> All my systems info is here:
> http://www.googlebit.com/freebsd/

Can you run with the attached debug printf patch and let me know the 
output?  Run it both on and off AC power.

-- 
Nate

Index: sys/dev/acpica/acpi_battery.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/acpica/acpi_battery.c,v
retrieving revision 1.13
diff -u -r1.13 acpi_battery.c
--- sys/dev/acpica/acpi_battery.c	23 Jul 2005 19:35:59 -0000	1.13
+++ sys/dev/acpica/acpi_battery.c	25 Jul 2005 15:59:29 -0000
_at__at_ -161,6 +161,7 _at__at_
 	    error = ENOMEM;
 	    goto out;
 	}
+printf("batt pass1: dev %p ", batt_dev);
 
 	/* Default info for every battery is "not present". */
 	acpi_reset_battinfo(&bi[i]);
_at__at_ -174,11 +175,13 _at__at_
 	    ACPI_BATT_GET_STATUS(batt_dev, &bst[i]) != 0 ||
 	    ACPI_BATT_GET_INFO(batt_dev, bif) != 0)
 	    continue;
+printf("ok ");
 
 	/* If a battery is not installed, we sometimes get strange values. */
 	if (!acpi_battery_bst_valid(&bst[i]) ||
 	    !acpi_battery_bif_valid(bif))
 	    continue;
+printf("valid ");
 
 	/* Record state and calculate percent capacity remaining. */
 	valid_units++;
_at__at_ -204,10 +207,12 _at__at_
 	 */
 	if (bst[i].rate > 0 && (bst[i].state & ACPI_BATT_STAT_DISCHARG))
 	    valid_rate += bst[i].rate;
+printf("state %d cap %d valid_rate %d\n", bi[i].state, bi[i].cap, valid_rate);
     }
 
     /* If the caller asked for a device but we didn't find it, error. */
     if (dev != NULL && dev_idx < 0) {
+printf("batt: couldn't find dev %p\n", dev);
 	error = ENXIO;
 	goto out;
     }
_at__at_ -226,6 +231,8 _at__at_
 	    bi[i].min = 0;
 	total_min += bi[i].min;
 	total_cap += bi[i].cap;
+printf("batt pass2: min %d total_min %d total_cap %d\n", bi[i].min, total_min,
+total_cap);
     }
 
     /*
Received on Tue Jul 26 2005 - 17:16:09 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:39 UTC