From owner-freebsd-acpi@FreeBSD.ORG Tue Feb 19 15:45:02 2008 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B2D8B16A41A; Tue, 19 Feb 2008 15:45:02 +0000 (UTC) (envelope-from avg@icyb.net.ua) Received: from falcon.cybervisiontech.com (falcon.cybervisiontech.com [217.20.163.9]) by mx1.freebsd.org (Postfix) with ESMTP id 302C513C44B; Tue, 19 Feb 2008 15:45:01 +0000 (UTC) (envelope-from avg@icyb.net.ua) Received: from localhost (localhost [127.0.0.1]) by falcon.cybervisiontech.com (Postfix) with ESMTP id E581B744003; Tue, 19 Feb 2008 17:44:59 +0200 (EET) X-Virus-Scanned: Debian amavisd-new at falcon.cybervisiontech.com Received: from falcon.cybervisiontech.com ([127.0.0.1]) by localhost (falcon.cybervisiontech.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EiaHsVgdXOZo; Tue, 19 Feb 2008 17:44:59 +0200 (EET) Received: from [10.2.1.87] (gateway.cybervisiontech.com.ua [88.81.251.18]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by falcon.cybervisiontech.com (Postfix) with ESMTP id 8D18043F371; Tue, 19 Feb 2008 17:44:59 +0200 (EET) Message-ID: <47BAF97A.80405@icyb.net.ua> Date: Tue, 19 Feb 2008 17:44:58 +0200 From: Andriy Gapon User-Agent: Thunderbird 2.0.0.9 (X11/20080123) MIME-Version: 1.0 To: Rui Paulo References: <47B96989.6070008@icyb.net.ua> <98F7E48C-1CBF-494D-8411-D80E25247214@FreeBSD.org> In-Reply-To: <98F7E48C-1CBF-494D-8411-D80E25247214@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@freebsd.org Subject: Re: acpi_throttle: quirk based on pci info X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2008 15:45:02 -0000 on 19/02/2008 01:00 Rui Paulo said the following: > On Feb 18, 2008, at 11:18 AM, Andriy Gapon wrote: > >> While looking for something else I accidentally noticed that >> acpi_throttle has one quirk for some early revisions of PIIX4 chipset >> and the quirk is enabled based on PCI info. >> I have a newer revision of PIIX4 so the quirk is not applicable in >> my case. >> >> Nevertheless I noticed that acpi_throttle is initialized before PCI >> bus >> driver, so when it calls pci_find_device() it always returns NULL and >> quirk is not applied. At least this is what I see in dmesg on my >> machine. > > I run into a similar problem on my SoC MacBook project and I ended up > using the SMI vendor strings because it was too early in boot in order > to find the PCI devices. The problem here is very similar. > Maybe we should try to use SMI vendor strings instead of > pci_find_device()? I am not familiar with this approach and I am not sure if that works with that type of (quite old) hardware. When I worked on something else I remember somebody (maybe Nate) recommending me to model my code after ichss: sys/dev/cpufreq/ichss.c Maybe the same approach could be used here? I.e. no identify method for acpi bus. Additional device/driver for pci bus. pci probe method checks for duplicates and adds the acpi device as a child to acpi bus. pci probe method sets quirks based on pci info. pci probe method runs device_probe_and_attach on the acpi device. as a consequence acpi probe and attach (for successful probe) are executed. The only unclear issue is where to place the code that is currently in (acpi) identify method - should it go to pci identify method or should it go to acpi probe method. -- Andriy Gapon