X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lspci.h;h=4d711a555d65f7a5233e120afc56de56fcc07383;hb=7d23054d18402b1891343f090d3cd37d7e83c82f;hp=fefee5256423a4790487e06cd31419eb8d5d978a;hpb=888ddf0e53f304d61326665bca3294f38129d7c9;p=pciutils.git diff --git a/lspci.h b/lspci.h index fefee52..4d711a5 100644 --- a/lspci.h +++ b/lspci.h @@ -3,7 +3,9 @@ * * Copyright (c) 1997--2018 Martin Mares * - * Can be freely distributed and used under the terms of the GNU GPL. + * Can be freely distributed and used under the terms of the GNU GPL v2+ + * + * SPDX-License-Identifier: GPL-2.0-or-later */ #define PCIUTILS_LSPCI @@ -39,6 +41,7 @@ struct device { struct bus *parent_bus; struct bridge *bridge; /* Cache */ + int no_config_access; unsigned int config_cached, config_bufsize; byte *config; /* Cached configuration space data */ byte *present; /* Maps which configuration bytes are present */ @@ -55,14 +58,6 @@ u32 get_conf_long(struct device *d, unsigned int pos); word get_conf_word(struct device *d, unsigned int pos); byte get_conf_byte(struct device *d, unsigned int pos); -void get_subid(struct device *d, word *subvp, word *subdp); - -/* Useful macros for decoding of bits and bit fields */ - -#define FLAG(x,y) ((x & y) ? '+' : '-') -#define BITS(x,at,width) (((x) >> (at)) & ((1 << (width)) - 1)) -#define TABLE(tab,x,buf) ((x) < sizeof(tab)/sizeof((tab)[0]) ? (tab)[x] : (sprintf((buf), "??%d", (x)), (buf))) - /* ls-vpd.c */ void cap_vpd(struct device *d); @@ -89,8 +84,8 @@ void show_kernel_cleanup(void); struct bridge { struct bridge *chain; /* Single-linked list of bridges */ - struct bridge *next, *child; /* Tree of bridges */ - struct bus *first_bus; /* List of buses connected to this bridge */ + struct bridge *next, *prev, *child; /* Tree of bridges */ + struct bus *first_bus, *last_bus; /* List of buses connected to this bridge */ unsigned int domain; unsigned int primary, secondary, subordinate; /* Bus numbers */ struct device *br_dev;