On Tue, May 3, 2016 at 3:19 PM, Mark Brown <broonie@xxxxxxxxxx> wrote: > On Thu, Apr 28, 2016 at 10:37:57PM +0300, Octavian Purdila wrote: >> On Thu, Apr 28, 2016 at 8:42 PM, Mark Brown <broonie@xxxxxxxxxx> wrote: > >> > 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. > > OK, but the fact that I need to know that isn't exactly thrilling - > that's really the issue with the not quite duplication here. It's not > just if the code works but also the maintainability. I agree that this is unfortunate. I could not find a common path for both device tree and ACPI. Perhaps when we remove of_node from struct device and move to fwnode we could remove some duplication. I can add a couple of comments around acpi_device_enumerated() and adev->flags.visited = true; to make it clear that we won't double enumerate. Will that help? -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html