From: Pavel Machek <pavel-+ZI9xUNit7I@public.gmane.org>
To: Alex Williamson <alex.williamson-VXdhtT5mjnY@public.gmane.org>
Cc: Matthew Wilcox <willy-8fiUuRrzOP0dnm+yROfE0A@public.gmane.org>,
John Belmonte <john-wanGne27zNesTnJN9+BGXg@public.gmane.org>,
acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
linux-kernel
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: Re: [PATCH] filling in ACPI method access via sysfs namespace
Date: Thu, 6 May 2004 12:02:10 +0200 [thread overview]
Message-ID: <20040506100210.GA194@elf.ucw.cz> (raw)
In-Reply-To: <1081740686.1715.20.camel-/d9U08IjUQs@public.gmane.org>
Hi!
> > It seems unintuitive that you have to read the file for the method to
> > take effect. How about having the write function invoke the method and
> > (if there is a result) store it for later read-back via the read function?
> > It should be discarded on close, of course. A read() on a file with
> > no stored result should invoke the ACPI method (on the assumption this
> > is a parameter-less method) and return the result directly. Closing a
> > file should discard any result from the method.
>
> How's this? It behaves the way you described, but might be doing
> some questionable things with the buffer to get there. Is there a
> better place to store the return data than back into the buf passed to
> write() (aka file->private_data)? Without adding callbacks to
> open/close, I'm not sure how else we can dispose of the results on
> close. Thanks,
> + /*
> + * For convenience, handle cases where the last argument
> + * is too small.
> + */
> + count = length / sizeof(union acpi_object);
> + if (length % sizeof(union acpi_object))
> + count++;
> +
> + if (count) {
> + size = sizeof(struct acpi_object_list) +
> + ((count - 1) * sizeof(union acpi_object *));
This probably makes it *way* too implementation dependand.
Pavel
--
When do you have heart between your knees?
-------------------------------------------------------
This SF.Net email is sponsored by Sleepycat Software
Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to deliver
higher performing products faster, at low TCO.
http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3
WARNING: multiple messages have this Message-ID (diff)
From: Pavel Machek <pavel@ucw.cz>
To: Alex Williamson <alex.williamson@hp.com>
Cc: Matthew Wilcox <willy@debian.org>,
John Belmonte <john@neggie.net>,
acpi-devel@lists.sourceforge.net,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [ACPI] Re: [PATCH] filling in ACPI method access via sysfs namespace
Date: Thu, 6 May 2004 12:02:10 +0200 [thread overview]
Message-ID: <20040506100210.GA194@elf.ucw.cz> (raw)
In-Reply-To: <1081740686.1715.20.camel@debian>
Hi!
> > It seems unintuitive that you have to read the file for the method to
> > take effect. How about having the write function invoke the method and
> > (if there is a result) store it for later read-back via the read function?
> > It should be discarded on close, of course. A read() on a file with
> > no stored result should invoke the ACPI method (on the assumption this
> > is a parameter-less method) and return the result directly. Closing a
> > file should discard any result from the method.
>
> How's this? It behaves the way you described, but might be doing
> some questionable things with the buffer to get there. Is there a
> better place to store the return data than back into the buf passed to
> write() (aka file->private_data)? Without adding callbacks to
> open/close, I'm not sure how else we can dispose of the results on
> close. Thanks,
> + /*
> + * For convenience, handle cases where the last argument
> + * is too small.
> + */
> + count = length / sizeof(union acpi_object);
> + if (length % sizeof(union acpi_object))
> + count++;
> +
> + if (count) {
> + size = sizeof(struct acpi_object_list) +
> + ((count - 1) * sizeof(union acpi_object *));
This probably makes it *way* too implementation dependand.
Pavel
--
When do you have heart between your knees?
next prev parent reply other threads:[~2004-05-06 10:02 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-08 19:49 [PATCH] filling in ACPI method access via sysfs namespace Alex Williamson
2004-04-08 19:49 ` Alex Williamson
[not found] ` <1081453741.3398.77.camel-Wmjt7DDUnIVxnVILBQAtiA@public.gmane.org>
2004-04-09 22:21 ` Alex Williamson
2004-04-09 22:21 ` Alex Williamson
[not found] ` <1081549317.2694.25.camel-Wmjt7DDUnIVxnVILBQAtiA@public.gmane.org>
2004-04-10 1:52 ` John Belmonte
2004-04-10 1:52 ` [ACPI] " John Belmonte
2004-04-10 3:12 ` Alex Williamson
2004-04-10 5:31 ` John Belmonte
[not found] ` <407786C6.7030706-wanGne27zNesTnJN9+BGXg@public.gmane.org>
2004-04-10 20:42 ` Alex Williamson
2004-04-10 20:42 ` [ACPI] " Alex Williamson
2004-04-11 3:20 ` Alex Williamson
[not found] ` <1081653618.2562.52.camel-U2dVeZ/ykGCM0SS3m2neIg@public.gmane.org>
2004-04-11 22:29 ` Matthew Wilcox
2004-04-11 22:29 ` [ACPI] " Matthew Wilcox
2004-04-12 3:31 ` Alex Williamson
[not found] ` <1081740686.1715.20.camel-/d9U08IjUQs=@public.gmane.org>
2004-04-19 15:45 ` Alex Williamson
2004-04-19 15:45 ` [ACPI] " Alex Williamson
[not found] ` <1081740686.1715.20.camel-/d9U08IjUQs@public.gmane.org>
2004-05-06 10:02 ` Pavel Machek [this message]
2004-05-06 10:02 ` Pavel Machek
2004-04-10 5:32 ` Alex Williamson
[not found] <fa.n5srcao.1k1orra@ifi.uio.no>
[not found] ` <fa.e0sva3e.u5k09i@ifi.uio.no>
2004-04-12 4:13 ` Andy Lutomirski
[not found] ` <407A1787.5060508-YSGFQ8SKJZVDPfheJLI6IQ@public.gmane.org>
2004-04-12 4:32 ` Alex Williamson
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=20040506100210.GA194@elf.ucw.cz \
--to=pavel-+zi9xunit7i@public.gmane.org \
--cc=acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=alex.williamson-VXdhtT5mjnY@public.gmane.org \
--cc=john-wanGne27zNesTnJN9+BGXg@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=willy-8fiUuRrzOP0dnm+yROfE0A@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.