Re: [PATCH v5 2/8] acpi: fix enumeration (visited) flags for bus rescans

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 6, 2016 at 6:03 PM, Mika Westerberg
<mika.westerberg@xxxxxxxxxxxxxxx> 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.
--
To unsubscribe from this list: send the line "unsubscribe linux-efi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux