Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp3463050imm; Tue, 29 May 2018 07:41:11 -0700 (PDT) X-Google-Smtp-Source: ADUXVKIlbt7yphhZIuBOBOPIG/Kjq7lA1fMmXTPNgVkdDb5R5p8yUPU3an9euVw89qyj2rfmIyY8 X-Received: by 2002:a17:902:b418:: with SMTP id x24-v6mr2532651plr.2.1527604871108; Tue, 29 May 2018 07:41:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527604871; cv=none; d=google.com; s=arc-20160816; b=Kb+wuXRyELbM4LRmfvldMU0mtUyMqTr0KX7vL77kTjoM+BzyOT6lTAy2EbuHp7yIx+ vQ/847doQmu01am82HHFJRSaGMb/tnNaUJCyMYJoZzoSTZoxfjFTLufI6NSuin808AKC PofMsYZomm8K3ka7qFrovgo/fLn4ljde1vY/5uF8rGOerhkLVmL5IWhtAIL8sReUj4Cp O8wHAws3f2+CJQnDJaLi1kKkuTUdOx4awjVP6n5osL3DDSzgEjakbgJdQMIY2443QRbL 90RgFSBDEuPx3kQoilq8jayGC8wGG2cM9afpBR10nSEsGZHaCpm7oyqc+X04oZmWMJhp Dkyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:organization:from:references:cc:to:subject :arc-authentication-results; bh=sdfXe+dNaWQNyU9iIzyXug09k1WhcHHgiuFfplA0UuM=; b=s/tHULwylwaINTDSIj5GvgEVOaWOrSApJ6gQLNbubigFOVNWcvZpJpme7ua6HFQlOi cSkY3GtZmSO930B+oyp+d85pngYuTc14DXthoPeThxOzZ9Qtd2n+5adtPWuy3Nq6WlHD j3ZH1fpEQTEM97UKfNbpWr0NUXJr24XVnMxovrqJMBu1wjq5RKJu+qS23ZoZs9LSawyp +CcJNaUK/BOs+JEvIKUguld1ULyRu3LMNC1/3pvLdp0Jhmv+wZ6jnyB6qyoMgdZUCGYk Sjm2dvlDxj+udgpkoWsvYsNj09fbvfFQjmlt8Ev5pBx97stSMNlLlFyS1yWnmNK4Xmxu 3VZQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g5-v6si31868667plp.108.2018.05.29.07.40.57; Tue, 29 May 2018 07:41:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935180AbeE2Oi5 (ORCPT + 99 others); Tue, 29 May 2018 10:38:57 -0400 Received: from esa5.microchip.iphmx.com ([216.71.150.166]:9810 "EHLO esa5.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934608AbeE2Oiz (ORCPT ); Tue, 29 May 2018 10:38:55 -0400 X-IronPort-AV: E=Sophos;i="5.49,456,1520924400"; d="scan'208";a="12552008" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa5.microchip.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 29 May 2018 07:38:55 -0700 Received: from [10.159.245.112] (10.10.76.4) by chn-sv-exch06.mchp-main.com (10.10.76.107) with Microsoft SMTP Server id 14.3.352.0; Tue, 29 May 2018 07:38:53 -0700 Subject: Re: [PATCH v4 5/6] spi: at91-usart: add driver for at91-usart as spi To: Radu Pirea , Andy Shevchenko 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 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> From: Nicolas Ferre Organization: microchip Message-ID: <7ac6e7ba-1f92-22c4-c989-b64107b8644a@microchip.com> Date: Tue, 29 May 2018 16:36:52 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <0c529082-722c-14d8-7a04-dfeb63d5de92@microchip.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@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