linux/include/linux/of_pci.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef __OF_PCI_H
   3#define __OF_PCI_H
   4
   5#include <linux/pci.h>
   6#include <linux/msi.h>
   7
   8struct pci_dev;
   9struct of_phandle_args;
  10struct device_node;
  11
  12#if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_PCI)
  13struct device_node *of_pci_find_child_device(struct device_node *parent,
  14                                             unsigned int devfn);
  15int of_pci_get_devfn(struct device_node *np);
  16void of_pci_check_probe_only(void);
  17int of_pci_map_rid(struct device_node *np, u32 rid,
  18                   const char *map_name, const char *map_mask_name,
  19                   struct device_node **target, u32 *id_out);
  20#else
  21static inline struct device_node *of_pci_find_child_device(struct device_node *parent,
  22                                             unsigned int devfn)
  23{
  24        return NULL;
  25}
  26
  27static inline int of_pci_get_devfn(struct device_node *np)
  28{
  29        return -EINVAL;
  30}
  31
  32static inline int of_pci_map_rid(struct device_node *np, u32 rid,
  33                        const char *map_name, const char *map_mask_name,
  34                        struct device_node **target, u32 *id_out)
  35{
  36        return -EINVAL;
  37}
  38
  39static inline void of_pci_check_probe_only(void) { }
  40#endif
  41
  42#if IS_ENABLED(CONFIG_OF_IRQ)
  43int of_irq_parse_and_map_pci(const struct pci_dev *dev, u8 slot, u8 pin);
  44#else
  45static inline int
  46of_irq_parse_and_map_pci(const struct pci_dev *dev, u8 slot, u8 pin)
  47{
  48        return 0;
  49}
  50#endif
  51
  52#endif
  53