Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752101AbdFLISL (ORCPT ); Mon, 12 Jun 2017 04:18:11 -0400 Received: from mail-io0-f193.google.com ([209.85.223.193]:35548 "EHLO mail-io0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752033AbdFLISI (ORCPT ); Mon, 12 Jun 2017 04:18:08 -0400 MIME-Version: 1.0 In-Reply-To: References: <1497248057-16550-1-git-send-email-jeffy.chen@rock-chips.com> From: Geert Uytterhoeven Date: Mon, 12 Jun 2017 10:18:06 +0200 X-Google-Sender-Auth: uF8GjMm498l-gL5yFAJE_MxT6jo Message-ID: Subject: Re: [PATCH 1/2] spi: rockchip: add support for "cs-gpios" dts property To: Shawn Lin Cc: Jeffy Chen , "linux-kernel@vger.kernel.org" , Mark Brown , Mark Rutland , "devicetree@vger.kernel.org" , Brian Norris , Heiko Stuebner , Doug Anderson , linux-spi , "open list:ARM/Rockchip SoC..." , Rob Herring , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1826 Lines: 52 On Mon, Jun 12, 2017 at 9:15 AM, Shawn Lin wrote: > On 2017/6/12 14:14, Jeffy Chen wrote: >> >> Support using "cs-gpios" property to specify cs gpios. >> >> Signed-off-by: Jeffy Chen >> 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? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@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