From mboxrd@z Thu Jan 1 00:00:00 1970 From: Octavian Purdila Subject: Re: [PATCH v5 2/8] acpi: fix enumeration (visited) flags for bus rescans Date: Wed, 6 Jul 2016 18:37:46 +0300 Message-ID: References: <1467404352-27101-1-git-send-email-octavian.purdila@intel.com> <1467404352-27101-3-git-send-email-octavian.purdila@intel.com> <20160706150317.GH23527@lahna.fi.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: In-Reply-To: <20160706150317.GH23527@lahna.fi.intel.com> Sender: linux-i2c-owner@vger.kernel.org To: Mika Westerberg Cc: "Rafael J . Wysocki" , Len Brown , Matt Fleming , Mark Brown , Wolfram Sang , Joel Becker , "linux-acpi@vger.kernel.org" , linux-efi@vger.kernel.org, linux-i2c , linux-spi , lkml , Irina Tirdea , Leonard Crestez List-Id: linux-acpi@vger.kernel.org On Wed, Jul 6, 2016 at 6:03 PM, Mika Westerberg wrote: > On Fri, Jul 01, 2016 at 11:19:06PM +0300, Octavian Purdila wrote: >> If the ACPI tables changes as a result of a dinamically loaded table and >> a bus rescan is required the enumeration/visited flag are not >> consistent. >> >> I2C/SPI are not directly enumerated in acpi_bus_attach(), however the >> visited flag is set. This makes it impossible to check if an ACPI device >> has already been enumerated by the I2C and SPI subsystems. To fix this >> issue we only set the visited flags if the device is not I2C or SPI. >> >> With this change we also need to remove setting visited to false from >> acpi_bus_attach(), otherwise if we rescan already enumerated I2C/SPI >> devices we try to re-enumerate them. >> >> Note that I2C/SPI devices can be enumerated either via a scan handler >> (when using PRP0001) or via regular device_attach(). In either case >> the flow goes through acpi_default_enumeration() which makes it the >> ideal place to mark the ACPI device as enumerated. > > Hmm, this somehow fails to enumerate PRP0001 devices. > > I'm adding following SSDT to my initrd and the resulting device is never > enumerated on SPI bus (it exists in /sys/bus/acpi/devices). If I use > normal ACPI IDs (non-PRP0001) then it works fine. > I specifically tested with PRP0001 via initrd with I2C, I am not sure why it does not work on SPI. I'll give it a try tomorrow when I have access to my setup.