Re: [PATCH v2 1/6] dt-bindings: bluetooth: qca: add QCC2072
Rahul Samana <[email protected]> Sat, 1 Aug 2026 21:01:00 +0530
| Newsgroups | org.kernel.vger.linux-bluetooth,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pci,org.kernel.vger.linux-pm |
|---|---|
| Message-ID | <[email protected]> |
On 01-08-2026 20:18, Krzysztof Kozlowski wrote: > On 31/07/2026 17:51, Rahul Samana wrote: >> >> >> On 31-07-2026 20:34, Krzysztof Kozlowski wrote: >>> On 31/07/2026 16:45, Rahul Samana wrote: >>>> >>>> >>>> On 31-07-2026 15:16, Krzysztof Kozlowski wrote: >>>>> On Mon, Jul 27, 2026 at 09:15:01PM +0530, Rahul Samana wrote: >>>>>> QCC2072 can be used on M.2 E-key cards where the card power resources are >>>>>> described by the pcie-m2-e-connector node. In that setup, the M.2 power >>>>>> sequencing provider creates the Bluetooth serdev child after matching the >>>>>> QCC2072 PCI function. >>>>>> >>>>>> Integrated non-M.2 designs need board-specific power resources. Document >>>>>> only the compatible for now and leave those properties to be added with >>>>>> matching driver support. >>>>>> >>>>>> Document the qcom,qcc2072-bt compatible used for QCC2072 Bluetooth >>>>>> controllers connected over UART. >>>>>> >>>>>> Signed-off-by: Rahul Samana <[email protected]> >>>>> >>>>> NAK, exactly same comments as before. >>>>> >>>>> Nothing got improved, although what is weird - original SoB is gone, so >>>>> this is legally dubious work. >>>>> >>>>> Best regards, >>>>> Krzysztof >>>>> >>>> >>>> Hi Krzysztof, >>>> >>>> Thanks for the review. >>>> >>>> For the binding contents, I tried to capture the current scope in the binding >>>> description itself. This series supports QCC2072 only as an M.2 E-key card, >>>> where the card power resources are described by the pcie-m2-e-connector node >>>> and the M.2 pwrseq provider creates the Bluetooth serdev child. >>>> >>>> The binding also says: >>>> >>>> Integrated non-M.2 designs require board-specific power resources. Those >>>> properties, together with a static devicetree example, should be added when >>>> integrated non-M.2 support is added. >>> >>> Bindings must be complete and your driver support is irrelevant here. >>> >>> If you claim this is a PCI device thus you do not need any resources, >>> then the binding is not needed either. PCI devices are enumerable. And >>> to prove it: look at your DTS. Do you see qcom,qcc2072-bt being used? No. >>> >>>> >>>> We do not currently have an integrated non-M.2 QCC2072 design, so I do not >>>> have board-specific regulator supplies to document for that topology. >>>> >>>> Could you please suggest how you would prefer this binding to be handled for >>>> the current M.2-only use case? >>> >>> Drop the binding, you do not need it. >>> >>> Anyway the problem is that more comments were ignored. >>> >> >> Hi Krzysztof, >> >> Just to clarify the reason for adding this binding in v2: >> v1 did not add a binding because this series only targets the M.2 use case. >> >> I added the minimal binding in v2 because checkpatch reported >> qcom,qcc2072-bt as an undocumented compatible, and I interpreted the request >> to fix the checkpatch warnings as requiring this compatible to be documented. >> I also had the earlier feedback in mind, where the indirect >> qcom,qcc2072-bt compatible was pushed back because it was undocumented: >> >> https://lore.kernel.org/all/[email protected]/ >> >> Based on your clarification here, I will drop the binding patch in v3 and >> keep qcom,qcc2072-bt only as the pwrseq-created child compatible for this >> M.2 case. > > My previous statement is also valid, please read entire threads. > > You cannot have undocumented qcom,qcc2072-bt. > > I ask you to drop both, because they are not needed. But feel free to > prove me wrong, see my first paragraph in the previous reply. > > The PCIe M.2 power sequencing driver, pwrseq-pcie-m2.c, uses pwrseq_m2_pci_ids to translate the enumerated PCI function into the Bluetooth compatible used for the generated serdev child. For example, WCN7850 maps PCI ID 17cb:1107 to qcom,wcn7850-bt, then hci_qca matches that compatible to select qca_soc_data_wcn7850. For QCC2072, pwrseq-pcie-m2.c matches PCI ID 17cb:1112 and creates the generated Bluetooth serdev child with compatible "qcom,qcc2072-bt". The hci_qca driver then matches "qcom,qcc2072-bt" and uses qca_soc_data_qcc2072 as the controller-specific data. That match data is needed by hci_qca to select the QCC2072 soc_type, firmware/NVM naming, calibration handling, and capabilities. Without some identity being passed from the PCI match to the generated serdev child, hci_qca cannot distinguish QCC2072 from the other Qualcomm UART Bluetooth controllers on this path. Please correct me if I misunderstood the concern or if you are asking for this identity to be passed from pwrseq-pcie-m2.c to hci_qca through a different mechanism. I can drop the binding patch, but unless there is a preferred alternative mechanism, I think we still need the pwrseq-pcie-m2 QCC2072 PCI ID support from patch 3 so the power sequencing driver can pass the QCC2072 identity into hci_qca through the generated serdev child: https://lore.kernel.org/all/20260727-rb3-industrial-bt-uart-v2-3-2d100f30e202@oss.qualcomm.com/ Thanks, Rahul >> >>> And why this is sent so many times? >>> >>> https://lore.kernel.org/all/[email protected]/ >>> >>> https://lore.kernel.org/all/[email protected]/ >>> >>> and now by you. >>> >>> How many times this will be sent in separate patchsets and asking for >>> separate review ignoring previous review? >>> >> >> Regarding the repeated submissions, the reason for carrying this forward from >> the earlier QCC2072 work is documented in the cover letter. This series was >> intended to continue that work for the RB3 Gen 2 Industrial M.2 use case, not >> to ignore the earlier reviews. > > If you continue the work, you do not ignore previous comments, so I do > not see how this is any sort of continuation. Looks like duplicating > work without looking at previous discussions at all. > > Best regards, > Krzysztof