[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2196dd29-93ee-00f7-65b4-ede73aa8ba77@linaro.org>
Date: Wed, 31 May 2023 21:46:45 +0200
From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
To: zhuyinbo <zhuyinbo@...ngson.cn>,
Conor Dooley <conor.dooley@...rochip.com>
Cc: Mark Brown <broonie@...nel.org>, Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
linux-spi@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, Jianmin Lv <lvjianmin@...ngson.cn>,
wanghongliang@...ngson.cn, Liu Peibao <liupeibao@...ngson.cn>,
loongson-kernel@...ts.loongnix.cn
Subject: Re: [PATCH v11 1/2] dt-bindings: spi: add loongson spi
On 25/05/2023 04:22, zhuyinbo wrote:
>
>
> 在 2023/5/24 下午6:29, Conor Dooley 写道:
>> On Wed, May 24, 2023 at 05:44:38PM +0800, zhuyinbo wrote:
>>>
>>>
>>> 在 2023/5/24 下午4:56, Conor Dooley 写道:
>>>> On Mon, May 22, 2023 at 03:10:29PM +0800, Yinbo Zhu wrote:
>>>>> Add the Loongson platform spi binding with DT schema format using
>>>>> json-schema.
>>>>>
>>>>> Signed-off-by: Yinbo Zhu <zhuyinbo@...ngson.cn>
>>>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
>>>>> ---
>>>>> .../bindings/spi/loongson,ls2k-spi.yaml | 41 +++++++++++++++++++
>>>>> MAINTAINERS | 6 +++
>>>>> 2 files changed, 47 insertions(+)
>>>>> create mode 100644 Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml
>>>>> new file mode 100644
>>>>> index 000000000000..d0be6e5378d7
>>>>> --- /dev/null
>>>>> +++ b/Documentation/devicetree/bindings/spi/loongson,ls2k-spi.yaml
>>>>> @@ -0,0 +1,41 @@
>>>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>>>> +%YAML 1.2
>>>>> +---
>>>>> +$id: http://devicetree.org/schemas/spi/loongson,ls2k-spi.yaml#
>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>>> +
>>>>> +title: Loongson SPI controller
>>>>> +
>>>>> +maintainers:
>>>>> + - Yinbo Zhu <zhuyinbo@...ngson.cn>
>>>>> +
>>>>> +allOf:
>>>>> + - $ref: /schemas/spi/spi-controller.yaml#
>>>>> +
>>>>> +properties:
>>>>> + compatible:
>>>>> + enum:
>>>>> + - loongson,ls2k-spi
>>>>
>>>> I am sorry to jump in here at such a late stage with a (potentially)
>>>> trivial question. "ls2k" is the SoC family rather than a specific model
>>>> as far as I understand.
>>>> The answer is probably yes, but do all SoCs in the family have an
>>>> identical version of the IP?
>>>
>>>
>>> No, but the spi supported by this loongson spi driver are all the same
>>> identical version, and other type or verion spi will be supported as
>>> needed in the future.
>>
>> Does having a catch-all compatible make sense then when not all SoCs in
>> the ls2k family will actually be able to use this driver?
>
>
> Yes, it is make sense as it can reduce the workload of the community.
> For the Loongson platform, the versions of spi peripherals are almost
> the same, except for a few or individual SoCs. And we have also
> discussed compatible internally, and we tend to define it this way.
So you have chosen different path than what's clearly recommended by
community, existing experience and documentation:
https://elixir.bootlin.com/linux/v6.1-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst#L42
Family names are not accepted as specific compatibles. Whenever they
were accepted, it lead to problems. All the time.
https://lore.kernel.org/all/20220822181701.GA89665-robh@kernel.org/
https://lore.kernel.org/all/78651e07-6b3e-4243-8e1f-fcd1dfb3ffe1@www.fastmail.com/
https://lore.kernel.org/all/288f56ba9cfad46354203b7698babe91@walle.cc/
https://lore.kernel.org/all/106e443a-e765-51fe-b556-e4e7e2aa771c@linaro.org/
and many many more discussions.
You should choose carefully, because we will keep NAK-ing adding
properties to circumvent missing compatibles.
>
>> Or am I misunderstanding and all ls2k SoCs do work with this driver and
>> you were talking about other, future products?
>
> Actually, in 2k500 has one special type spi was only one cs and their's
> register definition was different from common type spi thus this driver
> doesn't support but this driver can support another common type spi in
> 2k500. for this special type spi I will add support as needed in the
> future.
Bindings are for hardware, not driver. What does your driver support or
does not, matters less.
Best regards,
Krzysztof
Powered by blists - more mailing lists