Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp508021ybl; Tue, 28 Jan 2020 07:04:09 -0800 (PST) X-Google-Smtp-Source: APXvYqy7DDTR2rBKQ1lxcNwRsOP7QJhI6MLbyKHKZu0bPx13L10pW410Rk8pWfPV7ZCTQjfPdM61 X-Received: by 2002:aca:2207:: with SMTP id b7mr3178082oic.109.1580223849684; Tue, 28 Jan 2020 07:04:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580223849; cv=none; d=google.com; s=arc-20160816; b=kK3ocn60TWGo4UHRjnIQ5LxDe1GB8bOv/wFf3zqeh5rrWjLDv/mpveIlB8d7lOeWzr S5HcJ4gpF7MH0tivq0vT6q3lMLQ5GCb5Iqqujf3u+QHCcom/c5LfomvB1CfY3mgDY3Ry EZ2Q6kUK3hnMsi9H0XNdvcCUU7jBqjmoVriT8P+hah2xEpGt58GcZL5+LPwsIY9Eh8+2 2uud97aZjrecGGPyXnfTrXkWUI0nvfn85gcTMqI9zM2AiAba1ywOBcPUCdB3lrgFbkm3 NyBKX9/qz2nKpouxGji7I3bNFA1+sWVQqWo4yU7oq0rcnMSpK7578edORx3TD2R2T/BA 2VjA== 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:from:references:cc:to:subject:dkim-signature; bh=jxwyE4yCuJly/POgSDmd0mgjgoTTNrnCHPv8m1hThlw=; b=T7Ao9UWIGxSRfOddrwKPmAEbW7Rf+l3AEOQ1P5ykbvbip1M2PNlIyuv0dlj6ZgeZwB AD6Z67aTcEpCDx0iGVBHLO6QU/SANyGxST6pyfnhdLKe9Be9YvJuH4OnHfYcEWmABD1y iGhRanrc7VbrU1hHpeVrKKeLaXRLRZ2vUA7TyYNWD1pqnJnI3e19BZCD+w3Q+YRBdR23 WDMOaQqkI5wOa2dm4MEezRLbxDlsOIGRWgVDeAikq2SIDqY+zq0DOg2Q8mJ24wIKmQi9 R6aM4kuRoVmLP/mlcBA2xhq89sR5gI73y2NavXRtzH2cjiB4M7S6hCeMLkc5+iB5rbbB YHmg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=r9pKAmpc; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l14si4586243oii.37.2020.01.28.07.03.49; Tue, 28 Jan 2020 07:04:09 -0800 (PST) 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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=r9pKAmpc; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726900AbgA1PBn (ORCPT + 99 others); Tue, 28 Jan 2020 10:01:43 -0500 Received: from mail-lf1-f67.google.com ([209.85.167.67]:35496 "EHLO mail-lf1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726243AbgA1PBm (ORCPT ); Tue, 28 Jan 2020 10:01:42 -0500 Received: by mail-lf1-f67.google.com with SMTP id z18so9329540lfe.2; Tue, 28 Jan 2020 07:01:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=jxwyE4yCuJly/POgSDmd0mgjgoTTNrnCHPv8m1hThlw=; b=r9pKAmpcGxCnJQHpeUV186FjMp6g8ZLFV0vbqprv6kdJ06k55bvT1gSajqUntVTSSj /dBkeIqVll8OujXg80OGCegtmjpTelrjQ34GbYIJ/kWJ8v+Pe1nmicD+xBYekQuggSd0 T5zhu4wYNUF5tLHncUPdiR9qJCDeyoB1tjnWWCKqJzuw++TmtRoY46p61ZIaDkVM+Fw6 l+D/km54MrSWj65dv7z52suZ/YiOdwiPYz/HSG/FAfhuSWpHTDEQp5XSX2eO2BNOXGxG Z4QEHFf5wtUvIzwh4kko0qen16g5eEfU95Shd+b0QF3rF1izob6S0iOXOKSgrxx1Y0s2 OMVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=jxwyE4yCuJly/POgSDmd0mgjgoTTNrnCHPv8m1hThlw=; b=Ctkj+Bkm4kRC90ur9aFKMkFKq9G4Nn1MJj9s77DdYbHzffyVg0LFjM8VPF4Fc/xDxl PtzVV+p667c2p+zlw25wz0Qmk9iq8WIqzKsEHIywfW5VAJ3c1BRqbLOpVPdbKsANO9al elptn4bF7FCBGx/pcNo7D9WQeDic4NhOJ2TpcROM63fwK7Yc1wuE9OxDQ86HLv19hpD9 g1gAJyQ1NF7XMtKv1CXuj2xdsGPP1PS5WA7ev8SMKFTiWscsaoNfK3TBOaW9EaO4Glb/ fB3Bd59sFBHxxCeZh+n/NMh4ii9EJPax21CIH9DnJDopI9m6z1p5Ub8WpmeTvl+DxOZX 36Bw== X-Gm-Message-State: APjAAAU1eAiEfgoK0GfPGC2JH2ORspjoUZs4OYxSxJ57VENxtlqI5Xp4 oTmoU/BwBDInCXyOf2ntECSbdd9h X-Received: by 2002:a19:c6cd:: with SMTP id w196mr2653759lff.79.1580223699796; Tue, 28 Jan 2020 07:01:39 -0800 (PST) Received: from [192.168.2.145] (79-139-233-37.dynamic.spd-mgts.ru. [79.139.233.37]) by smtp.googlemail.com with ESMTPSA id u13sm9960229lfq.19.2020.01.28.07.01.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 28 Jan 2020 07:01:39 -0800 (PST) Subject: Re: [PATCH v4 08/14] dmaengine: tegra-apb: Fix coding style problems To: Jon Hunter , Laxman Dewangan , Vinod Koul , Dan Williams , Thierry Reding , =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= Cc: dmaengine@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org References: <20200112173006.29863-1-digetx@gmail.com> <20200112173006.29863-9-digetx@gmail.com> <844c4ace-d043-a908-823d-545b5b753008@nvidia.com> <134adcfb-83fb-4bb7-986e-65217bc4f821@gmail.com> From: Dmitry Osipenko Message-ID: Date: Tue, 28 Jan 2020 18:01:38 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 28.01.2020 17:05, Jon Hunter пишет: > > On 16/01/2020 17:37, Dmitry Osipenko wrote: >> 15.01.2020 12:49, Jon Hunter пишет: >>> >>> >>> On 12/01/2020 17:30, Dmitry Osipenko wrote: >>>> This patch fixes few dozens of coding style problems reported by >>>> checkpatch and prettifies code where makes sense. >>>> >>>> Signed-off-by: Dmitry Osipenko >>>> --- >>>> drivers/dma/tegra20-apb-dma.c | 276 ++++++++++++++++++---------------- >>>> 1 file changed, 144 insertions(+), 132 deletions(-) >>>> >>>> diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c >>>> index dff21e80ffa4..7158bd3145c4 100644 >>>> --- a/drivers/dma/tegra20-apb-dma.c >>>> +++ b/drivers/dma/tegra20-apb-dma.c >>> >>> ... >>> >>>> @@ -1003,20 +1014,23 @@ static void tegra_dma_prep_wcount(struct tegra_dma_channel *tdc, >>>> ch_regs->csr |= len_field; >>>> } >>>> >>>> -static struct dma_async_tx_descriptor *tegra_dma_prep_slave_sg( >>>> - struct dma_chan *dc, struct scatterlist *sgl, unsigned int sg_len, >>>> - enum dma_transfer_direction direction, unsigned long flags, >>>> - void *context) >>>> +static struct dma_async_tx_descriptor * >>>> +tegra_dma_prep_slave_sg(struct dma_chan *dc, >>>> + struct scatterlist *sgl, >>>> + unsigned int sg_len, >>>> + enum dma_transfer_direction direction, >>>> + unsigned long flags, >>>> + void *context) >>>> { >>>> struct tegra_dma_channel *tdc = to_tegra_dma_chan(dc); >>>> + struct tegra_dma_sg_req *sg_req = NULL; >>>> + u32 csr, ahb_seq, apb_ptr, apb_seq; >>>> + enum dma_slave_buswidth slave_bw; >>>> struct tegra_dma_desc *dma_desc; >>>> - unsigned int i; >>>> - struct scatterlist *sg; >>>> - unsigned long csr, ahb_seq, apb_ptr, apb_seq; >>>> struct list_head req_list; >>>> - struct tegra_dma_sg_req *sg_req = NULL; >>>> - u32 burst_size; >>>> - enum dma_slave_buswidth slave_bw; >>>> + struct scatterlist *sg; >>>> + unsigned int burst_size; >>>> + unsigned int i; >>> >>> This is not really consistent with the rest of the changes by having 'i' >>> and 'burst_size' on separate lines. >> >> The goal wasn't to squash everything into a single line, but to make >> code more readable. In this particular case the separated lines look >> better to me. >> >>>> >>>> if (!tdc->config_init) { >>>> dev_err(tdc2dev(tdc), "DMA channel is not configured\n"); >>>> @@ -1028,7 +1042,7 @@ static struct dma_async_tx_descriptor *tegra_dma_prep_slave_sg( >>>> } >>>> >>>> if (get_transfer_param(tdc, direction, &apb_ptr, &apb_seq, &csr, >>>> - &burst_size, &slave_bw) < 0) >>>> + &burst_size, &slave_bw) < 0) >>>> return NULL; >>>> >>>> INIT_LIST_HEAD(&req_list); >>>> @@ -1074,7 +1088,7 @@ static struct dma_async_tx_descriptor *tegra_dma_prep_slave_sg( >>>> len = sg_dma_len(sg); >>>> >>>> if ((len & 3) || (mem & 3) || >>>> - (len > tdc->tdma->chip_data->max_dma_count)) { >>>> + len > tdc->tdma->chip_data->max_dma_count) { >>>> dev_err(tdc2dev(tdc), >>>> "DMA length/memory address is not supported\n"); >>>> tegra_dma_desc_put(tdc, dma_desc); >>>> @@ -1126,20 +1140,21 @@ static struct dma_async_tx_descriptor *tegra_dma_prep_slave_sg( >>>> return &dma_desc->txd; >>>> } >>>> >>>> -static struct dma_async_tx_descriptor *tegra_dma_prep_dma_cyclic( >>>> - struct dma_chan *dc, dma_addr_t buf_addr, size_t buf_len, >>>> - size_t period_len, enum dma_transfer_direction direction, >>>> - unsigned long flags) >>>> +static struct dma_async_tx_descriptor * >>>> +tegra_dma_prep_dma_cyclic(struct dma_chan *dc, dma_addr_t buf_addr, >>>> + size_t buf_len, >>>> + size_t period_len, >>>> + enum dma_transfer_direction direction, >>>> + unsigned long flags) >>>> { >>>> struct tegra_dma_channel *tdc = to_tegra_dma_chan(dc); >>>> - struct tegra_dma_desc *dma_desc = NULL; >>>> struct tegra_dma_sg_req *sg_req = NULL; >>>> - unsigned long csr, ahb_seq, apb_ptr, apb_seq; >>>> - int len; >>>> - size_t remain_len; >>>> - dma_addr_t mem = buf_addr; >>>> - u32 burst_size; >>>> + u32 csr, ahb_seq, apb_ptr, apb_seq; >>>> enum dma_slave_buswidth slave_bw; >>>> + struct tegra_dma_desc *dma_desc; >>>> + dma_addr_t mem = buf_addr; >>>> + unsigned int burst_size; >>>> + size_t len, remain_len; >>>> >>>> if (!buf_len || !period_len) { >>>> dev_err(tdc2dev(tdc), "Invalid buffer/period len\n"); >>>> @@ -1173,13 +1188,13 @@ static struct dma_async_tx_descriptor *tegra_dma_prep_dma_cyclic( >>>> >>>> len = period_len; >>>> if ((len & 3) || (buf_addr & 3) || >>>> - (len > tdc->tdma->chip_data->max_dma_count)) { >>>> + len > tdc->tdma->chip_data->max_dma_count) { >>>> dev_err(tdc2dev(tdc), "Req len/mem address is not correct\n"); >>>> return NULL; >>>> } >>>> >>>> if (get_transfer_param(tdc, direction, &apb_ptr, &apb_seq, &csr, >>>> - &burst_size, &slave_bw) < 0) >>>> + &burst_size, &slave_bw) < 0) >>>> return NULL; >>>> >>>> ahb_seq = TEGRA_APBDMA_AHBSEQ_INTR_ENB; >>>> @@ -1269,7 +1284,6 @@ static int tegra_dma_alloc_chan_resources(struct dma_chan *dc) >>>> int ret; >>>> >>>> dma_cookie_init(&tdc->dma_chan); >>>> - tdc->config_init = false; >>> >>> Why is this removed? Does not seem to belong in this patch. >> >> Because initially, on driver's probe, the tdc->config_init is false for >> all channels and then tegra_dma_free_chan_resources() also sets it to >> false. Thus there is no need to re-initilize the already initialized >> variable. It's not a very good coding style if variables are >> unnecessarily initialized, you probably noticed that there are few other >> cases of removing the unneeded initializations of local variables in >> this patch. > > OK, but I don't really consider this coding-style and would prefer a > separate patch for this. If if it's not a coding-style, then how would you name it? :)