Re: [PATCH 1/2] spi: spidev: Add Qualcomm spidev device compatible

From: frut3k7
Date: Tue Feb 06 2024 - 08:17:10 EST


On Tue, Feb 6, 2024 at 10:37 AM Mark Brown <broonie@xxxxxxxxxx> wrote:
>
> On Mon, Feb 05, 2024 at 08:18:05PM +0100, Paweł Owoc wrote:
> > Add compatible string for Qualcomm spidev device (used for QCA4024).
>
> > --- a/drivers/spi/spidev.c
> > +++ b/drivers/spi/spidev.c
> > @@ -710,6 +710,7 @@ static const struct spi_device_id spidev_spi_ids[] = {
> > { .name = "spi-authenta" },
> > { .name = "em3581" },
> > { .name = "si3210" },
> > + { .name = "spidev" },
> > {},
>
> Why?
>
> > { .compatible = "lwn,bk4", .data = &spidev_of_check },
> > { .compatible = "menlo,m53cpld", .data = &spidev_of_check },
> > { .compatible = "micron,spi-authenta", .data = &spidev_of_check },
> > + { .compatible = "qca,spidev", .data = &spidev_of_check },
>
> No, this needs to correspond to the hardware being controlled via spidev
> not to an implementation detail. Any new compatibles also need to be
> documented.


The device for which I want to add compatibility is originally used in
the router and this is what the dts fragment looks like:

spi@78b8000 {
#address-cells = <0x01>;
#size-cells = <0x00>;
clock-names = "core\0iface";
clocks = <0x03 0x5c 0x03 0x54>;
compatible = "qcom,spi-qup-v2.2.1";
cs-select = <0x02>;
dma-names = "tx\0rx";
dmas = <0x06 0x12 0x06 0x13>;
interrupts = <0x00 0x62 0x00>;
pinctrl-0 = <0x08>;
pinctrl-names = "default";
quartz-reset-gpio = <0x09 0x15 0x01>;
reg = <0x78b8000 0x600>;
spi-max-frequency = <0x2faf080>;
status = "ok";

spi@3 {
compatible = "qca,spidev";
reg = <0x00>;
spi-max-frequency = <0x16e3600>;
};
};

The first part has already been added:
https://lore.kernel.org/all/20231123121324.1046164-1-robimarko@xxxxxxxxx/

According to this commit, Qualcomm use this compatibility:
https://github.com/dissent1/msm-2/commit/d6160218393552fea1b7973787f2bd154f870ee2

>
> I'm also missing patch 2 of this series so don't know what's going on
> there.


The second patch was sent only to the devicetree bindings project:
https://lore.kernel.org/all/20240205191828.998783-1-frut3k7@xxxxxxxxx/
It's probably done wrong...