174ada297SKa Ho Ng#- 2*54399caaSEd Maste# Copyright (c) 2021 The FreeBSD Foundation 374ada297SKa Ho Ng# 474ada297SKa Ho Ng# Portions of this software were developed by Ka Ho Ng 574ada297SKa Ho Ng# under sponsorship from the FreeBSD Foundation. 674ada297SKa Ho Ng# 774ada297SKa Ho Ng# Redistribution and use in source and binary forms, with or without 874ada297SKa Ho Ng# modification, are permitted provided that the following conditions 974ada297SKa Ho Ng# are met: 1074ada297SKa Ho Ng# 1. Redistributions of source code must retain the above copyright 1174ada297SKa Ho Ng# notice, this list of conditions and the following disclaimer. 1274ada297SKa Ho Ng# 2. Redistributions in binary form must reproduce the above copyright 1374ada297SKa Ho Ng# notice, this list of conditions and the following disclaimer in the 1474ada297SKa Ho Ng# documentation and/or other materials provided with the distribution. 1574ada297SKa Ho Ng# 1674ada297SKa Ho Ng# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 1774ada297SKa Ho Ng# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1874ada297SKa Ho Ng# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1974ada297SKa Ho Ng# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 2074ada297SKa Ho Ng# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2174ada297SKa Ho Ng# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2274ada297SKa Ho Ng# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2374ada297SKa Ho Ng# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2474ada297SKa Ho Ng# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2574ada297SKa Ho Ng# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2674ada297SKa Ho Ng# SUCH DAMAGE. 2774ada297SKa Ho Ng# 2874ada297SKa Ho Ng# 2974ada297SKa Ho Ng 3074ada297SKa Ho Ng#include <sys/types.h> 3174ada297SKa Ho Ng#include <sys/systm.h> 3274ada297SKa Ho Ng#include <sys/bus.h> 3374ada297SKa Ho Ng 3474ada297SKa Ho NgINTERFACE ivhd; 3574ada297SKa Ho Ng 3674ada297SKa Ho NgMETHOD int setup_intr { 3774ada297SKa Ho Ng device_t dev; 3874ada297SKa Ho Ng driver_intr_t handler; 3974ada297SKa Ho Ng void *arg; 4074ada297SKa Ho Ng const char *desc; 4174ada297SKa Ho Ng}; 4274ada297SKa Ho Ng 4374ada297SKa Ho NgMETHOD int teardown_intr { 4474ada297SKa Ho Ng device_t dev; 4574ada297SKa Ho Ng}; 46