Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Jul 2003 17:29:08 -0400 (EDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Nate Lawson <nate@root.org>
Cc:        cvs-all@FreeBSD.org
Subject:   RE: cvs commit: src/sys/dev/acpica acpi_ec.c
Message-ID:  <XFMail.20030721172908.jhb@FreeBSD.org>
In-Reply-To: <20030721133301.P34741@root.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On 21-Jul-2003 Nate Lawson wrote:
> On Mon, 21 Jul 2003, John Baldwin wrote:
>> On 20-Jul-2003 Nate Lawson wrote:
>> >   Modified files:
>> >     sys/dev/acpica       acpi_ec.c
>> >   Log:
>> >   Do not call acpi_MatchHid() for all probe cases since it accesses the
>> >   namespace.  To compensate for it only being used in the !ECDT case, use
>> >   a more robust approach to indicate a device was probed via ECDT by setting
>> >   the private ivar to be &acpi_ec_devclass.  Without the acpi_MatchHid() call
>> >   now, it might have been possible for a non-EC device to have had its magic
>> >   match our previous flag.
>> >
>> >   Pointed out by:         takawata
>>
>> Assuming you are doing a device_add_child() to add the ec, you could add it
>> with the name "acpi_ec" and then only the ec driver would probe it.
> 
> I do add it with that name but that doesn't prevent it from getting a
> duplicate probe when the namespace is evaluated (much later).
> 
> The sequence with ECDT is:
> acpi_attach()
> acpi_ec_ecdt_probe()
>     if ECDT present
>        device_add_child("acpi_ec")
>        device_probe_and_attach()
>            acpi_ec_probe()
>                if ECDT magic set in ivars
>                   done

The magic part seems evil.  I'm not sure yet of a better way to handle
that though.

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20030721172908.jhb>