Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp2413067rwe; Sun, 28 Aug 2022 10:45:00 -0700 (PDT) X-Google-Smtp-Source: AA6agR5oMZhQsuvy6+AKWvWb0z/QRnySnlaWIJozy0e2MknJfWQa+nt5Ag7G6v+jPv3FtNKSAah6 X-Received: by 2002:a05:6402:3552:b0:446:b318:d7e0 with SMTP id f18-20020a056402355200b00446b318d7e0mr14474233edd.61.1661708699935; Sun, 28 Aug 2022 10:44:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661708699; cv=none; d=google.com; s=arc-20160816; b=tWY7MKgr9/B4B+baNpzeH5nxdsqx+hcwPeNQkn9yeWEgF9WRASNNf4AOvKDdB5jrYT KtxPq7/sVMikYeJWxd3HlzWA/RMZmhhd8FvFZVdgtzuz5aM/JMAWrkSLUPFpN+PlZTNQ rj3VYL09Xa29/SCks7tvSEmxcOTW/of2sz9wrM9jay66mzygeDcCBmX37EfaStg5cVgi TOidRf0HFmpveP8axs/EeNC6U6EsvqfEz67+UUHnSLjJ89W1FuMgmnnk1hs/dHEAyjsA pyDqp8myTFI6mv6fVdPWaju0BtnP9373X63zcWkO8i6lfw0C3jgd8K7nB9VFdYmu6tjO 9Vxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=AGqnv4qOOA4opKnbigBNAyjtnd2fZdwew9ySO4imYoA=; b=Ok8M0cVnguiKaCm9GUrKvVh3ww7dsodU0ZO7Ud8OiRIZyefkdGQv+71LyY6Q+njVrL DUTHUvOLjbkxVMtHehpje8v1bVRPqt3yYv7FUkfU2vOjr9MfG8y5LX6fFfskRaqh1T6O Hm4WILpOypXwGbVMbBiPk9ZQELWn63ZghRnYi92m8X7uC9BlKW4WPzV4fk50v1JUJ7/J yrVwf0fwfsgJxi6or32IJVQQLUZC8Kf59XOIpyDv55kjqugpVNbtQ6qLgKMWZSZxFiRA ldV3R7NGwfV9ZSFNZMbFB7S/w9phBcrC+u3xdqjYluW5+oPUbWRzIgDWu+BV9w7PUB+7 AOqw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=c6aDkTUZ; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k26-20020aa7d8da000000b004483a12fba9si2408036eds.210.2022.08.28.10.44.33; Sun, 28 Aug 2022 10:44:59 -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=pass header.i=@kernel.org header.s=k20201202 header.b=c6aDkTUZ; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230184AbiH1Rkr (ORCPT + 99 others); Sun, 28 Aug 2022 13:40:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32934 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229747AbiH1Rkq (ORCPT ); Sun, 28 Aug 2022 13:40:46 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5DFD8DF58; Sun, 28 Aug 2022 10:40:45 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id E06DD600BE; Sun, 28 Aug 2022 17:40:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7DFD8C433C1; Sun, 28 Aug 2022 17:40:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1661708444; bh=M6V49NugIE7cNc4R62990NdetudL6kmloeJE8uOD5E8=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=c6aDkTUZ9DD4nkoBFIRYme/HO8S9c1GhteVBULvXGeKP7mSWoFlJDzWR2rVOj5Wq/ kKV4UPECmB9Ai+CPG8xg9mTFNkAn4TmYG5bJN+6I/J2W6QWOhxWTZX27h27b58bZ93 ECCzXdFHAJ4vUIgt4zhk0ynLnYUlrSvANYrrzRrvLsnay2mNnk6Z7tIWwmZ8D9uM+4 50G6ckzh+drL7udCYLlip+SmY11OpipJ0v5eFbNIQc8WlpvXC3PTS/TRkI2y+q5OA6 +Puml7OcQAOYlkxUXgxB/Ux/3VgIePPOQz0cfo8i5P5sU2Tiv4Ow0nksJZy9h+RiRX jMh5jJrWHRWSg== Date: Sun, 28 Aug 2022 18:06:23 +0100 From: Jonathan Cameron To: Andy Shevchenko Cc: Vincent Whitchurch , kernel , Lars-Peter Clausen , Axel Jonsson , linux-iio , Linux Kernel Mailing List Subject: Re: [PATCH 1/2] iio: adc: mcp320x: use device managed functions Message-ID: <20220828180623.54939dd7@jic23-huawei> In-Reply-To: References: <20220824104002.2749075-1-vincent.whitchurch@axis.com> <20220824104002.2749075-2-vincent.whitchurch@axis.com> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.34; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 26 Aug 2022 14:57:44 +0300 Andy Shevchenko wrote: > On Friday, August 26, 2022, Vincent Whitchurch > wrote: > > > On Thu, Aug 25, 2022 at 10:01:58PM +0200, Andy Shevchenko wrote: > > > On Wed, Aug 24, 2022 at 1:46 PM Vincent Whitchurch > > > wrote: > > > > > > > > Use devm_* functions in probe to remove some code and to make it easier > > > > to add further calls to the probe function. > > > > > > ... > > > > > > > + mutex_init(&adc->lock); > > > > > > > + return devm_iio_device_register(&spi->dev, indio_dev); > > > > > > Do you still need to destroy the mutex? If so, you may not call devm_ > > > variant of iio_device_register() or you have to wrap mutex_destroy() > > > accordingly. > > > > mutex_destroy() is only used to ensure that mutex debugging catches > > further use of the mutex. Isn't it rather overkill to add specific > > cleanup to do only that, especially in this case when it's anyway going > > to get freed immediately afterwards? The vast majority of IIO drivers > > don't call mutex_destroy() (256 calls to mutex_init() in HEAD vs 12 to > > mutex_destroy()). > > > > > So 256 - 12 = 244 drivers are not pedantic. I long ago decided mutex_destroy() in remove() paths just isn't worth the effort. It makes absolute sense in more complex flows, but in cases like this it's just annoying and makes the cleanup harder. Hence I'd prefer we just ignore it's existence in cases like this. If someone finds me a bug that it would have caught then I might change my mind ;) If anyone wants a giggle via adding a devm_mutex_init() call it might be interesting to see the responses. Would be unusual in that it would just be mutex_init() in unless the mutex debugging is turned on... Jonathan