Message ID | 83fd237d2ac157d234e9c7cce1206904c2d8773d.1666208065.git.drv@mailo.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp508607wrs; Wed, 19 Oct 2022 12:57:04 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6p++ralUn0P0J9NBogktpevT08UkqXfLcPFnJtXTdou8snp7wH9DZ0dq1Vna+UaTmZLJx+ X-Received: by 2002:a17:90b:3e82:b0:20d:2fa1:d08d with SMTP id rj2-20020a17090b3e8200b0020d2fa1d08dmr48201084pjb.162.1666209424648; Wed, 19 Oct 2022 12:57:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666209424; cv=none; d=google.com; s=arc-20160816; b=GfVTCmlGTjaoFvu1NXK5LuW3/tH7M7+Qy0jKLFu99iOOhX1m1p2khh3jFiy+09XeuW 5pZ8WHrWcyGN0GXKaogcp+3WVbzuR/6nF9NXlxYR7h16lPxPx5EbhoKrrhtl8nycgYXD N/6cs11IBS1i6KwB+zquPEhMwMAWmeR9zryH9rWnBWKwIN0eupfg9PgYADhNvkQBoYZH ToEshFw3ZX1Lgao8f83zjfSwZvYZo7HUnj7LJJDXivyxS7I+RdvWXytg4+XNVCXi5M/8 sYdofoaCDxiDN9xUgagm0FlEM/Uu0wd0UvN0Hx70ZFjiaJnEF8bqy22WWeczOzxL0o7U FWbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=u/qmog5mRLXImL90rjgsnD+EBggWbzRHlnLTGgqZHBs=; b=UC0GBtQ63nRpfBan952dXi7C3FKuSP5VoK/OhdaP0jifPGMG8K+8dEe4XD3HT3Dadn 0+w+KiWe38cjnsR5cv6zUP/TgnpFXEWZxo9mT+3FLjrisKw3y9VOZeSeIInv5ns0C1mE rpY79tRtXKR9CfGZkE1JcoR2TJ1LsussdyL3mz1wBl3mCwiD01amantj7q2Fb0ZrhBZI lfgNusmPotV6+/aWoOr80ecv+dRc+gNw467kEnRVVYYJJ3odeFUo7/gQ2c1plVviQoAm v+klbYoOilUO/oZHbxtILzUA51mK2vfQEbnCuPx4ywFmWdA7JePwRGMlpcAhqt0Km5+1 LhEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@mailo.com header.s=mailo header.b=gyCgb0pI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mailo.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k8-20020a170902c40800b0017f7fffb591si22534618plk.374.2022.10.19.12.56.52; Wed, 19 Oct 2022 12:57:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@mailo.com header.s=mailo header.b=gyCgb0pI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mailo.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230245AbiJSTzP (ORCPT <rfc822;samuel.l.nystrom@gmail.com> + 99 others); Wed, 19 Oct 2022 15:55:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48664 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230115AbiJSTzJ (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Wed, 19 Oct 2022 15:55:09 -0400 Received: from msg-2.mailo.com (msg-2.mailo.com [213.182.54.12]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EB99618BE33 for <linux-kernel@vger.kernel.org>; Wed, 19 Oct 2022 12:55:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=mailo.com; s=mailo; t=1666209298; bh=rWuVo5ArWe0A4Pt0jIryo1pM/iFzQ7NFsBkrARvSvXo=; h=X-EA-Auth:Date:From:To:Cc:Subject:Message-ID:References: MIME-Version:Content-Type:In-Reply-To; b=gyCgb0pIvTLXHQ871p27n3Vrwl3FHTRJaV5uSbRBwbwV4dSlAk+aE7Y3Jv7dgXt+k rIprmUwHY6IJ/K/PZBYxrhJ1xfHTM2T/PoGX8i5GPgqeGJibXiivrGc5JufdsQs1hP F3kZnWm4zEzBVObyLYOBvvKki76U12CauNJS3MGk= Received: by b-6.in.mailobj.net [192.168.90.16] with ESMTP via [213.182.55.206] Wed, 19 Oct 2022 21:54:58 +0200 (CEST) X-EA-Auth: AdR9hdmXB7TSkPVfT4xk/8eiuJeuqJrx3mvKeq4HmEc1ZfTC58atNSmqQf8dzzvh7bfNsoL+8Yf7C1zfhKo8638OrGLIKzOt Date: Thu, 20 Oct 2022 01:24:53 +0530 From: Deepak R Varma <drv@mailo.com> To: outreachy@lists.linux.dev, gregkh@linuxfoundation.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Cc: kumarpraveen@linux.microsoft.com, saurabh.truth@gmail.com Subject: [PATCH v4 1/2] staging: most: dim2: read done_buffers count locally from HDM channel Message-ID: <83fd237d2ac157d234e9c7cce1206904c2d8773d.1666208065.git.drv@mailo.com> References: <cover.1666208065.git.drv@mailo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <cover.1666208065.git.drv@mailo.com> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747147213852550864?= X-GMAIL-MSGID: =?utf-8?q?1747147213852550864?= |
Series |
staging: most: dim2: remove unnecessary function call and variable usage
|
|
Commit Message
Deepak R Varma
Oct. 19, 2022, 7:54 p.m. UTC
The function dim_get_channel_state only serves to initialize the ready and
done_buffers fields of the structure passed as its second argument. In
service_done_flag, this structure is never used again and the only purpose
of the call is to get the value that is put in the done_buffers field.
But that value is just the done_sw_buffers_number field of the call's
first argument. So the whole call is useless, and we can just replace it
with an access to this field.
This change implies that the variable st is no longer used, so drop it as
well.
Signed-off-by: Deepak R Varma <drv@mailo.com>
---
PLEASE NOTE:
1. I have only built the module on my machine, but have not tested it.
I am not sure how to test this change. I am willing to test it with
appropriate guidance provided I have the necessary hardware.
2. This was a standalone patch earlier. It is now combined into a patch set
with another patch for the same driver. Hence I am carry forwarding the
change log for this patch here:
Changes in v4:
-- None.
Changes in v3:
1. The patch log message is further improved. This revised verbiage is as
thankfully provided by julia.lawall@inria.fr
Changes in v2:
1. Update patch log message to be more descriptive about the reason for change.
Feedback provided by julia.lawall@inria.fr
drivers/staging/most/dim2/dim2.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
--
2.30.2
Comments
On Thu, Oct 20, 2022 at 01:24:53AM +0530, Deepak R Varma wrote: > The function dim_get_channel_state only serves to initialize the ready and > done_buffers fields of the structure passed as its second argument. In > service_done_flag, this structure is never used again and the only purpose > of the call is to get the value that is put in the done_buffers field. > But that value is just the done_sw_buffers_number field of the call's > first argument. So the whole call is useless, and we can just replace it > with an access to this field. Are you sure it is useless? You have changed the logic here, you are now thinking that this value can never change, while before you were ensured of getting the "correct" value as it is under the lock when the function is called. I can't take this type of change as a "cleanup" patch for outreachy unless you have the hardware as it is NOT a basic "checkpatch" style cleanup at all. If you want to get this change accepted, please work with the maintainer of the code and get them to agree that the change is correct. And if it is, odds are more things also would need to be cleaned up at the same time, right? thanks, greg k-h
On Thu, Oct 20, 2022 at 05:03:14PM +0200, Greg KH wrote: > On Thu, Oct 20, 2022 at 01:24:53AM +0530, Deepak R Varma wrote: > > The function dim_get_channel_state only serves to initialize the ready and > > done_buffers fields of the structure passed as its second argument. In > > service_done_flag, this structure is never used again and the only purpose > > of the call is to get the value that is put in the done_buffers field. > > But that value is just the done_sw_buffers_number field of the call's > > first argument. So the whole call is useless, and we can just replace it > > with an access to this field. > > Are you sure it is useless? Hello, pardon my limited understanding, but I think this function call is not necessary. > > You have changed the logic here, you are now thinking that this value > can never change, while before you were ensured of getting the "correct" > value as it is under the lock when the function is called. I may be wrong, but I do not think there is a change in the long, but I may entirely wrong. The function was called from inside the lock scope, now we are extracting the value directly, still inside the lock scope. This should be safe. > > I can't take this type of change as a "cleanup" patch for outreachy > unless you have the hardware as it is NOT a basic "checkpatch" style > cleanup at all. Sure. That is fine. > > If you want to get this change accepted, please work with the maintainer > of the code and get them to agree that the change is correct. And if it > is, odds are more things also would need to be cleaned up at the same > time, right? I am eagerly waiting for a feedback from the maintainer. If they agree with my viewpoint, I will continue to work on this change outside of the clean up patch tasks. I will be happy to :) Thank you Greg! ./drv > > thanks, > > greg k-h >
diff --git a/drivers/staging/most/dim2/dim2.c b/drivers/staging/most/dim2/dim2.c index ab72e11ac5ab..4c1f27898a29 100644 --- a/drivers/staging/most/dim2/dim2.c +++ b/drivers/staging/most/dim2/dim2.c @@ -259,7 +259,6 @@ static void retrieve_netinfo(struct dim2_hdm *dev, struct mbo *mbo) static void service_done_flag(struct dim2_hdm *dev, int ch_idx) { struct hdm_channel *hdm_ch = dev->hch + ch_idx; - struct dim_ch_state_t st; struct list_head *head; struct mbo *mbo; int done_buffers; @@ -271,7 +270,7 @@ static void service_done_flag(struct dim2_hdm *dev, int ch_idx) spin_lock_irqsave(&dim_lock, flags); - done_buffers = dim_get_channel_state(&hdm_ch->ch, &st)->done_buffers; + done_buffers = hdm_ch->ch.done_sw_buffers_number; if (!done_buffers) { spin_unlock_irqrestore(&dim_lock, flags); return;