History log of /fuchsia/zircon/system/dev/bus/acpi/pciroot.cpp
Revision Date Author Comments
# d10bd5a4 25-Sep-2018 Andres Oportus <andresoportus@google.com>

[dev][pci] Remove ZX_PROTOCOL_TPM from PCI data callback

Before this change 'tpmctl save' would fail on Pixelbook because we
would create 2 tpm devices as in:

$ lsdev /dev/class/tpm/000
topological path for /dev/class/tpm/000:
/dev/sys/pci/00:15.1/i2c-bus-9d61/0050
$ lsdev /dev/class/tpm/001
topological path for /dev/class/tpm/001:
/dev/sys/pci/00:15.1/i2c-bus-9d61/0050/tpm

and tpmctl is hardcoded to look for /dev/class/tpm/000.

We were creating these 2 devices, one for the I2C slave added with
protocol ZX_PROTOCOL_TPM as part of the controller binding and one
added by the TPM driver binding due to the PCI_VID/PCI_DID/I2C_ADDR
rules in dev/misc/bind.c.

The device representing the I2C slave should not implement the TPM
protocol, hence this change removes that.

Test: 'tpmctl save' runs with no error on Pixelbook.

Change-Id: Ibdeee830453c4e5659b17ad20618eb98460b872d


# 5ccdc2c1 24-Sep-2018 Andres Oportus <andresoportus@google.com>

[dev][i2c][intel-i2c] Use I2C protocol instead of I2C transfer IOCTL

The Intel I2C driver supports IOCTLs that are used by other drivers,
this change replaces drivers calls to IOCTL_I2C_SLAVE_TRANSFER with
the I2C protocol's calls i2c_transact() and friends. This is a step
towards removing IOCTL based communication between drivers.

ZX-2621 #comment Use I2C protocol instead of I2C transfer IOCTL

Test: 'hidtouch' and 'audio' uapps in Pixelbook (touch panel and audio use
I2C) and 'hidtouch' in Acer12 (touch panel uses I2C)

Change-Id: Ic10ed2acc2ac69ed1ec2172f48392180aa0c37e6


# 7916490d 02-Aug-2018 Christopher Anderson <cja@google.com>

[bus][acpi] Pull pci/pciroot code out into their own file

This commit mostly moves some code from bus-acpi to pciroot
and makes small updates to C++ify it along the way.

Test: built / tested on x86, system still boots.

Change-Id: I25f3e700b62f4ed28408d9a75ddc1c3a89ad755c