[PATCH] bus: mhi: host: pci_generic: Sort mhi_pci_id_table based on the PID

Manivannan Sadhasivam posted 1 patch 4 years, 1 month ago
There is a newer version of this series
drivers/bus/mhi/host/pci_generic.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
[PATCH] bus: mhi: host: pci_generic: Sort mhi_pci_id_table based on the PID
Posted by Manivannan Sadhasivam 4 years, 1 month ago
Sorting this way helps in identifying the products of vendors. There is no
sorting required for VID and the new VID should be added as the last entry.

Let's also add a note clarifying this.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
---
 drivers/bus/mhi/host/pci_generic.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
index 9527b7d63840..55e96aa15566 100644
--- a/drivers/bus/mhi/host/pci_generic.c
+++ b/drivers/bus/mhi/host/pci_generic.c
@@ -446,20 +446,21 @@ static const struct mhi_pci_dev_info mhi_sierra_em919x_info = {
 	.sideband_wake = false,
 };
 
+/* Keep the list sorted based on the PID. New VID should be added as the last entry */
 static const struct pci_device_id mhi_pci_id_table[] = {
+	{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304),
+		.driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info },
+	{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0306),
+		.driver_data = (kernel_ulong_t) &mhi_qcom_sdx55_info },
 	/* EM919x (sdx55), use the same vid:pid as qcom-sdx55m */
 	{ PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306, 0x18d7, 0x0200),
 		.driver_data = (kernel_ulong_t) &mhi_sierra_em919x_info },
-	{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0306),
-		.driver_data = (kernel_ulong_t) &mhi_qcom_sdx55_info },
-	{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0304),
-		.driver_data = (kernel_ulong_t) &mhi_qcom_sdx24_info },
+	{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
+		.driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
 	{ PCI_DEVICE(0x1eac, 0x1001), /* EM120R-GL (sdx24) */
 		.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
 	{ PCI_DEVICE(0x1eac, 0x1002), /* EM160R-GL (sdx24) */
 		.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
-	{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
-		.driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
 	/* T99W175 (sdx55), Both for eSIM and Non-eSIM */
 	{ PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0ab),
 		.driver_data = (kernel_ulong_t) &mhi_foxconn_sdx55_info },
-- 
2.25.1
Re: [PATCH] bus: mhi: host: pci_generic: Sort mhi_pci_id_table based on the PID'
Posted by Daniele Palmas 4 years ago
Hi Mani,

> +	{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0306),

Shouldn't this entry be after all PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306,
ones?

Otherwise will it catch all of them?

Thanks,
Daniele
Re: [PATCH] bus: mhi: host: pci_generic: Sort mhi_pci_id_table based on the PID'
Posted by Manivannan Sadhasivam 4 years ago
On Mon, Apr 11, 2022 at 02:37:15PM +0200, Daniele Palmas wrote:
> Hi Mani,
> 
> > +	{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0306),
> 
> Shouldn't this entry be after all PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0306,
> ones?
> 
> Otherwise will it catch all of them?
> 

Ah, yes. Will fix it.

Thanks,
Mani

> Thanks,
> Daniele