From: Dmitry Torokhov <dtor_core-yWtbtysYrB+LZ21kGMrzwg@public.gmane.org>
To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Cc: Len Brown <len.brow-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: [PATCH 1/4] properly create kobjects in acpi/scan.c
Date: Tue, 24 Aug 2004 01:34:15 -0500 [thread overview]
Message-ID: <200408240134.16962.dtor_core@ameritech.net> (raw)
Hi,
I have a bunch of patches that I would like you to take a look at:
01-acpi-scan-kobject.patch
- properly create/register kobjects - take reference to the parent
since kobject_unregister will try dropping it potentially
(if ACPI was ever to release created devices) causing parent be
destroyed early) and use kobject_set_name to properly set name.
02-acpi-event-code.patch
- move event (userspace signalling) code from acpi/bus.c to
acpi/event.c as too many implementation details were exported,
plus some additional fixes to the event handling code.
03-acpi-use-rwsem.patch
- kill brandead usage of acpi_device_lock & list_for_eacj_safe.
list_for_each_safe is only safe in the sense that current
element can be safely removed by the same thread that is using
list_for_each_safe. List still has to be protected from other
threads for entire duration of list traversal.
Use acpi_subsys.rwsem instead of acpi_device_lock to protect
lists.
Btw, why don't we just convert ACPI to be standard driver core bus with
standard drivers and devices? I could cook up something... The
/sys/firmware/acpi hierarchy is not populated with any useful data yet
so there should be no concern of breakign userspace interface (I am mot
talking about removing /proc/acpi part at the moment).
04-acpi-multiple-readers.patch
- allow multiple readrs access /proc/acpi/event, every event is
delivered to all readers. Also limit number of pending events
to 64 (per reader) so if reader is stuck ACPI does not consume
all memory.
Can be user by various daemons, I could see cpufreqd listening
for battery insertion/removal events and debugging is much
easier too.
The patches are against last night pull from Linus repo.
--
Dmitry
===================================================================
ChangeSet@1.1842, 2004-08-24 01:09:40-05:00, dtor_core-yWtbtysYrB+LZ21kGMrzwg@public.gmane.org
ACPI: Properly create kobj when registering acpi_device:
- use kobject_set_name to initialize name;
- take teference to parent's kobj as kobject_unregister
will drop it
- do not call kobject_init and kobject_add, just use
kobject_register as everyone else does.
Signed-off-by: Dmitry Torokhov <dtor-JGs/UdohzUI@public.gmane.org>
scan.c | 8 +++-----
1 files changed, 3 insertions(+), 5 deletions(-)
===================================================================
diff -Nru a/drivers/acpi/scan.c b/drivers/acpi/scan.c
--- a/drivers/acpi/scan.c 2004-08-24 01:16:25 -05:00
+++ b/drivers/acpi/scan.c 2004-08-24 01:16:25 -05:00
@@ -66,13 +66,11 @@
list_add_tail(&device->g_list,&acpi_device_list);
spin_unlock(&acpi_device_lock);
- kobject_init(&device->kobj);
- strlcpy(device->kobj.name,device->pnp.bus_id,KOBJ_NAME_LEN);
+ kobject_set_name(&device->kobj, device->pnp.bus_id);
if (parent)
- device->kobj.parent = &parent->kobj;
- device->kobj.ktype = &ktype_acpi_ns;
+ device->kobj.parent = kobject_get(&parent->kobj);
device->kobj.kset = &acpi_namespace_kset;
- kobject_add(&device->kobj);
+ kobject_register(&device->kobj);
}
static int
-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
next reply other threads:[~2004-08-24 6:34 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-24 6:34 Dmitry Torokhov [this message]
[not found] ` <200408240134.16962.dtor_core-yWtbtysYrB+LZ21kGMrzwg@public.gmane.org>
2004-08-24 6:36 ` [PATCH 2/4] event code fixes/cleanup Dmitry Torokhov
[not found] ` <200408240136.46113.dtor_core-yWtbtysYrB+LZ21kGMrzwg@public.gmane.org>
2004-08-24 6:37 ` [PATCH 3/4] use acpi_subsys.rwsem in acpi/scan.c Dmitry Torokhov
[not found] ` <200408240137.55691.dtor_core-yWtbtysYrB+LZ21kGMrzwg@public.gmane.org>
2004-08-24 6:39 ` [PATCH 4/4] allow multiple /proc/acpi/event readers Dmitry Torokhov
2004-08-24 15:23 ` [PATCH 1/4] properly create kobjects in acpi/scan.c Hiroshi Miura
[not found] ` <87zn4ky2zr.wl%miura-yiisDzvROlQdnm+yROfE0A@public.gmane.org>
2004-08-24 16:15 ` Mattia Dongili
2004-08-24 17:03 ` Dmitry Torokhov
2004-08-24 19:50 ` Len Brown
-- strict thread matches above, loose matches on Subject: below --
2004-08-24 21:45 Keshavamurthy, Anil S
2004-08-24 22:45 ` Dmitry Torokhov
2004-08-24 22:47 Keshavamurthy, Anil S
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=200408240134.16962.dtor_core@ameritech.net \
--to=dtor_core-ywtbtysyrb+lz21kgmrzwg@public.gmane.org \
--cc=acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=len.brow-ral2JQCrhuEAvxtiuMwx3w@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox