On Fri, Oct 23, 2015 at 12:24 PM, Ben Gardner <gardner.ben@xxxxxxxxx> wrote: > On Fri, Oct 23, 2015 at 3:20 AM, Mika Westerberg > <mika.westerberg@xxxxxxxxxxxxxxx> wrote: >> On Thu, Oct 22, 2015 at 12:17:58PM -0500, Ben Gardner wrote: >>> > The next issue is that the I2C-core isn't matching the device to the >>> > "at24" driver, which has the alias "24c02". >>> >>> Here is what I found. >>> i2c-core is creating the device with the ACPI name "24C02:00". >>> The at24 driver uses "24c02" as the alias. >>> i2c-code is matching devices to drivers using strcmp(). >>> >>> Result: no match. ("24c02" != "24C02:00"). >>> >>> If I modify acpi_i2c_add_device() to cut off the name at the ':' and >>> covert to lowercase when populating info.type, it matches and works. >>> I must be missing something here, because this would have never worked as-is. >>> I'll ask on the I2C mailing list. >> >> You should either use proper _HID/_CID for the device or put "PRP0001" >> to the _HID and let the match happen with DT .compatible strings. I've >> attached a hack that I use locally. >> >> The corresponding ASL fragment would look like: >> >> >> Device (AT24) >> { >> Name (_HID, "PRP0001") >> >> Method (_CRS, 0, Serialized) { >> Name (UBUF, ResourceTemplate () { >> I2cSerialBus (0x50, ControllerInitiated, 0x00061A80, >> AddressingMode7Bit, "\\_SB.I2C6", >> 0x00, ResourceConsumer) >> }) >> Return (UBUF) >> } >> >> Name (_DSD, Package () { >> ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), >> Package () { >> Package () {"compatible", "atmel,24c02"}, >> Package () {"size", 256}, >> Package () {"pagesize", 32}, >> Package () {"abs-value", 1}, >> }, >> }) >> >> Method (_STA, 0, NotSerialized) >> { >> Return (0xF) >> } >> } > > I like this approach, as one change to the driver will support all ACPI devices. > I'll give it a try. This approach works well enough. Would you mind if I cleaned up the patch and submitted it for inclusion? Or is there a reason why this isn't upstream? Thanks, Ben -- 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