Message ID | 1363217302-14383-5-git-send-email-yinghai@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
On Wed, Mar 13, 2013 at 5:27 PM, Yinghai Lu <yinghai@kernel.org> wrote: > According to resource pointer find out if the resource is some type resource > like bridge, sriov, or std. > > Signed-off-by: Yinghai Lu <yinghai@kernel.org> > --- > include/linux/pci.h | 23 +++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > > diff --git a/include/linux/pci.h b/include/linux/pci.h > index 127a856..efb348b 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -92,6 +92,29 @@ enum { > DEVICE_COUNT_RESOURCE = PCI_NUM_RESOURCES, > }; > > +static inline bool is_pci_std_resource_idx(int i) > +{ > + return i >= PCI_STD_RESOURCES && i <= PCI_STD_RESOURCE_END; > +} > + > +static inline bool is_pci_rom_resource_idx(int i) > +{ > + return i == PCI_ROM_RESOURCE; > +} > + > +static inline bool is_pci_iov_resource_idx(int i) > +{ > +#ifdef CONFIG_PCI_IOV > + return i >= PCI_IOV_RESOURCES && i <= PCI_IOV_RESOURCE_END; > +#endif > + return false; > +} > + > +static inline bool is_pci_bridge_resource_idx(int i) > +{ > + return i >= PCI_BRIDGE_RESOURCES && i <= PCI_BRIDGE_RESOURCE_END; > +} > + > typedef int __bitwise pci_power_t; > > #define PCI_D0 ((pci_power_t __force) 0) 1) I don't like adding more "_idx()" interfaces. 2) The only one of these that's even used is "is_pci_bridge_resource_idx()" 3) I think adding a wrapper struct with a "type" or "flags" field would make this trivial, e.g., "pres->flags & PCI_RESOURCE_WINDOW" or something. -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/linux/pci.h b/include/linux/pci.h index 127a856..efb348b 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -92,6 +92,29 @@ enum { DEVICE_COUNT_RESOURCE = PCI_NUM_RESOURCES, }; +static inline bool is_pci_std_resource_idx(int i) +{ + return i >= PCI_STD_RESOURCES && i <= PCI_STD_RESOURCE_END; +} + +static inline bool is_pci_rom_resource_idx(int i) +{ + return i == PCI_ROM_RESOURCE; +} + +static inline bool is_pci_iov_resource_idx(int i) +{ +#ifdef CONFIG_PCI_IOV + return i >= PCI_IOV_RESOURCES && i <= PCI_IOV_RESOURCE_END; +#endif + return false; +} + +static inline bool is_pci_bridge_resource_idx(int i) +{ + return i >= PCI_BRIDGE_RESOURCES && i <= PCI_BRIDGE_RESOURCE_END; +} + typedef int __bitwise pci_power_t; #define PCI_D0 ((pci_power_t __force) 0)
According to resource pointer find out if the resource is some type resource like bridge, sriov, or std. Signed-off-by: Yinghai Lu <yinghai@kernel.org> --- include/linux/pci.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)