Linux Power Management development
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Rahul Samana <rahul.samana@oss.qualcomm.com>
Cc: Bartosz Golaszewski <brgl@kernel.org>,
	Marcel Holtmann <marcel@holtmann.org>,
	Luiz Augusto von Dentz <luiz.dentz@gmail.com>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Balakrishna Godavarthi <quic_bgodavar@quicinc.com>,
	Rocky Liao <quic_rjliao@quicinc.com>,
	Manivannan Sadhasivam <mani@kernel.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konradybcio@kernel.org>,
	Bartosz Golaszewski <brgl@bgdev.pl>,
	linux-arm-msm@vger.kernel.org, linux-bluetooth@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-pci@vger.kernel.org, linux-pm@vger.kernel.org,
	quic_mohamull@quicinc.com, quic_hbandi@quicinc.com,
	quic_anubhavg@quicinc.com
Subject: Re: [PATCH v2 1/6] dt-bindings: bluetooth: qca: add QCC2072
Date: Sat, 1 Aug 2026 17:49:53 +0200	[thread overview]
Message-ID: <6e0b9e79-ccd4-4689-9a6b-9b4fc556d5e4@kernel.org> (raw)
In-Reply-To: <4523441f-498a-4bbd-80f3-97a7a9206c00@oss.qualcomm.com>

On 01/08/2026 17:31, Rahul Samana wrote:
> 
> 
> 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 <rahul.samana@oss.qualcomm.com>
>>>>>>
>>>>>> 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/20260703-eliza_evk-v1-3-7624440bd76d@oss.qualcomm.com/
>>>
>>> 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.

The purpose of Devicetree is not to describe Linux internal driver
matching. Do not use compatibles for that.


> 
> 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:

You have plenty of options, starting from what is very common already -
driver name used by MFD or aux devices.

Best regards,
Krzysztof

  reply	other threads:[~2026-08-01 15:50 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-27 15:45 [PATCH v2 0/6] Bluetooth: qca: enable QCC2072 on RB3 Gen 2 Industrial Rahul Samana
2026-07-27 15:45 ` [PATCH v2 1/6] dt-bindings: bluetooth: qca: add QCC2072 Rahul Samana
2026-07-31  9:46   ` Krzysztof Kozlowski
2026-07-31 14:45     ` Rahul Samana
2026-07-31 15:04       ` Krzysztof Kozlowski
2026-07-31 15:51         ` Rahul Samana
2026-08-01 14:48           ` Krzysztof Kozlowski
2026-08-01 15:31             ` Rahul Samana
2026-08-01 15:49               ` Krzysztof Kozlowski [this message]
2026-07-27 15:45 ` [PATCH v2 2/6] Bluetooth: qca: add QCC2072 support Rahul Samana
2026-07-31 15:09   ` Dmitry Baryshkov
2026-07-31 17:51     ` Rahul Samana
2026-07-27 15:45 ` [PATCH v2 3/6] power: sequencing: pwrseq-pcie-m2: add QCC2072 Rahul Samana
2026-07-27 15:45 ` [PATCH v2 4/6] arm64: dts: qcom: qcs6490-rb3gen2: label BT PMU and M.2 PCI node Rahul Samana
2026-07-31 15:30   ` Rahul Samana
2026-07-27 15:45 ` [PATCH v2 5/6] arm64: dts: qcom: kodiak: mark PCIe root port as bridge Rahul Samana
2026-07-27 15:57   ` Rahul Samana
2026-07-29 12:29   ` Konrad Dybcio
2026-07-27 15:45 ` [PATCH v2 6/6] arm64: dts: qcom: rb3gen2: add Industrial BT UART overlay Rahul Samana
2026-07-29 12:31   ` Konrad Dybcio
2026-07-31  6:53     ` Rahul Samana
2026-07-31 12:50       ` Konrad Dybcio
2026-07-31 14:48         ` Rahul Samana
2026-07-31 15:49           ` Konrad Dybcio
2026-07-31 17:50             ` Rahul Samana
2026-08-02  3:38               ` Bjorn Andersson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6e0b9e79-ccd4-4689-9a6b-9b4fc556d5e4@kernel.org \
    --to=krzk@kernel.org \
    --cc=andersson@kernel.org \
    --cc=brgl@bgdev.pl \
    --cc=brgl@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=luiz.dentz@gmail.com \
    --cc=mani@kernel.org \
    --cc=marcel@holtmann.org \
    --cc=quic_anubhavg@quicinc.com \
    --cc=quic_bgodavar@quicinc.com \
    --cc=quic_hbandi@quicinc.com \
    --cc=quic_mohamull@quicinc.com \
    --cc=quic_rjliao@quicinc.com \
    --cc=rahul.samana@oss.qualcomm.com \
    --cc=robh@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox