On Mon, Oct 01, 2012 at 02:30:00PM +0000, Zhang, Rui wrote: > > > > -----Original Message----- > > From: Mika Westerberg [mailto:mika.westerberg@xxxxxxxxxxxxxxx] > > Sent: Monday, October 01, 2012 2:45 PM > > To: Zhang, Rui > > Cc: LKML; linux-pm; linux-i2c; linux-acpi@xxxxxxxxxxxxxxx; Len, Brown; > > Rafael J. Wysocki; Grant Likely; Dirk Brandewie > > Subject: Re: [RFC PATCH 0/6] ACPI: ACPI 5.0 device enumeration proposal > > Importance: High > > > > On Fri, Sep 28, 2012 at 03:37:43PM +0800, Zhang Rui wrote: > > > > > > the main idea is that, for Serial Buses like I2C and SPI, we > > enumerate > > > the controller as a platform device, and then enumerate the slaves > > via > > > i2c/spi_register_board_info. And then, when the controller is really > > > probed and enabled in the platform driver, the SPI/I2C bus code will > > > enumerate I2C/SPI slaves automatically. > > > And for the other devices, we will enumerate all of them as platform > > > devices, which is not covered in this patch set yet. > > > > Can you show some example how we could use this new code for example > > with an existing I2C/SPI slave driver? > > This is just prototype patch set that I want to illustrate my idea > on ACPI device enumeration, to get more thoughts on this. > So no example driver so far. But surely you have thought how this should be done? Otherwise we only see a part of the solution here. What if this enumeration you introduce here doesn't play well when I2C/SPI are added? > > > Let's say the device uses few > > GPIOs, one for interrupt and other for triggering firmware download. In > > addition to that it needs a special parameters that can be extracted > > running the "_DSM" method of the device. > > > > Normally the driver would get this stuff from the platform data or from > > Device Tree but how it is done with these patches? > > Can you show me an example driver that gets the special parameters from Device Tree? drivers/misc/eeprom/at25.c but there are much more if you search for DT enabled drivers. Now, I don't know what is the proper way to pass parameters in ACPI but "_DSM" seems to be one that is being used.