Re: [RFC PATCH v2 06/10] spi: add support for ACPI reconfigure notifications

From: Octavian Purdila
Date: Thu Apr 28 2016 - 15:38:06 EST


On Thu, Apr 28, 2016 at 8:42 PM, Mark Brown <broonie@xxxxxxxxxx> wrote:
> On Wed, Apr 20, 2016 at 01:39:04AM +0300, Octavian Purdila wrote:
>
>> + switch (value) {
>> + case ACPI_RECONFIG_DEVICE_ADD:
>> + master = acpi_spi_find_master_by_adev(adev->parent);
>> + if (!master)
>> + break;
>> +
>> + acpi_register_spi_device(master, adev);
>> + put_device(&master->dev);
>> + break;
>> + case ACPI_RECONFIG_DEVICE_REMOVE:
>> + spi = acpi_spi_find_device_by_adev(adev);
>> + if (!spi)
>> + break;
>
> There's more code here now than I remember but this all looks *really*
> close to the DT code except for the OF_POPULATED flag that we set when
> things are instantiated in DT. The duplication seems bad but the fact
> that we're missing the flag worries me... do we have guarantees that
> ACPI won't double register?

We use the adev->flags.visited to check when a device has been already
enumerated, and we skip registering a new SPI slave in that case.