2022-11-01 02:30:44

by Slark Xiao

[permalink] [raw]
Subject: [PATCH v3] PCI: Add vendor ID for QUECTEL

n MHI driver, there are some companies' product still do not have their
own PCI vendor macro. So we add it here to make the code neat. Ref ID
could be found in link https://pcisig.com/membership/member-companies.

Signed-off-by: Slark Xiao <[email protected]>
---
v3: Separate different vendors into different patch.

v2: Update vendor ID to the right location sorted by numeric value.
---
drivers/bus/mhi/host/pci_generic.c | 6 +++---
include/linux/pci_ids.h | 2 ++
2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
index caa4ce28cf9e..81ae9c49ce2a 100644
--- a/drivers/bus/mhi/host/pci_generic.c
+++ b/drivers/bus/mhi/host/pci_generic.c
@@ -555,11 +555,11 @@ static const struct pci_device_id mhi_pci_id_table[] = {
.driver_data = (kernel_ulong_t) &mhi_telit_fn990_info },
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
.driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
- { PCI_DEVICE(0x1eac, 0x1001), /* EM120R-GL (sdx24) */
+ { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1001), /* EM120R-GL (sdx24) */
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
- { PCI_DEVICE(0x1eac, 0x1002), /* EM160R-GL (sdx24) */
+ { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1002), /* EM160R-GL (sdx24) */
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
- { PCI_DEVICE(0x1eac, 0x2001), /* EM120R-GL for FCCL (sdx24) */
+ { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x2001), /* EM120R-GL for FCCL (sdx24) */
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
/* T99W175 (sdx55), Both for eSIM and Non-eSIM */
{ PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0ab),
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index b362d90eb9b0..3c91461bcfe4 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -2585,6 +2585,8 @@
#define PCI_VENDOR_ID_TEKRAM 0x1de1
#define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29

+#define PCI_VENDOR_ID_QUECTEL 0x1eac
+
#define PCI_VENDOR_ID_TEHUTI 0x1fc9
#define PCI_DEVICE_ID_TEHUTI_3009 0x3009
#define PCI_DEVICE_ID_TEHUTI_3010 0x3010
--
2.34.1



2022-11-01 05:21:42

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v3] PCI: Add vendor ID for QUECTEL

On Tue, Nov 01, 2022 at 10:10:52AM +0800, Slark Xiao wrote:
> n MHI driver, there are some companies' product still do not have their
> own PCI vendor macro. So we add it here to make the code neat. Ref ID
> could be found in link https://pcisig.com/membership/member-companies.
>
> Signed-off-by: Slark Xiao <[email protected]>
> ---
> v3: Separate different vendors into different patch.
>
> v2: Update vendor ID to the right location sorted by numeric value.
> ---
> drivers/bus/mhi/host/pci_generic.c | 6 +++---
> include/linux/pci_ids.h | 2 ++
> 2 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
> index caa4ce28cf9e..81ae9c49ce2a 100644
> --- a/drivers/bus/mhi/host/pci_generic.c
> +++ b/drivers/bus/mhi/host/pci_generic.c
> @@ -555,11 +555,11 @@ static const struct pci_device_id mhi_pci_id_table[] = {
> .driver_data = (kernel_ulong_t) &mhi_telit_fn990_info },
> { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
> .driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
> - { PCI_DEVICE(0x1eac, 0x1001), /* EM120R-GL (sdx24) */
> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1001), /* EM120R-GL (sdx24) */
> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
> - { PCI_DEVICE(0x1eac, 0x1002), /* EM160R-GL (sdx24) */
> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1002), /* EM160R-GL (sdx24) */
> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
> - { PCI_DEVICE(0x1eac, 0x2001), /* EM120R-GL for FCCL (sdx24) */
> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x2001), /* EM120R-GL for FCCL (sdx24) */
> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
> /* T99W175 (sdx55), Both for eSIM and Non-eSIM */
> { PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0ab),
> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> index b362d90eb9b0..3c91461bcfe4 100644
> --- a/include/linux/pci_ids.h
> +++ b/include/linux/pci_ids.h
> @@ -2585,6 +2585,8 @@
> #define PCI_VENDOR_ID_TEKRAM 0x1de1
> #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29
>
> +#define PCI_VENDOR_ID_QUECTEL 0x1eac

Why did you ignore the comment at the top of this file saying that new
entries are not needed to be added, especially for just one user?

thanks,

greg k-h

2022-11-01 06:46:40

by Slark Xiao

[permalink] [raw]
Subject: Re:Re: [PATCH v3] PCI: Add vendor ID for QUECTEL

















At 2022-11-01 12:46:19, "Greg KH" <[email protected]> wrote:
>On Tue, Nov 01, 2022 at 10:10:52AM +0800, Slark Xiao wrote:
>> n MHI driver, there are some companies' product still do not have their
>> own PCI vendor macro. So we add it here to make the code neat. Ref ID
>> could be found in link https://pcisig.com/membership/member-companies.
>>
>> Signed-off-by: Slark Xiao <[email protected]>
>> ---
>> v3: Separate different vendors into different patch.
>>
>> v2: Update vendor ID to the right location sorted by numeric value.
>> ---
>> drivers/bus/mhi/host/pci_generic.c | 6 +++---
>> include/linux/pci_ids.h | 2 ++
>> 2 files changed, 5 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
>> index caa4ce28cf9e..81ae9c49ce2a 100644
>> --- a/drivers/bus/mhi/host/pci_generic.c
>> +++ b/drivers/bus/mhi/host/pci_generic.c
>> @@ -555,11 +555,11 @@ static const struct pci_device_id mhi_pci_id_table[] = {
>> .driver_data = (kernel_ulong_t) &mhi_telit_fn990_info },
>> { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
>> .driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
>> - { PCI_DEVICE(0x1eac, 0x1001), /* EM120R-GL (sdx24) */
>> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1001), /* EM120R-GL (sdx24) */
>> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
>> - { PCI_DEVICE(0x1eac, 0x1002), /* EM160R-GL (sdx24) */
>> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1002), /* EM160R-GL (sdx24) */
>> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
>> - { PCI_DEVICE(0x1eac, 0x2001), /* EM120R-GL for FCCL (sdx24) */
>> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x2001), /* EM120R-GL for FCCL (sdx24) */
>> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
>> /* T99W175 (sdx55), Both for eSIM and Non-eSIM */
>> { PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0ab),
>> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
>> index b362d90eb9b0..3c91461bcfe4 100644
>> --- a/include/linux/pci_ids.h
>> +++ b/include/linux/pci_ids.h
>> @@ -2585,6 +2585,8 @@
>> #define PCI_VENDOR_ID_TEKRAM 0x1de1
>> #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29
>>
>> +#define PCI_VENDOR_ID_QUECTEL 0x1eac
>
>Why did you ignore the comment at the top of this file saying that new
>entries are not needed to be added, especially for just one user?
>
>thanks,
>
>greg k-h
Hi Greg,
Actually I didn't see this notice before committing this patch. I even discussed
it with the maintainer for several times and nobody show me this rule.
I have a concern, some IOT module vendors, like QUECTEL, CINTERION(THALES),
SIERRA,ROLLING and so on, they only produce IOT modules without other
hardware with PCIe interface, and they applied for their own VID. But they
can't get a their own VENDOR MARCO? This seems unreasonable.
This change should be harmless and make the code neat.
This is my opinion.

Thanks
Slark Xiao

2022-11-01 06:48:53

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: Re: [PATCH v3] PCI: Add vendor ID for QUECTEL

On Tue, Nov 01, 2022 at 02:09:57PM +0800, Slark Xiao wrote:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> At 2022-11-01 12:46:19, "Greg KH" <[email protected]> wrote:
> >On Tue, Nov 01, 2022 at 10:10:52AM +0800, Slark Xiao wrote:
> >> n MHI driver, there are some companies' product still do not have their
> >> own PCI vendor macro. So we add it here to make the code neat. Ref ID
> >> could be found in link https://pcisig.com/membership/member-companies.
> >>
> >> Signed-off-by: Slark Xiao <[email protected]>
> >> ---
> >> v3: Separate different vendors into different patch.
> >>
> >> v2: Update vendor ID to the right location sorted by numeric value.
> >> ---
> >> drivers/bus/mhi/host/pci_generic.c | 6 +++---
> >> include/linux/pci_ids.h | 2 ++
> >> 2 files changed, 5 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
> >> index caa4ce28cf9e..81ae9c49ce2a 100644
> >> --- a/drivers/bus/mhi/host/pci_generic.c
> >> +++ b/drivers/bus/mhi/host/pci_generic.c
> >> @@ -555,11 +555,11 @@ static const struct pci_device_id mhi_pci_id_table[] = {
> >> .driver_data = (kernel_ulong_t) &mhi_telit_fn990_info },
> >> { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
> >> .driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
> >> - { PCI_DEVICE(0x1eac, 0x1001), /* EM120R-GL (sdx24) */
> >> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1001), /* EM120R-GL (sdx24) */
> >> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
> >> - { PCI_DEVICE(0x1eac, 0x1002), /* EM160R-GL (sdx24) */
> >> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1002), /* EM160R-GL (sdx24) */
> >> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
> >> - { PCI_DEVICE(0x1eac, 0x2001), /* EM120R-GL for FCCL (sdx24) */
> >> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x2001), /* EM120R-GL for FCCL (sdx24) */
> >> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
> >> /* T99W175 (sdx55), Both for eSIM and Non-eSIM */
> >> { PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0ab),
> >> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> >> index b362d90eb9b0..3c91461bcfe4 100644
> >> --- a/include/linux/pci_ids.h
> >> +++ b/include/linux/pci_ids.h
> >> @@ -2585,6 +2585,8 @@
> >> #define PCI_VENDOR_ID_TEKRAM 0x1de1
> >> #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29
> >>
> >> +#define PCI_VENDOR_ID_QUECTEL 0x1eac
> >
> >Why did you ignore the comment at the top of this file saying that new
> >entries are not needed to be added, especially for just one user?
> >
> >thanks,
> >
> >greg k-h
> Hi Greg,
> Actually I didn't see this notice before committing this patch. I even discussed
> it with the maintainer for several times and nobody show me this rule.
> I have a concern, some IOT module vendors, like QUECTEL, CINTERION(THALES),
> SIERRA,ROLLING and so on, they only produce IOT modules without other
> hardware with PCIe interface, and they applied for their own VID. But they
> can't get a their own VENDOR MARCO? This seems unreasonable.
> This change should be harmless and make the code neat.
> This is my opinion.

It causes a _LOT_ of churn and merge issues when everyone is adding new
entries to a single file. Which is why, 15+ years ago, we made the
decision that if a vendor or device id is only needed in one file, then
it should not be added to the pci_ids.h file.

No need to change that now, please just put the vendor id in the single
driver that it is needed in.

thanks,

greg k-h

2022-11-01 07:24:58

by Slark Xiao

[permalink] [raw]
Subject: Re:Re: Re: [PATCH v3] PCI: Add vendor ID for QUECTEL






At 2022-11-01 14:24:58, "Greg KH" <[email protected]> wrote:
>On Tue, Nov 01, 2022 at 02:09:57PM +0800, Slark Xiao wrote:
>>
>>
>> At 2022-11-01 12:46:19, "Greg KH" <[email protected]> wrote:
>> >On Tue, Nov 01, 2022 at 10:10:52AM +0800, Slark Xiao wrote:
>> >> n MHI driver, there are some companies' product still do not have their
>> >> own PCI vendor macro. So we add it here to make the code neat. Ref ID
>> >> could be found in link https://pcisig.com/membership/member-companies.
>> >>
>> >> Signed-off-by: Slark Xiao <[email protected]>
>> >> ---
>> >> v3: Separate different vendors into different patch.
>> >>
>> >> v2: Update vendor ID to the right location sorted by numeric value.
>> >> ---
>> >> drivers/bus/mhi/host/pci_generic.c | 6 +++---
>> >> include/linux/pci_ids.h | 2 ++
>> >> 2 files changed, 5 insertions(+), 3 deletions(-)
>> >>
>> >> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
>> >> index caa4ce28cf9e..81ae9c49ce2a 100644
>> >> --- a/drivers/bus/mhi/host/pci_generic.c
>> >> +++ b/drivers/bus/mhi/host/pci_generic.c
>> >> @@ -555,11 +555,11 @@ static const struct pci_device_id mhi_pci_id_table[] = {
>> >> .driver_data = (kernel_ulong_t) &mhi_telit_fn990_info },
>> >> { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
>> >> .driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
>> >> - { PCI_DEVICE(0x1eac, 0x1001), /* EM120R-GL (sdx24) */
>> >> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1001), /* EM120R-GL (sdx24) */
>> >> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
>> >> - { PCI_DEVICE(0x1eac, 0x1002), /* EM160R-GL (sdx24) */
>> >> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1002), /* EM160R-GL (sdx24) */
>> >> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
>> >> - { PCI_DEVICE(0x1eac, 0x2001), /* EM120R-GL for FCCL (sdx24) */
>> >> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x2001), /* EM120R-GL for FCCL (sdx24) */
>> >> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
>> >> /* T99W175 (sdx55), Both for eSIM and Non-eSIM */
>> >> { PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0ab),
>> >> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
>> >> index b362d90eb9b0..3c91461bcfe4 100644
>> >> --- a/include/linux/pci_ids.h
>> >> +++ b/include/linux/pci_ids.h
>> >> @@ -2585,6 +2585,8 @@
>> >> #define PCI_VENDOR_ID_TEKRAM 0x1de1
>> >> #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29
>> >>
>> >> +#define PCI_VENDOR_ID_QUECTEL 0x1eac
>> >
>> >Why did you ignore the comment at the top of this file saying that new
>> >entries are not needed to be added, especially for just one user?
>> >
>> >thanks,
>> >
>> >greg k-h
>> Hi Greg,
>> Actually I didn't see this notice before committing this patch. I even discussed
>> it with the maintainer for several times and nobody show me this rule.
>> I have a concern, some IOT module vendors, like QUECTEL, CINTERION(THALES),
>> SIERRA,ROLLING and so on, they only produce IOT modules without other
>> hardware with PCIe interface, and they applied for their own VID. But they
>> can't get a their own VENDOR MARCO? This seems unreasonable.
>> This change should be harmless and make the code neat.
>> This is my opinion.
>
>It causes a _LOT_ of churn and merge issues when everyone is adding new
>entries to a single file. Which is why, 15+ years ago, we made the
>decision that if a vendor or device id is only needed in one file, then
>it should not be added to the pci_ids.h file.
>
>No need to change that now, please just put the vendor id in the single
>driver that it is needed in.
>
>thanks,
>
>greg k-h
Hi Greg,
Thanks for your explanation.

Hi Mani,
Is there a need to update these vendor ids as macro in
pci_generic.c?

Thanks.

2022-11-01 09:50:08

by Manivannan Sadhasivam

[permalink] [raw]
Subject: Re: Re: Re: [PATCH v3] PCI: Add vendor ID for QUECTEL

On Tue, Nov 01, 2022 at 02:52:45PM +0800, Slark Xiao wrote:
>
>
>
>
>
> At 2022-11-01 14:24:58, "Greg KH" <[email protected]> wrote:
> >On Tue, Nov 01, 2022 at 02:09:57PM +0800, Slark Xiao wrote:
> >>
> >>
> >> At 2022-11-01 12:46:19, "Greg KH" <[email protected]> wrote:
> >> >On Tue, Nov 01, 2022 at 10:10:52AM +0800, Slark Xiao wrote:
> >> >> n MHI driver, there are some companies' product still do not have their
> >> >> own PCI vendor macro. So we add it here to make the code neat. Ref ID
> >> >> could be found in link https://pcisig.com/membership/member-companies.
> >> >>
> >> >> Signed-off-by: Slark Xiao <[email protected]>
> >> >> ---
> >> >> v3: Separate different vendors into different patch.
> >> >>
> >> >> v2: Update vendor ID to the right location sorted by numeric value.
> >> >> ---
> >> >> drivers/bus/mhi/host/pci_generic.c | 6 +++---
> >> >> include/linux/pci_ids.h | 2 ++
> >> >> 2 files changed, 5 insertions(+), 3 deletions(-)
> >> >>
> >> >> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
> >> >> index caa4ce28cf9e..81ae9c49ce2a 100644
> >> >> --- a/drivers/bus/mhi/host/pci_generic.c
> >> >> +++ b/drivers/bus/mhi/host/pci_generic.c
> >> >> @@ -555,11 +555,11 @@ static const struct pci_device_id mhi_pci_id_table[] = {
> >> >> .driver_data = (kernel_ulong_t) &mhi_telit_fn990_info },
> >> >> { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
> >> >> .driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
> >> >> - { PCI_DEVICE(0x1eac, 0x1001), /* EM120R-GL (sdx24) */
> >> >> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1001), /* EM120R-GL (sdx24) */
> >> >> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
> >> >> - { PCI_DEVICE(0x1eac, 0x1002), /* EM160R-GL (sdx24) */
> >> >> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1002), /* EM160R-GL (sdx24) */
> >> >> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
> >> >> - { PCI_DEVICE(0x1eac, 0x2001), /* EM120R-GL for FCCL (sdx24) */
> >> >> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x2001), /* EM120R-GL for FCCL (sdx24) */
> >> >> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
> >> >> /* T99W175 (sdx55), Both for eSIM and Non-eSIM */
> >> >> { PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0ab),
> >> >> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> >> >> index b362d90eb9b0..3c91461bcfe4 100644
> >> >> --- a/include/linux/pci_ids.h
> >> >> +++ b/include/linux/pci_ids.h
> >> >> @@ -2585,6 +2585,8 @@
> >> >> #define PCI_VENDOR_ID_TEKRAM 0x1de1
> >> >> #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29
> >> >>
> >> >> +#define PCI_VENDOR_ID_QUECTEL 0x1eac
> >> >
> >> >Why did you ignore the comment at the top of this file saying that new
> >> >entries are not needed to be added, especially for just one user?
> >> >
> >> >thanks,
> >> >
> >> >greg k-h
> >> Hi Greg,
> >> Actually I didn't see this notice before committing this patch. I even discussed
> >> it with the maintainer for several times and nobody show me this rule.
> >> I have a concern, some IOT module vendors, like QUECTEL, CINTERION(THALES),
> >> SIERRA,ROLLING and so on, they only produce IOT modules without other
> >> hardware with PCIe interface, and they applied for their own VID. But they
> >> can't get a their own VENDOR MARCO? This seems unreasonable.
> >> This change should be harmless and make the code neat.
> >> This is my opinion.
> >
> >It causes a _LOT_ of churn and merge issues when everyone is adding new
> >entries to a single file. Which is why, 15+ years ago, we made the
> >decision that if a vendor or device id is only needed in one file, then
> >it should not be added to the pci_ids.h file.
> >
> >No need to change that now, please just put the vendor id in the single
> >driver that it is needed in.
> >
> >thanks,
> >
> >greg k-h
> Hi Greg,
> Thanks for your explanation.
>
> Hi Mani,
> Is there a need to update these vendor ids as macro in
> pci_generic.c?
>

It is not really needed but for convenience you could add a macro in
pci_generic.c itself.

Thanks,
Mani

> Thanks.

--
மணிவண்ணன் சதாசிவம்

2022-11-01 15:11:39

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: Re: [PATCH v3] PCI: Add vendor ID for QUECTEL

On Tue, Nov 01, 2022 at 02:09:57PM +0800, Slark Xiao wrote:
> At 2022-11-01 12:46:19, "Greg KH" <[email protected]> wrote:
> >On Tue, Nov 01, 2022 at 10:10:52AM +0800, Slark Xiao wrote:
> >> n MHI driver, there are some companies' product still do not have their
> >> own PCI vendor macro. So we add it here to make the code neat. Ref ID
> >> could be found in link https://pcisig.com/membership/member-companies.
> >>
> >> Signed-off-by: Slark Xiao <[email protected]>
> >> ---
> >> v3: Separate different vendors into different patch.
> >>
> >> v2: Update vendor ID to the right location sorted by numeric value.
> >> ---
> >> drivers/bus/mhi/host/pci_generic.c | 6 +++---
> >> include/linux/pci_ids.h | 2 ++
> >> 2 files changed, 5 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
> >> index caa4ce28cf9e..81ae9c49ce2a 100644
> >> --- a/drivers/bus/mhi/host/pci_generic.c
> >> +++ b/drivers/bus/mhi/host/pci_generic.c
> >> @@ -555,11 +555,11 @@ static const struct pci_device_id mhi_pci_id_table[] = {
> >> .driver_data = (kernel_ulong_t) &mhi_telit_fn990_info },
> >> { PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
> >> .driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
> >> - { PCI_DEVICE(0x1eac, 0x1001), /* EM120R-GL (sdx24) */
> >> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1001), /* EM120R-GL (sdx24) */
> >> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
> >> - { PCI_DEVICE(0x1eac, 0x1002), /* EM160R-GL (sdx24) */
> >> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1002), /* EM160R-GL (sdx24) */
> >> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
> >> - { PCI_DEVICE(0x1eac, 0x2001), /* EM120R-GL for FCCL (sdx24) */
> >> + { PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x2001), /* EM120R-GL for FCCL (sdx24) */
> >> .driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
> >> /* T99W175 (sdx55), Both for eSIM and Non-eSIM */
> >> { PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0ab),
> >> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> >> index b362d90eb9b0..3c91461bcfe4 100644
> >> --- a/include/linux/pci_ids.h
> >> +++ b/include/linux/pci_ids.h
> >> @@ -2585,6 +2585,8 @@
> >> #define PCI_VENDOR_ID_TEKRAM 0x1de1
> >> #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29
> >>
> >> +#define PCI_VENDOR_ID_QUECTEL 0x1eac
> >
> >Why did you ignore the comment at the top of this file saying that new
> >entries are not needed to be added, especially for just one user?
>
> Actually I didn't see this notice before committing this patch. I even discussed
> it with the maintainer for several times and nobody show me this rule.
> I have a concern, some IOT module vendors, like QUECTEL, CINTERION(THALES),
> SIERRA,ROLLING and so on, they only produce IOT modules without other
> hardware with PCIe interface, and they applied for their own VID. But they
> can't get a their own VENDOR MARCO? This seems unreasonable.
> This change should be harmless and make the code neat.
> This is my opinion.

Sorry, this is my fault. I have merged or acked several vendor ID
additions recently, but I don't really backport changes like Greg
does, so I'm not as sensitized to the churn and merge issues.

Bjorn