From mboxrd@z Thu Jan 1 00:00:00 1970 From: john.garry@huawei.com (John Garry) Date: Fri, 30 Jun 2017 10:28:36 +0100 Subject: [PATCH v9 5/7] ACPI: Translate the I/O range of non-MMIO devices before scanning In-Reply-To: <20170630090515.GU629@lahna.fi.intel.com> References: <20170612155700.GA31930@red-moon> <20170613084831.GP3187@lahna.fi.intel.com> <20170613151013.GT3187@lahna.fi.intel.com> <20170613200339.GX3187@lahna.fi.intel.com> <20170616083313.GY3187@lahna.fi.intel.com> <808a7db0-7844-b263-0216-1fe943ac819a@huawei.com> <20170630090515.GU629@lahna.fi.intel.com> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 30/06/2017 10:05, Mika Westerberg wrote: > On Thu, Jun 29, 2017 at 05:16:15PM +0100, John Garry wrote: >> On 16/06/2017 12:24, Rafael J. Wysocki wrote: >>>>>>>>> >>>>>>>>> It causes acpi_default_enumeration() to be called but it should be fine >>>>>>>>> as we are dealing with platform device anyway. >>>>>>> >>>>>>> I do not quite understand how declaring such MFD cell above would make sure >>>>>>> that the LPC probe is called before the IPMI device is enumerated... >>>>> >>>>> In fact it may be that it is not sufficient in this case because the >>>>> ACPI core might enumerate child devices before the LPC driver even gets >>>>> a chance to probe so you would need to add also scan handler to the >>>>> child devices and mark them already enumerated or something like that. >>> Or extend the special I2C/SPI handling to them. >>> >> >> For this, is it possible to just configure the ACPI table so we spoof that >> the LPC slave (IPI0001), is an i2c/spi slave? Could we just add a resource >> of type ACPI_RESOURCE_TYPE_SERIAL_BUS, and common serial bus type i2c/spi to >> solve this? > > But is the device connected to a I2C or SPI bus? If not, then it does > not make much sense to declare it as I2C or SPI slave. Instead it should > be platform device which is the type we use when there is no explicit > bus specified in ACPI. > No, it's not a SPI nor an I2C bus. I actually would say that my idea is generally wrong, as the ACPI definition is not a real reflection of the bus/slave. However, Rafael did suggest extending special I2C/SPI handling to them. In this case, I don't see how the LPC slave can be identified like an I2C or SPI slave is. Thanks, John > . >