diff mbox series

[iwl-next,v2,1/2] PCI: Add PCI_VDEVICE_SUB helper macro

Message ID 20241021144654.5453-1-piotr.kwapulinski@intel.com (mailing list archive)
State Handled Elsewhere
Headers show
Series [iwl-next,v2,1/2] PCI: Add PCI_VDEVICE_SUB helper macro | expand

Commit Message

Piotr Kwapulinski Oct. 21, 2024, 2:46 p.m. UTC
PCI_VDEVICE_SUB generates the pci_device_id struct layout for
the specific PCI device/subdevice. Private data may follow the
output.

Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Signed-off-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com>
---
 include/linux/pci.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

Bjorn Helgaas Oct. 22, 2024, 3:30 p.m. UTC | #1
On Mon, Oct 21, 2024 at 04:46:54PM +0200, Piotr Kwapulinski wrote:
> PCI_VDEVICE_SUB generates the pci_device_id struct layout for
> the specific PCI device/subdevice. Private data may follow the
> output.
> 
> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
> Signed-off-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com>

This looks OK to me but needs to be included in a series that uses it.
I looked this message up on lore but can't find the 2/2 patch that
presumably uses it.

If 2/2 uses this,

Acked-by: Bjorn Helgaas <bhelgaas@google.com>

> ---
>  include/linux/pci.h | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index 573b4c4..7d1359e 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -1050,6 +1050,20 @@ struct pci_driver {
>  	.vendor = PCI_VENDOR_ID_##vend, .device = (dev), \
>  	.subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, 0, 0
>  
> +/**
> + * PCI_VDEVICE_SUB - describe a specific PCI device/subdevice in a short form
> + * @vend: the vendor name
> + * @dev: the 16 bit PCI Device ID
> + * @subvend: the 16 bit PCI Subvendor ID
> + * @subdev: the 16 bit PCI Subdevice ID
> + *
> + * Generate the pci_device_id struct layout for the specific PCI
> + * device/subdevice. Private data may follow the output.
> + */
> +#define PCI_VDEVICE_SUB(vend, dev, subvend, subdev) \
> +	.vendor = PCI_VENDOR_ID_##vend, .device = (dev), \
> +	.subvendor = (subvend), .subdevice = (subdev), 0, 0
> +
>  /**
>   * PCI_DEVICE_DATA - macro used to describe a specific PCI device in very short form
>   * @vend: the vendor name (without PCI_VENDOR_ID_ prefix)
> -- 
> 2.43.0
>
Simon Horman Oct. 22, 2024, 4:04 p.m. UTC | #2
On Tue, Oct 22, 2024 at 10:30:11AM -0500, Bjorn Helgaas wrote:
> On Mon, Oct 21, 2024 at 04:46:54PM +0200, Piotr Kwapulinski wrote:
> > PCI_VDEVICE_SUB generates the pci_device_id struct layout for
> > the specific PCI device/subdevice. Private data may follow the
> > output.
> > 
> > Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
> > Signed-off-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com>
> 
> This looks OK to me but needs to be included in a series that uses it.
> I looked this message up on lore but can't find the 2/2 patch that
> presumably uses it.
> 
> If 2/2 uses this,
> 
> Acked-by: Bjorn Helgaas <bhelgaas@google.com>

Hi Bjorn,

The threading of this patch-set does seem somehow broken.
But, FWIIW, I believe that patch 2/2 is here:

- [PATCH iwl-next v2 2/2] ixgbevf: Add support for Intel(R) E610 device
  https://lore.kernel.org/netdev/20241021144841.5476-1-piotr.kwapulinski@intel.com/
diff mbox series

Patch

diff --git a/include/linux/pci.h b/include/linux/pci.h
index 573b4c4..7d1359e 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1050,6 +1050,20 @@  struct pci_driver {
 	.vendor = PCI_VENDOR_ID_##vend, .device = (dev), \
 	.subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, 0, 0
 
+/**
+ * PCI_VDEVICE_SUB - describe a specific PCI device/subdevice in a short form
+ * @vend: the vendor name
+ * @dev: the 16 bit PCI Device ID
+ * @subvend: the 16 bit PCI Subvendor ID
+ * @subdev: the 16 bit PCI Subdevice ID
+ *
+ * Generate the pci_device_id struct layout for the specific PCI
+ * device/subdevice. Private data may follow the output.
+ */
+#define PCI_VDEVICE_SUB(vend, dev, subvend, subdev) \
+	.vendor = PCI_VENDOR_ID_##vend, .device = (dev), \
+	.subvendor = (subvend), .subdevice = (subdev), 0, 0
+
 /**
  * PCI_DEVICE_DATA - macro used to describe a specific PCI device in very short form
  * @vend: the vendor name (without PCI_VENDOR_ID_ prefix)