From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1947878AbcBRUej (ORCPT ); Thu, 18 Feb 2016 15:34:39 -0500 Received: from ausc60ps301.us.dell.com ([143.166.148.206]:5375 "EHLO ausc60ps301.us.dell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1946859AbcBRUeh (ORCPT ); Thu, 18 Feb 2016 15:34:37 -0500 DomainKey-Signature: s=smtpout; d=dell.com; c=nofws; q=dns; h=X-LoopCount0:X-IronPort-AV:From:To:Cc:Subject:Date: Message-Id:X-Mailer:To; b=VHedrAWToJk1F2LKxs1JC2aYEaHOPnS6migkr8n0XHwni/+eoW2wShyw Fwvs2Ga0mgFlimSFbxb50jX20+SuWdqVbS+zVBTDkBTOjyUJU/wdJrSNl /oTNRcScNs+qNqHMDPqKf1zzcTYVtzkKN1a7HKlazgcF+ry3MA05VJDdV c=; X-LoopCount0: from 10.208.46.141 X-IronPort-AV: E=Sophos;i="5.22,467,1449554400"; d="scan'208";a="789910213" From: Jordan Hargrave To: jordan_hargrave@dell.com, bhelgaas@google.com Cc: alexander.duyck@gmail.com, linux-pci@vger.kernel.org, babu.moger@oracle.com, hare@suse.de, linux-kernel@vger.kernel.org, jharg93@gmail.com, Jordan Hargrave Subject: [PATCH 2/2] Create sysfs entries for PCI VPDI and VPDR tags Date: Thu, 18 Feb 2016 14:31:04 -0600 Message-Id: <1455827464-11398-1-git-send-email-Jordan_Hargrave@dell.com> X-Mailer: git-send-email 1.7.1 To: Jordan_Hargrave@dell.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The VPD-R is a readonly area of the PCI Vital Product Data region. There are some standard keywords for serial number, manufacturer, and vendor-specific values. Dell Servers use a vendor-specific tag to store number of ports and port mapping of partitioned NICs. info = VPD-Info string PN = Part Number SN = Serial Number MN = Manufacturer ID Vx = Vendor-specific (x=0..9 A..Z) This creates a sysfs subdirectory in the pci device: vpdattr with 'info', 'EC', 'SN', 'V0', etc. files containing the tag values. Added pci.h patch Signed-off-by: Jordan Hargrave --- include/linux/pci.h | 3 + 1 files changed, 3 insertions(+) diff --git a/include/linux/pci.h b/include/linux/pci.h index 8135a2f..c1313b1 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -372,6 +372,9 @@ struct pci_dev { const struct attribute_group **msi_irq_groups; #endif struct pci_vpd *vpd; + int vpdr_len; + u8 *vpdr_data; + char *vpdi_data; #ifdef CONFIG_PCI_ATS union { struct pci_sriov *sriov; /* SR-IOV capability related */ -- 2.5.0