1098ca2bdSWarner Losh#- 26182fdbdSPeter Wemm# Copyright (c) 1998 Doug Rabson 36182fdbdSPeter Wemm# All rights reserved. 46182fdbdSPeter Wemm# 56182fdbdSPeter Wemm# Redistribution and use in source and binary forms, with or without 66182fdbdSPeter Wemm# modification, are permitted provided that the following conditions 76182fdbdSPeter Wemm# are met: 86182fdbdSPeter Wemm# 1. Redistributions of source code must retain the above copyright 96182fdbdSPeter Wemm# notice, this list of conditions and the following disclaimer. 106182fdbdSPeter Wemm# 2. Redistributions in binary form must reproduce the above copyright 116182fdbdSPeter Wemm# notice, this list of conditions and the following disclaimer in the 126182fdbdSPeter Wemm# documentation and/or other materials provided with the distribution. 136182fdbdSPeter Wemm# 146182fdbdSPeter Wemm# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 156182fdbdSPeter Wemm# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 166182fdbdSPeter Wemm# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 176182fdbdSPeter Wemm# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 186182fdbdSPeter Wemm# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 196182fdbdSPeter Wemm# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 206182fdbdSPeter Wemm# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 216182fdbdSPeter Wemm# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 226182fdbdSPeter Wemm# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 236182fdbdSPeter Wemm# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 246182fdbdSPeter Wemm# SUCH DAMAGE. 256182fdbdSPeter Wemm# 26c3aac50fSPeter Wemm# $FreeBSD$ 276182fdbdSPeter Wemm# 286182fdbdSPeter Wemm 29f7b77691SDoug Rabson#include <sys/bus.h> 30f7b77691SDoug Rabson 316182fdbdSPeter WemmINTERFACE pci; 326182fdbdSPeter Wemm 336182fdbdSPeter WemmMETHOD u_int32_t read_config { 346182fdbdSPeter Wemm device_t dev; 356182fdbdSPeter Wemm device_t child; 366182fdbdSPeter Wemm int reg; 376182fdbdSPeter Wemm int width; 386182fdbdSPeter Wemm}; 396182fdbdSPeter Wemm 406182fdbdSPeter WemmMETHOD void write_config { 416182fdbdSPeter Wemm device_t dev; 426182fdbdSPeter Wemm device_t child; 436182fdbdSPeter Wemm int reg; 446182fdbdSPeter Wemm u_int32_t val; 456182fdbdSPeter Wemm int width; 466182fdbdSPeter Wemm}; 479eb13b39SPeter Wemm 489eb13b39SPeter WemmMETHOD int get_powerstate { 499eb13b39SPeter Wemm device_t dev; 509eb13b39SPeter Wemm device_t child; 519eb13b39SPeter Wemm}; 529eb13b39SPeter Wemm 539eb13b39SPeter WemmMETHOD int set_powerstate { 549eb13b39SPeter Wemm device_t dev; 559eb13b39SPeter Wemm device_t child; 569eb13b39SPeter Wemm int state; 579eb13b39SPeter Wemm}; 589eb13b39SPeter Wemm 59c047e5b1SMatthew N. DoddMETHOD int enable_busmaster { 609eb13b39SPeter Wemm device_t dev; 619eb13b39SPeter Wemm device_t child; 629eb13b39SPeter Wemm}; 639eb13b39SPeter Wemm 64c047e5b1SMatthew N. DoddMETHOD int disable_busmaster { 659eb13b39SPeter Wemm device_t dev; 669eb13b39SPeter Wemm device_t child; 679eb13b39SPeter Wemm}; 689eb13b39SPeter Wemm 69c047e5b1SMatthew N. DoddMETHOD int enable_io { 709eb13b39SPeter Wemm device_t dev; 719eb13b39SPeter Wemm device_t child; 729eb13b39SPeter Wemm int space; 739eb13b39SPeter Wemm}; 749eb13b39SPeter Wemm 75c047e5b1SMatthew N. DoddMETHOD int disable_io { 769eb13b39SPeter Wemm device_t dev; 779eb13b39SPeter Wemm device_t child; 789eb13b39SPeter Wemm int space; 799eb13b39SPeter Wemm}; 803920999dSThomas Moestl 813920999dSThomas MoestlMETHOD int assign_interrupt { 823920999dSThomas Moestl device_t dev; 833920999dSThomas Moestl device_t child; 843920999dSThomas Moestl}; 85