Re: [PATCH v5 1/9] PCI: Add helper for checking if a PCI device is a display controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/26/2025 3:43 PM, Bjorn Helgaas wrote:
On Tue, Jun 24, 2025 at 03:30:34PM -0500, Mario Limonciello wrote:
From: Mario Limonciello <mario.limonciello@xxxxxxx>

Several places in the kernel do class shifting to match whether a
PCI device is display class.  Introduce a helper for those places to
use.

Reviewed-by: Daniel Dadap <ddadap@xxxxxxxxxx>
Reviewed-by: Simona Vetter <simona.vetter@xxxxxxxx>
Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>

Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>

Not sure how this should be merged, let me know if you want me to do
something with it.

Unless there is opposition I think it's best to take it through PCI.

It's a trivial change to most the other drivers. If there is opposition I think there will need to be an immutable tag for the others to merge.


---
  include/linux/pci.h | 15 +++++++++++++++
  1 file changed, 15 insertions(+)

diff --git a/include/linux/pci.h b/include/linux/pci.h
index 05e68f35f3923..e77754e43c629 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -744,6 +744,21 @@ static inline bool pci_is_vga(struct pci_dev *pdev)
  	return false;
  }
+/**
+ * pci_is_display - Check if a PCI device is a display controller
+ * @pdev: Pointer to the PCI device structure
+ *
+ * This function determines whether the given PCI device corresponds
+ * to a display controller. Display controllers are typically used
+ * for graphical output and are identified based on their class code.
+ *
+ * Return: true if the PCI device is a display controller, false otherwise.
+ */
+static inline bool pci_is_display(struct pci_dev *pdev)
+{
+	return (pdev->class >> 16) == PCI_BASE_CLASS_DISPLAY;
+}
+
  #define for_each_pci_bridge(dev, bus)				\
  	list_for_each_entry(dev, &bus->devices, bus_list)	\
  		if (!pci_is_bridge(dev)) {} else
--
2.43.0






[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux