The pic_* interface was usedExpose softc and other necessary things in a separate header.
Only edge interrupts are supported by this controllerThis is needed for an armv8 specific driver, that will inherit from this one.
Driver mutex had to bewas converted to a spin lock so that it cal be used in the interrupt filter context.
Two types of intr_map_data are supported - INTR_MAP_DATA_GPIO and INTR_MAP_DATA_FDT.
This way interrupts can be allocated using the userspace gpio interrupt allocation method, as well as directly from simplebus.
Thso that it can be latter can beter used by devices that have its irq routed to a GPIO pinin interrupt filter context.