
Hello, Stefan.
I've tried your patch on Atom C2000 board (which is not supported by U-boot, but I use U-boot as the Coreboot payload).
I've added /* Intel Atom processor C2000 PCU SMBus */ { PCI_VDEVICE(INTEL, 0x1f3c) }, to intel_smbus_pci_supported for it to work.
It works and works exactly like Linux's driver in SMBus block mode (testing with i2ctools 's' option'), but my I2C devices don't work well with it. Since Linux's and your drivers behave identically, it must be just because devices don't support block mode.
Simon's issue with
This does not crash, but I see nothing on the bus with 'i2c dev 0; i2c probe'. Is that expected?
probably caused by the fact that his devices doesn't support block mode too.
Also, isn't it better to put PCI device IDs in pci_ids.h as defines?