---
title: PCI
framework: kernel
role: collectionGroup
role_heading: API Collection
path: kernel/hardware_families/pci
---

# PCI

Implement a driver that supports Thunderbolt devices or PCI cards.

## Overview

Overview For many types of PCI drivers, the use of kernel extensions is deprecated. Instead, create a DriverKit extension using PCIDriverKit.

## Topics

### Devices

- [Implementing a PCIe Kext for a Thunderbolt Device](kernel/hardware_families/pci/implementing_a_pcie_kext_for_a_thunderbolt_device.md)
- [IOPCIDevice](kernel/iopcidevice.md)
- [IOAGPDevice](kernel/ioagpdevice.md)

### Event Source

- [IOPCIEventSource](kernel/iopcieventsource.md)

## See Also

### Hardware Interconnects

- [ATA](kernel/hardware_families/ata.md)
- [Bluetooth](kernel/hardware_families/bluetooth.md)
- [FireWire](kernel/hardware_families/firewire.md)
- [USB](kernel/hardware_families/usb.md)
