From owner-cvs-src@FreeBSD.ORG Mon Jul 21 14:28:56 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9A74737B404 for ; Mon, 21 Jul 2003 14:28:56 -0700 (PDT) Received: from mail.speakeasy.net (mail12.speakeasy.net [216.254.0.212]) by mx1.FreeBSD.org (Postfix) with ESMTP id ED0AC43FBD for ; Mon, 21 Jul 2003 14:28:54 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Received: (qmail 14006 invoked from network); 21 Jul 2003 21:28:54 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender )encrypted SMTP for ; 21 Jul 2003 21:28:54 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.9/8.12.9) with ESMTP id h6LLSpGI040209; Mon, 21 Jul 2003 17:28:52 -0400 (EDT) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.4 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <20030721133301.P34741@root.org> Date: Mon, 21 Jul 2003 17:29:08 -0400 (EDT) From: John Baldwin To: Nate Lawson cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: RE: cvs commit: src/sys/dev/acpica acpi_ec.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jul 2003 21:28:57 -0000 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 <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/