root/arch/sparc/include/asm/pbm.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  *
   4  * pbm.h: PCI bus module pseudo driver software state
   5  *        Adopted from sparc64 by V. Roganov and G. Raiko
   6  *
   7  * Original header:
   8  * pbm.h: U2P PCI bus module pseudo driver software state.
   9  *
  10  * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
  11  *
  12  * To put things into perspective, consider sparc64 with a few PCI controllers.
  13  * Each type would have an own structure, with instances related one to one.
  14  * We have only pcic on sparc, but we want to be compatible with sparc64 pbm.h.
  15  * All three represent different abstractions.
  16  *   pci_bus  - Linux PCI subsystem view of a PCI bus (including bridged buses)
  17  *   pbm      - Arch-specific view of a PCI bus (sparc or sparc64)
  18  *   pcic     - Chip-specific information for PCIC.
  19  */
  20 
  21 #ifndef __SPARC_PBM_H
  22 #define __SPARC_PBM_H
  23 
  24 #include <linux/pci.h>
  25 #include <asm/oplib.h>
  26 #include <asm/prom.h>
  27 
  28 struct linux_pbm_info {
  29         int             prom_node;
  30         char            prom_name[64];
  31         /* struct linux_prom_pci_ranges pbm_ranges[PROMREG_MAX]; */
  32         /* int          num_pbm_ranges; */
  33 
  34         /* Now things for the actual PCI bus probes. */
  35         unsigned int    pci_first_busno;        /* Can it be nonzero? */
  36         struct pci_bus  *pci_bus;               /* Was inline, MJ allocs now */
  37 };
  38 
  39 /* PCI devices which are not bridges have this placed in their pci_dev
  40  * sysdata member.  This makes OBP aware PCI device drivers easier to
  41  * code.
  42  */
  43 struct pcidev_cookie {
  44         struct linux_pbm_info           *pbm;
  45         struct device_node              *prom_node;
  46 };
  47 
  48 #endif /* !(__SPARC_PBM_H) */

/* [<][>][^][v][top][bottom][index][help] */