public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: keith mannthey <kmannth@us.ibm.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Prarit Bhargava--redhat <prarit@redhat.com>,
	linux acpi <linux-acpi@vger.kernel.org>,
	robert.moore@intel.com, konrad <darnok@us.ibm.com>,
	lhms-devel <lhms-devel@lists.sourceforge.net>
Subject: Re: [Lhms-devel] [RFC] Patch [1/2] for acpi_memhotplug.c
Date: Wed, 21 Jun 2006 18:37:00 -0700	[thread overview]
Message-ID: <1150940220.10001.11.camel@keithlap> (raw)
In-Reply-To: <20060622091336.be46e7a6.kamezawa.hiroyu@jp.fujitsu.com>

On Thu, 2006-06-22 at 09:13 +0900, KAMEZAWA Hiroyuki wrote: 
> On Wed, 21 Jun 2006 16:23:47 -0700
> keith mannthey <kmannth@us.ibm.com> wrote:
> > Update.  I have moved to 2.6.17-rc6-mm2 to work with the development
> > acpi_memhotplug driver there. I have added various debug statements and
> > this is what I know. 
> > 
> Thanks, looks informative.
> 
> >   acpi_memory_get_device calls acpi_bus_add
> >   acpi_bus_add calls acpi_add_single_object (fails)
> >   acpi_add_single_object passes acpi_bus_get_flags
> > 				finds the device present
> > 				passes acpi_device_set_context
> > 				calls acpi_device_register
> > 				after calling acpi_bus_find_driver
> > 				ends up 
> > 				if (!result) *child = device;
> > 				and returns. 
> >    
> 
> Then, "acpi_device" itself is added, but no driver data.
> acpi_add_single_object doesn't check return value of acpi_bus_find_driver(), 
> as you know. So...
> ===
> static int acpi_bus_find_driver(struct acpi_device *device)
> {
> <snip>
>         list_for_each_safe(node, next, &acpi_bus_drivers) {
> <snip>
>                 if (!acpi_bus_match(device, driver)) {
> (*)-----------      result = acpi_bus_driver_init(device, driver);
>                         if (!result)
>                                 goto Done;
>                 }
> ....
> }
> ===
> Next check point is:
> - acpi_bus_driver_init() is called or not
> - what acpi_bus_driver_init() returns

result = acpi_bus_driver_init(device, driver);
if (!result)
     goto Done;

I goto Done.  


> in acpi_bus_driver_init()
> - driver->ops.add() is called or not
> - what it retruns

It is called.  But that is not the whole story.  
In acpi_bus_driver_init it calls driver->ops.add(device). This ops.add
is not acpi_memory_device_add.  I do get not any printks that I would
expect from acpi_memory_device_add.   

If I print out in acpi_bus_driver_init
 printk(" device_add() about %s\n",acpi_device_name(device));
 result = driver->ops.add(device);

The device name is null.  I don't think the device / driver combo that
has been passed in are the right ones.  


> int acpi_memory_device_add()
> - it is called or not
> - why this  fails.
This is not called. 


After acpi_bus_driver_init calls the unknown .add it returns successfully. 
it sets 

device->driver = driver;
and
return 0;

Maybe I am picking the wrong driver from list_for_each_safe(node, next, &acpi_bus_drivers) 
in acpi_bus_find_driver?


Thanks for your help. 
-- 
keith mannthey <kmannth@us.ibm.com>
Linux Technology Center IBM


  reply	other threads:[~2006-06-22  1:37 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-18 20:51 Re: [Lhms-devel] [PATCH 1/1] patch to fix acpi_memhotplug.c Moore, Robert
     [not found] ` <971FCB6690CD0E4898387DBF7552B90E0378BEE7-sBd4vmA9Se5Qxe9IK+vIArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2005-11-19 10:44   ` Erik Slagter
2005-11-19 12:15   ` Kamezawa Hiroyuki
     [not found]     ` <1150853300.5873.49.camel@keithlap>
2006-06-21  2:10       ` [Lhms-devel] [RFC] Patch [1/1] for acpi_memhotplug.c keith mannthey
     [not found]       ` <20060621114334.1b954854.kamezawa.hiroyu@jp.fujitsu.com>
     [not found]         ` <1150863525.7865.6.camel@keithlap>
     [not found]           ` <20060621194832.37124aae.kamezawa.hiroyu@jp.fujitsu.com>
2006-06-21 18:43             ` [Lhms-devel] [RFC] Patch [1/2] " keith mannthey
2006-06-21 23:23               ` keith mannthey
2006-06-22  0:13                 ` KAMEZAWA Hiroyuki
2006-06-22  1:37                   ` keith mannthey [this message]
2006-06-22  1:58                     ` KAMEZAWA Hiroyuki
2006-06-22  2:19                       ` keith mannthey
2006-06-22  3:13                         ` KAMEZAWA Hiroyuki
2006-06-22  3:55                           ` keith mannthey
2006-06-22  5:20                             ` KAMEZAWA Hiroyuki
2006-06-22  6:11                               ` KAMEZAWA Hiroyuki
2006-06-22  7:01                               ` KAMEZAWA Hiroyuki
2006-06-22 17:25                               ` keith mannthey
2006-06-22 17:41                                 ` KAMEZAWA Hiroyuki
2006-06-22 18:29                                   ` keith mannthey
2006-06-22 19:07                                     ` keith mannthey
2006-06-22  2:28                       ` keith mannthey

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=1150940220.10001.11.camel@keithlap \
    --to=kmannth@us.ibm.com \
    --cc=darnok@us.ibm.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=lhms-devel@lists.sourceforge.net \
    --cc=linux-acpi@vger.kernel.org \
    --cc=prarit@redhat.com \
    --cc=robert.moore@intel.com \
    /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