> -----Original Message----- > From: Mika Westerberg [mailto:mika.westerberg@xxxxxxxxxxxxxxx] > Sent: Monday, October 01, 2012 2:38 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 1/6] Introduce acpi_match_device_id(). > Importance: High > > On Sat, Sep 29, 2012 at 01:31:52PM +0000, Zhang, Rui wrote: > > > > > > +{ > > > > + acpi_handle handle = DEVICE_ACPI_HANDLE(dev); > > > > > > If the device is not bound to an ACPI handle this will return NULL. > > > And I don't see you doing that in this series meaning that.. > > > > > > > > > You're right, I should set pdev->archdata.acpi_handle to the I2C > > controller in i2c_root.c. > > There already is an API for that - check drivers/acpi/glue.c. Do you mean acpi_bind? acpi_bind_one will bind the physical device node to the ACPI device, But for the i2c controller ACPI device, the physical node is the I2C adapter in the I2C bus. If we introduce I2C bus ACPI binding, which is what we're doing now, the i2c_adapter->dev.archdata.acpi_handle will be set to the ACPI i2c controller handle by acpi_bind_one. Thanks, rui