From: KAMEZAWA Hiroyuki <kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
To: keith <kmannth-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: len.brown-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
naveen.b.s-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
acpi-devel
<acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>,
external hotplug mem list
<lhms-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: Re: [Lhms-devel] [PATCH 1/1] patch to fix acpi_memhotplug.c
Date: Wed, 16 Nov 2005 12:26:34 +0900 [thread overview]
Message-ID: <437AA6EA.905@jp.fujitsu.com> (raw)
In-Reply-To: <1132109343.3798.62.camel@knk>
keith wrote:
> Kame this patch will not apply to 2.6.14-mm1 or 2.6.15-rc1. Is this
> patch ment to be used with other patches?
>
Hmm, I created this on 2.6.14-mm1 .. but I'll re-check my tree. sorry.
>> static int
>> acpi_memory_get_device_resources(struct acpi_memory_device *mem_device)
>> {
>>@@ -112,18 +130,14 @@ acpi_memory_get_device_resources(struct
>>
>> static int
>> acpi_memory_get_device(acpi_handle handle,
>>- struct acpi_memory_device **mem_device)
>>+ struct acpi_device **device)
here. **device. *device is filled by this func.
>>- /*
>>- * Now add the notified device. This creates the acpi_device
>>- * and invokes .add function
>>- */
>>- status = acpi_bus_add(&device, pdevice, handle, ACPI_BUS_TYPE_DEVICE);
>>+ status = acpi_bus_add(device, pdevice, handle, ACPI_BUS_TYPE_DEVICE);
>
>
> At this point the device is a null pointer? Where is the device created
> you pass to acpi_bus_add?
*device is null at this point.
See:
acpi_bus_add()
-> acpi_bus_scan()(ops.acpi_op_add = 1;)
-> acpi_add_single_object()
(*)device = kmalloc(sizeof(struct acpi_device), GFP_KERNEL);
-> acpi_bus_find_driver()
-> acpi_bus_driver_init()
here driver->ops.add = acpi_memory_device_add,
-> acpi_memory_device_add()
(*) mem_device = kmalloc(sizeof(struct acpi_memory_device), GFP_KERNEL);
All necessary kmalloc is done under acpi_bus_add().
And pointer to device is returned in the first argment(struct acpi_device **).
This is the same manner as acpi_processor/acpi_container.
>
>
>> if (ACPI_FAILURE(status)) {
>> ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Error in acpi_bus_add\n"));
>> return_VALUE(-EINVAL);
>> }
>>
>>- end:
>>- *mem_device = acpi_driver_data(device);
>>- if (!(*mem_device)) {
>>- printk(KERN_ERR "\n driver data not found");
>>- return_VALUE(-ENODEV);
>>- }
>>-
>> return_VALUE(0);
>> }
>
>
> Where does acpi_memory_get_device return the device via the device
> pointer? I don't see anywhere it is assigned....
>
1 status = acpi_bus_get_device(handle, &device);
2 if (ACPI_FAILURE(status) || !device) {
3 if (present) {
4 status = acpi_memory_get_device(handle, &device);
5 if (ACPI_FAILURE(status) || !device) {
6 ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
7 "Error in finding driver data\n"));
8 return_VOID;
9 }
10 } else {
11 ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
12 "notified handle seems not present"));
13 return_VOID;
14 }
15 }
in line 4 above.
> I am not having _STA confusion. acpi_memory_get_device just dosen't
> return a device. I would still fall into "Error in finding driver"
> path.
>
Hmm, I'll look into more.
BTW, could you confirm following ?
(1) CONFIG_ACPI_HOTPLUG_MEMORY=y
(2) Does your memory device has type PNP0C80 ?
Thanks,
-- Kame
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc. Get Certified Today
Register for a JBoss Training Course. Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
next prev parent reply other threads:[~2005-11-16 3:26 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-07 21:44 acpi_memhotplug driver is not working for me. Any ideas? keith
2005-11-11 2:45 ` keith
2005-11-12 5:03 ` [RFC][PATCH] patch to fix acpi_memhotplug.c for my hardware keith
2005-11-15 5:36 ` [PATCH 1/1] patch to fix acpi_memhotplug.c keith
2005-11-15 9:29 ` [Lhms-devel] " KAMEZAWA Hiroyuki
[not found] ` <4379AA86.5040901-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2005-11-15 9:33 ` KAMEZAWA Hiroyuki
2005-11-16 2:49 ` keith
2005-11-16 3:26 ` KAMEZAWA Hiroyuki [this message]
2005-11-15 10:20 ` Yasunori Goto
[not found] ` <20051115171221.7E99.Y-GOTO-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2005-11-17 4:18 ` keith
2005-11-17 6:08 ` KAMEZAWA Hiroyuki
[not found] ` <437C1E6C.6000404-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2005-11-18 2:22 ` keith
2005-11-18 2:56 ` KAMEZAWA Hiroyuki
[not found] ` <437D42F1.6080407-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2005-11-18 18:54 ` keith
2005-11-17 7:01 ` Yasunori Goto
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=437AA6EA.905@jp.fujitsu.com \
--to=kamezawa.hiroyu-+cum20s59erqfuhtdcdx3a@public.gmane.org \
--cc=acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=kmannth-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
--cc=len.brown-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=lhms-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=naveen.b.s-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