From: "François Valenduc" <fvalenduc-IWqWACnzNjyZIoH1IeqzKA@public.gmane.org>
To: Rich Townsend <rhdt-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>,
acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: Re: Smart Battery System driver
Date: Sun, 16 Jan 2005 11:48:01 +0100 [thread overview]
Message-ID: <41EA4661.4000304@tiscali.be> (raw)
In-Reply-To: <41EA2C1D.3030909-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
Hello,
Thanks for your driver. With this new version, the AC adapter status is
available, which is better. There are even two ac_adapter directory in
/proc/acpi. However, I don't find anymore battery information. I have
seen that directory structure has changed and that now,
/proc/acpi/battery is empty. I have tried the cat command on the new sbs
sub-directory but I didn't find usual battery info. Also with the first
version you sended, I noticed that the remaining battery time was too
low. For example, with a battery fully loaded, I am supposed to have
only around 40 minutes of autonomy, which is a bit short !
Thanks for your help,
Sincerely yours,
François Valenduc
Rich Townsend a écrit :
> Johan Vromans wrote:
>
>> Johannes Kuhlmann <jkuhlmann-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes:
>>
>>
>>> I had to put
>>> EXPORT_SYMBOL(acpi_ec_write); and EXPORT_SYMBOL(acpi_ec_read); after
>>> the functions in drivers/acpi/ec.c.
>>
>>
>>
>> This is one of the issues Bruno's patch addressed...
>>
>
> Yeah, I'd completely forgotten about the patch, until I went back and
> checked the instructions in Bruno's smartbatt package. D'oh!
>
> I've modified the README file accordingly, and placed a copy of the
> patch in my acpi-sbs package. This is on top of a number of changes &
> additions to the code, which include:
>
> *) Fixed scaling bug when capacity is reported in mWh
> *) Added a new module parameter, capacity_info, to alter whether
> capacities are reported in mAh (charge) or mWh (power)
> *) Fixed a number of bugs in the formatting of info/state output
> *) Added support for Smart Battery System Manager (SBSM), Smart
> Battery Selector (SBSEL) and Smart Battery Charge (SBC) subsystems.
> With the code for these in place, the module correctly (I think)
> enumerates how many batteries the system can support, which ones are
> present, etc.
> *) Added a new legacy interface for the AC adapter, in
> /proc/acpi/ac_adapter/*/state (where * is typically SBS0).
> *) Put in semaphores, so the code *might* now be SMP safe. Of course,
> this may be a purely academic excercise; I've never met the lucky ****
> who has an SMP laptop :)
>
> The latest copy of the code can be obtained from:
>
> http://shayol.bartol.udel.edu/~rhdt/download/acpi_sbs-20050116.tar.gz
>
> To move forward from here, I'd appreciate some advice from others on
> this list. In particular
>
> *) I'd like some feedback on the directory structure I've chosen. At
> the moment, the root directory of the Smart Battery System is 'sbs',
> but would something more verbose like 'smart_battery_system' be
> appropriate? Also, should various subdirectories, representing
> subsystems, have more descriptive names -- e.g., 'battery_A' instead
> of 'SB0' (the SBS spec. refers to the batteries as 'A', 'B' etc),
> 'selector' instead of 'SBSL', and so on?
>
> *) I'd appreciate feedback from people with systems *other* than Acer
> TravelMater 4x00 laptops, to help check parts of the code that are not
> accessed on these machines (e.g., the Smart Battery System Manager
> code; my TM4502 laptop has an older Smart Battery Selector)
>
> *) The code to update the Smart Battery System state from the SMBus is
> terribly slow, presumably because SMBus itself is a slow protocol.
> Unfortunately, this has the effect of freezing the system (including
> loss of keystrokes and/or mouse movements) whenever an update occurs.
> Typically, these freezes will arise every few seconds, as monitoring
> tools (e.g., gkrellm, wmacpi) poll the /proc/acpi interfaces. The
> jerkiness that results is unacceptable to many, including myself. How
> might I go about fixing this? I've tried putting a schedule() call
> after every individual SMBus access, but that appears to have little
> effect on the system responsiveness.
>
> *) I'm not sure how to go about implmeneting Alarm functionality, not
> only to deal with low-power scenarios, but also to detect asynchronous
> events such as AC on-line/off-line and battery change, without the
> need for polling. Certainly, interrupts *are* being generated
> somewhere, as evidenced by the incrementing value of the acpi field in
> /proc/interrupts. Furthermore, with ACPI debugging enabled, I can see
> the embedded controller handling the events; for instance, an AC
> off-line event produces the following debug output:
>
> Execute Method: [\_SB_.PCI0.LPC0.EC0_._Q20] (Node dded7de8)
> acpi_ec-0180 [5125] acpi_ec_read : Read [c0] from address [19]
> acpi_ec-0180 [5125] acpi_ec_read : Read [14] from address [3d]
> acpi_ec-0180 [5125] acpi_ec_read : Read [c0] from address [19]
> acpi_ec-0232 [5126] acpi_ec_write : Wrote [80] to address [19]
>
> The corresponding DSL code for function _Q20 of my DSDT is:
>
> Method (_Q20, 0, NotSerialized)
> {
> If (And (SMST, 0x40))
> {
> Store (SMAA, Local0)
> If (LEqual (Local0, 0x14))
> {
> And (SMST, 0xBF, SMST)
> }
> }
> }
>
> ...which unfortunately doesn't mean a whole lot to me. How can I
> install some form of a handler, so that when the EC detects a Smart
> Battery event (and -- as per the ACPI spec -- sets the EC Alarm
> Address and Data registers), and then fires off a General Purpose
> Event, a chunk of *my* code gets run?
>
> Any pointers for the above questions will be very welcome -- and
> thanks to everyone who has responded with bug reports so far.
>
> cheers,
>
> Rich
>
>
> -------------------------------------------------------
> The SF.Net email is sponsored by: Beat the post-holiday blues
> Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
> It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
> _______________________________________________
> Acpi-devel mailing list
> Acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> https://lists.sourceforge.net/lists/listinfo/acpi-devel
>
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
next prev parent reply other threads:[~2005-01-16 10:48 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-14 19:23 Smart Battery System driver Rich Townsend
[not found] ` <41E81C2C.8010809-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-15 0:06 ` David Gómez
2005-01-15 0:12 ` Pedro Venda
2005-01-15 0:13 ` Matthew Garrett
2005-01-15 3:03 ` Johannes Kuhlmann
[not found] ` <47e0449d05011419037877f931-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2005-01-15 10:57 ` Johan Vromans
[not found] ` <m2fz13x8mw.fsf-KjnUIgV0B0bak1Ioo/c9IoRWq/SkRNHw@public.gmane.org>
2005-01-15 14:24 ` Johannes Kuhlmann
2005-01-16 8:55 ` Rich Townsend
[not found] ` <41EA2C1D.3030909-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-16 10:48 ` François Valenduc [this message]
[not found] ` <41EA4661.4000304-IWqWACnzNjyZIoH1IeqzKA@public.gmane.org>
2005-01-16 14:36 ` François Valenduc
2005-01-16 10:49 ` Karol Kozimor
2005-01-17 11:41 ` Bruno Ducrot
2005-01-17 16:27 ` Pedro Venda
[not found] ` <41EBE769.7050107-pQd4kjVL+REh2FBCd0jGRA@public.gmane.org>
2005-01-18 1:36 ` Rich Townsend
[not found] ` <41EC6829.1070901-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-18 11:11 ` Matthew Garrett
2005-01-18 11:23 ` Zdzisław A. Kaleta
[not found] ` <200501181223.22954.sanskryt-FWhLrETftxM@public.gmane.org>
2005-01-18 12:20 ` Zdzisław A. Kaleta
2005-01-18 15:46 ` Rich Townsend
2005-01-18 3:03 ` Rich Townsend
[not found] ` <41EC7C7D.1070003-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-18 4:39 ` Rich Townsend
[not found] ` <41EC9316.80109-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-18 13:00 ` Pedro Venda
2005-01-19 4:32 ` Rich Townsend
[not found] ` <41EDE2EA.7090404-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-19 9:36 ` Johan Vromans
[not found] ` <m2u0pdn4js.fsf-KjnUIgV0B0bak1Ioo/c9IoRWq/SkRNHw@public.gmane.org>
2005-01-19 13:31 ` Rich Townsend
2005-01-19 14:11 ` Johan Vromans
2005-01-19 18:49 ` Jeroen Wijnhout
[not found] ` <200501191949.03558.Jeroen.Wijnhout-sVbgdUKTYbrR7s880joybQ@public.gmane.org>
2005-01-19 19:10 ` Olaf Jansen-Olliges
[not found] ` <200501192010.25975.o.jansen-n+qsWun7DryELgA04lAiVw@public.gmane.org>
2005-01-19 21:55 ` Johan Vromans
[not found] ` <m28y6pytgs.fsf-KjnUIgV0B0bak1Ioo/c9IoRWq/SkRNHw@public.gmane.org>
2005-01-19 22:24 ` Rich Townsend
2005-01-20 8:36 ` Olaf Jansen-Olliges
[not found] ` <200501200936.21831.o.jansen-n+qsWun7DryELgA04lAiVw@public.gmane.org>
2005-01-20 9:22 ` Johan Vromans
2005-01-20 9:10 ` Jeroen Wijnhout
2005-01-20 3:03 ` Rich Townsend
[not found] ` <41EF1F6A.5000807-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-20 15:12 ` Pedro Venda
[not found] ` <41EFCA59.6040100-pQd4kjVL+REh2FBCd0jGRA@public.gmane.org>
2005-01-20 16:04 ` Rich Townsend
[not found] ` <41EFD672.2040308-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-20 21:10 ` Stefan Seyfried
[not found] ` <20050120211044.GA27543-l0tNAEGuAhhzZ8+rp42Dbp9+tswZ0GTaehPwdyo5hKaELgA04lAiVw@public.gmane.org>
2005-01-21 13:16 ` Pedro Venda
[not found] ` <41F1009C.30201-pQd4kjVL+REh2FBCd0jGRA@public.gmane.org>
2005-01-21 17:48 ` Stefan Seyfried
2005-09-06 3:25 ` Antoni Villalonga
[not found] ` <75eeb70e05090520257be89afa-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2005-09-06 6:19 ` Olaf Jansen-Olliges
[not found] ` <200509060819.13292.o.jansen-n+qsWun7DryELgA04lAiVw@public.gmane.org>
2005-09-06 6:48 ` Yu Luming
[not found] ` <200509061448.12234.luming.yu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2005-09-06 6:54 ` Olaf Jansen-Olliges
[not found] ` <200509060854.14417.o.jansen-n+qsWun7DryELgA04lAiVw@public.gmane.org>
2005-09-06 6:57 ` Yu Luming
[not found] ` <200509061457.23947.luming.yu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2005-09-06 7:05 ` Olaf Jansen-Olliges
2005-09-06 8:41 ` Olaf Jansen-Olliges
[not found] ` <200509061041.21722.o.jansen-n+qsWun7DryELgA04lAiVw@public.gmane.org>
2005-09-06 9:34 ` Yu Luming
[not found] ` <200509061734.11182.luming.yu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2005-09-06 11:57 ` Olaf Jansen-Olliges
2005-09-08 9:04 ` Olaf Jansen-Olliges
2005-09-06 6:38 ` Yu Luming
2005-09-06 19:53 ` Antoni Villalonga
[not found] ` <75eeb70e050906125344c326ad-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2005-09-06 20:38 ` François Valenduc
2005-09-09 21:59 ` Antoni Villalonga
2005-09-07 7:51 ` David Gómez
2005-01-20 20:38 ` Johan Vromans
[not found] ` <m2wtu74yzq.fsf-KjnUIgV0B0bak1Ioo/c9IoRWq/SkRNHw@public.gmane.org>
2005-01-20 20:48 ` Rich Townsend
[not found] ` <41F01923.1000503-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-20 21:31 ` Johan Vromans
[not found] ` <m2sm4v4wk7.fsf-KjnUIgV0B0bak1Ioo/c9IoRWq/SkRNHw@public.gmane.org>
2005-01-21 2:57 ` Bernard Blackham
2005-01-21 13:20 ` Pedro Venda
2005-01-21 13:24 ` Johan Vromans
[not found] ` <16881.652.864369.5956-KjnUIgV0B0bak1Ioo/c9IoRWq/SkRNHw@public.gmane.org>
2005-01-21 13:34 ` Pedro Venda
[not found] ` <41F10180.60008-pQd4kjVL+REh2FBCd0jGRA@public.gmane.org>
2005-01-21 13:26 ` Rich Townsend
[not found] ` <41F1031E.60507-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-21 13:42 ` Pedro Venda
[not found] ` <41F106C9.5020404-pQd4kjVL+REh2FBCd0jGRA@public.gmane.org>
2005-01-21 15:01 ` Rich Townsend
[not found] ` <41F11940.5010101-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-21 20:16 ` Pedro Venda
[not found] ` <41F1631C.1030701-pQd4kjVL+REh2FBCd0jGRA@public.gmane.org>
2005-01-21 20:31 ` Rich Townsend
2005-01-21 14:17 ` Zdzisław A. Kaleta
2005-01-23 16:02 ` Pavel Machek
[not found] ` <20050123160244.GA1364-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2005-01-23 17:36 ` Pedro Venda
[not found] ` <41F3E095.6060805-pQd4kjVL+REh2FBCd0jGRA@public.gmane.org>
2005-01-24 11:50 ` Stefan Seyfried
2005-01-21 0:31 ` ultrakorne
[not found] ` <41F04D5A.8060304-XtQPfPCVGG7srOwW+9ziJQ@public.gmane.org>
2005-01-25 4:54 ` Rich Townsend
2005-01-18 10:26 ` Bruno Ducrot
[not found] ` <20050118102635.GV19199-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
2005-01-18 15:39 ` Rich Townsend
[not found] ` <41ED2DB8.70707-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-01-19 11:09 ` Bruno Ducrot
2005-01-15 6:38 ` Rich Townsend
2005-01-17 13:20 ` Bruno Ducrot
[not found] ` <20050117132023.GT19199-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
2005-01-17 14:21 ` Hendrik Jürgens
2005-01-17 11:33 ` Bruno Ducrot
2005-01-17 21:11 ` Zdzisław A. Kaleta
[not found] ` <200501172211.37583.sanskryt-FWhLrETftxM@public.gmane.org>
2005-01-17 23:58 ` Zdzisław A. Kaleta
2005-01-17 22:40 ` ultrakorne
-- strict thread matches above, loose matches on Subject: below --
2005-01-20 22:04 Grover, Andrew
[not found] ` <F760B14C9561B941B89469F59BA3A84708CBB988-sBd4vmA9Se6krb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2005-01-20 22:12 ` Karol Kozimor
2005-01-21 0:03 ` Matthew Garrett
2005-01-21 12:02 ` Paul Ionescu
2005-01-21 10:06 ` Simon Fowler
[not found] ` <20050121100618.GA3945-Ji7FXtOmRLs@public.gmane.org>
2005-01-21 13:22 ` Rich Townsend
2005-01-21 14:14 ` Stefan Seyfried
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=41EA4661.4000304@tiscali.be \
--to=fvalenduc-iwqwacnznjyzioh1ieqzka@public.gmane.org \
--cc=acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=rhdt-OBnUx95tOyn10jlvfTC4gA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.