From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Ferre Subject: Re: [PATCH v4 5/6] spi: at91-usart: add driver for at91-usart as spi Date: Tue, 29 May 2018 16:36:52 +0200 Message-ID: <7ac6e7ba-1f92-22c4-c989-b64107b8644a@microchip.com> References: <20180525171941.26766-1-radu.pirea@microchip.com> <20180525171941.26766-6-radu.pirea@microchip.com> <110bb353-b131-348c-8e26-9863b074142d@microchip.com> <0c529082-722c-14d8-7a04-dfeb63d5de92@microchip.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Cc: Mark Brown , , Lee Jones , Richard Genoud , Rob Herring , Mark Rutland , Greg Kroah-Hartman , linux-spi , linux-arm Mailing List , Linux Kernel Mailing List , devicetree , "open list:SERIAL DRIVERS" , Ludovic Desroches To: Radu Pirea , Andy Shevchenko Return-path: In-Reply-To: <0c529082-722c-14d8-7a04-dfeb63d5de92@microchip.com> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-spi.vger.kernel.org On 29/05/2018 at 16:34, Nicolas Ferre wrote: > On 29/05/2018 at 16:28, Radu Pirea wrote: >> >> >> On 05/28/2018 11:21 AM, Andy Shevchenko wrote: >>> On Fri, May 25, 2018 at 8:19 PM, Radu Pirea wrote: >>>> This is the driver for at91-usart in spi mode. The USART IP can be configured >>>> to work in many modes and one of them is SPI. > > [..] > >>>> +static int at91_usart_gpio_setup(struct platform_device *pdev) >>>> +{ >>> >>>> + struct device_node *np = pdev->dev.parent->of_node; >>> >>> Your driver is not OF specific as far as I can see. Drop all these >>> device_node stuff and change API calls respectively. >> >> Ok. What do you suggest to use instead of OF API to get the count of >> cs-gpios and to read their values one by one? > > As Alexandre said, we can make this driver OF specific. > > What could be interesting is to use the gpio descriptors API and not the > older one. This would allow us to have far more control over the gpio > that we use in our drivers (Ludovic is converting our drivers to only > use gpiod structures). Oh, but we already said that we cannot. Disregard my comment then, sorry for the noise. > Regards, > Nicolas > >> >>> >>>> + int i; >>> >>>> + int ret = 0; >>>> + int nb = 0; >>> >>> What happened to indentation? >>> >>> Redundnant assignment for both. >>> >>>> + if (!np) >>>> + return -EINVAL; >>>> + >>>> + nb = of_gpio_named_count(np, "cs-gpios"); >>>> + for (i = 0; i < nb; i++) { >>>> + int cs_gpio = of_get_named_gpio(np, "cs-gpios", i); >>>> + >>>> + if (cs_gpio < 0) >>>> + return cs_gpio; >>>> + >>>> + if (gpio_is_valid(cs_gpio)) { >>>> + ret = devm_gpio_request_one(&pdev->dev, cs_gpio, >>>> + GPIOF_DIR_OUT, >>>> + dev_name(&pdev->dev)); >>>> + if (ret) >>>> + return ret; >>>> + } >>>> + } >>>> + >>>> + return 0; >>>> +} > [..] > -- Nicolas Ferre