/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * Copyright (c) 2019 Google, Inc
 */

#ifndef __DM_PCI_H
#define __DM_PCI_H

struct udevice;

/**
 * pci_get_devfn() - Extract the devfn from fdt_pci_addr of the device
 *
 * Get devfn from fdt_pci_addr of the specified device
 *
 * This returns an int to avoid a dependency on pci.h
 *
 * @dev:	PCI device
 * @return devfn in bits 15...8 if found (pci_dev_t format), or -ENODEV if not
 *	found
 */
int pci_get_devfn(struct udevice *dev);

/**
 * pci_ofplat_get_devfn() - Get the PCI dev/fn from of-platdata
 *
 * This function is used to obtain a PCI device/function from of-platdata
 * register data. In this case the first cell of the 'reg' property contains
 * the required information.
 *
 * This returns an int to avoid a dependency on pci.h
 *
 * @reg: reg value from dt-platdata.c array (first member). This is not a
 *	pointer type, since the caller may use fdt32_t or fdt64_t depending on
 *	the address sizes.
 * @return device/function for that device (pci_dev_t format)
 */
static inline int pci_ofplat_get_devfn(u32 reg)
{
	return reg & 0xff00;
}

#endif
