[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <31239967.dEXrvihxAE@vostro.rjw.lan>
Date: Wed, 06 Jul 2016 23:09:44 +0200
From: "Rafael J. Wysocki" <rjw@...ysocki.net>
To: Octavian Purdila <octavian.purdila@...el.com>
Cc: Mika Westerberg <mika.westerberg@...ux.intel.com>,
Len Brown <lenb@...nel.org>,
Matt Fleming <matt@...eblueprint.co.uk>,
Mark Brown <broonie@...nel.org>,
Wolfram Sang <wsa@...-dreams.de>,
Joel Becker <jlbec@...lplan.org>,
"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>,
linux-efi@...r.kernel.org, linux-i2c <linux-i2c@...r.kernel.org>,
linux-spi <linux-spi@...r.kernel.org>,
lkml <linux-kernel@...r.kernel.org>,
Irina Tirdea <irina.tirdea@...el.com>,
Leonard Crestez <leonard.crestez@...el.com>
Subject: Re: [PATCH v5 2/8] acpi: fix enumeration (visited) flags for bus rescans
On Wednesday, July 06, 2016 06:37:46 PM Octavian Purdila wrote:
> On Wed, Jul 6, 2016 at 6:03 PM, Mika Westerberg
> <mika.westerberg@...ux.intel.com> 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.
OK, I'll wait for this test to conclude before applying the series, then. :-)
Thanks,
Rafael
Powered by blists - more mailing lists