mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1341 commits) virtio_net: remove forgotten assignment be2net: fix tx completion polling sis190: fix cable detect via link status poll net: fix protocol sk_buff field bridge: Fix build error when IGMP_SNOOPING is not enabled bnx2x: Tx barriers and locks scm: Only support SCM_RIGHTS on unix domain sockets. vhost-net: restart tx poll on sk_sndbuf full vhost: fix get_user_pages_fast error handling vhost: initialize log eventfd context pointer vhost: logging thinko fix wireless: convert to use netdev_for_each_mc_addr ethtool: do not set some flags, if others failed ipoib: returned back addrlen check for mc addresses netlink: Adding inode field to /proc/net/netlink axnet_cs: add new id bridge: Make IGMP snooping depend upon BRIDGE. bridge: Add multicast count/interval sysfs entries bridge: Add hash elasticity/max sysfs entries bridge: Add multicast_snooping sysfs toggle ... Trivial conflicts in Documentation/feature-removal-schedule.txt
This commit is contained in:
commit
6d6b89bd2e
1214 changed files with 114042 additions and 39272 deletions
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
obj-y += access.o bus.o probe.o remove.o pci.o \
|
||||
pci-driver.o search.o pci-sysfs.o rom.o setup-res.o \
|
||||
irq.o
|
||||
irq.o vpd.o
|
||||
obj-$(CONFIG_PROC_FS) += proc.o
|
||||
obj-$(CONFIG_SYSFS) += slot.o
|
||||
|
||||
|
|
|
|||
|
|
@ -706,6 +706,21 @@ irqreturn_t pci_sriov_migration(struct pci_dev *dev)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(pci_sriov_migration);
|
||||
|
||||
/**
|
||||
* pci_num_vf - return number of VFs associated with a PF device_release_driver
|
||||
* @dev: the PCI device
|
||||
*
|
||||
* Returns number of VFs, or 0 if SR-IOV is not enabled.
|
||||
*/
|
||||
int pci_num_vf(struct pci_dev *dev)
|
||||
{
|
||||
if (!dev || !dev->is_physfn)
|
||||
return 0;
|
||||
else
|
||||
return dev->sriov->nr_virtfn;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pci_num_vf);
|
||||
|
||||
static int ats_alloc_one(struct pci_dev *dev, int ps)
|
||||
{
|
||||
int pos;
|
||||
|
|
|
|||
|
|
@ -2529,6 +2529,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x10e7, quirk_i82576_sriov);
|
|||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x10e8, quirk_i82576_sriov);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x150a, quirk_i82576_sriov);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x150d, quirk_i82576_sriov);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x1518, quirk_i82576_sriov);
|
||||
|
||||
#endif /* CONFIG_PCI_IOV */
|
||||
|
||||
|
|
|
|||
61
drivers/pci/vpd.c
Normal file
61
drivers/pci/vpd.c
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* File: vpd.c
|
||||
* Purpose: Provide PCI VPD support
|
||||
*
|
||||
* Copyright (C) 2010 Broadcom Corporation.
|
||||
*/
|
||||
|
||||
#include <linux/pci.h>
|
||||
|
||||
int pci_vpd_find_tag(const u8 *buf, unsigned int off, unsigned int len, u8 rdt)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = off; i < len; ) {
|
||||
u8 val = buf[i];
|
||||
|
||||
if (val & PCI_VPD_LRDT) {
|
||||
/* Don't return success of the tag isn't complete */
|
||||
if (i + PCI_VPD_LRDT_TAG_SIZE > len)
|
||||
break;
|
||||
|
||||
if (val == rdt)
|
||||
return i;
|
||||
|
||||
i += PCI_VPD_LRDT_TAG_SIZE +
|
||||
pci_vpd_lrdt_size(&buf[i]);
|
||||
} else {
|
||||
u8 tag = val & ~PCI_VPD_SRDT_LEN_MASK;
|
||||
|
||||
if (tag == rdt)
|
||||
return i;
|
||||
|
||||
if (tag == PCI_VPD_SRDT_END)
|
||||
break;
|
||||
|
||||
i += PCI_VPD_SRDT_TAG_SIZE +
|
||||
pci_vpd_srdt_size(&buf[i]);
|
||||
}
|
||||
}
|
||||
|
||||
return -ENOENT;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pci_vpd_find_tag);
|
||||
|
||||
int pci_vpd_find_info_keyword(const u8 *buf, unsigned int off,
|
||||
unsigned int len, const char *kw)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = off; i + PCI_VPD_INFO_FLD_HDR_SIZE <= off + len;) {
|
||||
if (buf[i + 0] == kw[0] &&
|
||||
buf[i + 1] == kw[1])
|
||||
return i;
|
||||
|
||||
i += PCI_VPD_INFO_FLD_HDR_SIZE +
|
||||
pci_vpd_info_field_size(&buf[i]);
|
||||
}
|
||||
|
||||
return -ENOENT;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pci_vpd_find_info_keyword);
|
||||
Loading…
Reference in a new issue