Subject: [PATCH 1/2] spi: rockchip: add support for "cs-gpios" dts property

From: [email-masked] (jeffy)
Date: Mon, 12 Jun 2017 16:48:51 +0800

Hi Geert,

On 06/12/2017 04:18 PM, Geert Uytterhoeven wrote:
> On Mon, Jun 12, 2017 at 9:15 AM, Shawn Lin <[email-masked]> wrote:
>> On 2017/6/12 14:14, Jeffy Chen wrote:
>>>
>>> Support using "cs-gpios" property to specify cs gpios.
>>>
>>> Signed-off-by: Jeffy Chen <[email-masked]>
>
>>> index 83da493..02171b2 100644
>>> --- a/Documentation/devicetree/bindings/spi/spi-rockchip.txt
>>> +++ b/Documentation/devicetree/bindings/spi/spi-rockchip.txt
>>> @@ -17,6 +17,7 @@ Required Properties:
>>>           region.
>>>    - interrupts: The interrupt number to the cpu. The interrupt specifier
>>> format
>>>                  depends on the interrupt controller.
>>> +- cs-gpios : Specifies the gpio pins to be used for chipselects.
>>
>> It's not a required property, otherwise how other boards work as your
>> patch 2 only add this for rk3399-gru.
>
>>> --- a/drivers/spi/spi-rockchip.c
>>> +++ b/drivers/spi/spi-rockchip.c
>
>>> @@ -297,6 +302,50 @@ static void rockchip_spi_set_cs(struct spi_device
>>> *spi, bool enable)
>>>          pm_runtime_put_sync(rs->dev);
>>>    }
>>>    +static int rockchip_spi_setup(struct spi_device *spi)
>>> +{
>>> +       int ret = 0;
>>> +       unsigned long flags = (spi->mode & SPI_CS_HIGH) ?
>>> +                             GPIOF_OUT_INIT_LOW : GPIOF_OUT_INIT_HIGH;
>>> +       struct rockchip_spi_data *data = spi_get_ctldata(spi);
>>> +
>>> +       if (!gpio_is_valid(spi->cs_gpio))
>>> +               return 0;
>
>> return -EINVAL?
>
> Isn't this check meant to fall back to hardware CS if no cs-gpios property
> is present?

Thanks for your comment, and yes it is. I'll add a comment in the code 
to explain it :)
>
> Gr{oetje,eeting}s,
>
>                          Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                  -- Linus Torvalds
>
>
>