zephyr/include/drivers
Johan Hedberg 9e4dfd8f4e drivers: pcie: Add support for IRQ allocation management
There are x86 platforms where the IRQ configuration register for PCIe
is not pre-populated and the OS needs to assign a number dynamically
by writing to the register.

In order to allocate interrupts we have to know which ones have been
hard-coded in device tree. We accomplish this by collecting these
values through the IRQ_CONNECT() macro and placing them in a dedicated
linker section (in ROM).

The full set of allocated interrupts are managed through a bitmap, and
the pre-allocated values (from the linker section) are inserted into
this upon initial runtime access.

This patch introduces a new pcie_alloc_irq() API that drivers can use
to allocate interrupt line numbers. The two in-tree drivers that were
using this API (I2C and UART) are converted to use the new API.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2020-11-14 11:13:00 +02:00
..
adc device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
bluetooth device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
clock_control drivers: timer: nrf: Add configurable clock startup mode 2020-09-10 21:31:01 +02:00
console drivers: modem: gsm_ppp: Enable start/stop 2020-10-19 18:29:02 +02:00
ec_host_cmd_periph ec_host_cmd_periph: add device API 2020-09-04 14:50:45 -04:00
gpio device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
ieee802154 zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
interrupt_controller x86: apic: use device MMIO APIs 2020-07-17 11:38:18 +02:00
led device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
modem drivers: modem: add Sierra Wireless HL7800 Modem Driver 2020-08-31 10:46:33 +02:00
pcie drivers: pcie: Add support for IRQ allocation management 2020-11-14 11:13:00 +02:00
rtc device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
sensor device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
timer kernel: Remove deprecated APIs and MACROs from 2.3 2020-10-04 14:13:09 -07:00
uart device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
usb code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
adc.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
can.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
clock_control.h drivers: clock_control: Change clock_control_async_on parameters 2020-10-14 14:06:56 +02:00
counter.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
dac.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
display.h device: Apply driver_api/data attributes rename everywhere 2020-08-11 19:30:53 +02:00
dma.h drivers: Manual const-ification of device driver instance 2020-09-02 13:48:13 +02:00
ec_host_cmd_periph.h ec_host_cmd_periph: add device API 2020-09-04 14:50:45 -04:00
eeprom.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
entropy.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
espi.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
flash.h doc/reference/peripherals/flash: extract internal API doc 2020-10-27 12:52:07 +01:00
gna.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
gpio.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
gsm_ppp.h drivers: gsm: Add GSM modem device name 2020-10-19 18:29:02 +02:00
hwinfo.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_emul.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
i2c.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
i2s.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
ipm.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
kscan.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
led_strip.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
led.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
lora.h lorawan,lora: fix C++ compilation/linking errors 2020-10-15 11:08:07 +02:00
peci.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
pinmux.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
ps2.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
pwm.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
regulator.h drivers: add infrastructure for regulator devices 2020-10-28 15:22:53 +01:00
sensor.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
spi_emul.h emul: spi: Add support for SPI emulators 2020-10-05 15:33:00 -04:00
spi.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
uart.h uart: Remove deprecated defines 2020-10-07 15:13:32 -05:00
video-controls.h drivers: Add video API 2019-10-25 15:13:53 -05:00
video.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
watchdog.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00