Date: Tue, 19 Feb 2008 17:44:58 +0200 From: Andriy Gapon <avg@icyb.net.ua> To: Rui Paulo <rpaulo@freebsd.org> Cc: freebsd-acpi@freebsd.org Subject: Re: acpi_throttle: quirk based on pci info Message-ID: <47BAF97A.80405@icyb.net.ua> In-Reply-To: <98F7E48C-1CBF-494D-8411-D80E25247214@FreeBSD.org> References: <47B96989.6070008@icyb.net.ua> <98F7E48C-1CBF-494D-8411-D80E25247214@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47BAF97A.80405>