From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754180AbcARIhO (ORCPT ); Mon, 18 Jan 2016 03:37:14 -0500 Received: from metis.ext.4.pengutronix.de ([92.198.50.35]:59657 "EHLO metis.ext.4.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753780AbcARIhL (ORCPT ); Mon, 18 Jan 2016 03:37:11 -0500 Date: Mon, 18 Jan 2016 09:37:04 +0100 From: Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= To: Li Yang Cc: Gao Pan , Wolfram Sang , Linus Walleij , lkml , Li Yang , linux-gpio@vger.kernel.org, "linux-i2c@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH v3] i2c: imx: make bus recovery through pinctrl optional Message-ID: <20160118083704.GQ24441@pengutronix.de> References: <1452842844-16256-1-git-send-email-leoyang.li@nxp.com> <20160115075356.GI24441@pengutronix.de> <20160115090343.GK24441@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::c0 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello Leo, On Mon, Jan 18, 2016 at 04:22:51PM +0800, Li Yang wrote: > On Fri, Jan 15, 2016 at 5:03 PM, Uwe Kleine-König > wrote: > > On Fri, Jan 15, 2016 at 04:46:06PM +0800, Li Yang wrote: > >> On Fri, Jan 15, 2016 at 3:53 PM, Uwe Kleine-König > >> wrote: > >> >> - i2c_imx_init_recovery_info(i2c_imx, pdev); > >> >> + if (IS_ERR_OR_NULL(i2c_imx->pinctrl)) > >> > > >> > I'd prefer to set i2c_imx->pinctrl to NULL if it's not used and then use > >> > > >> > if (!i2c_imx->pinctrl) > >> > > >> > here. (Or maybe make i2c_imx_init_recovery_info aware of this situation > >> > to keep the caller simple?) > >> > >> Setting not used pointer to NULL might be a good coding practice > >> generally. But in this case neither the driver nor gpio framework > >> checks if the pinctrl is NULL before accessing it. We still need the > >> driver to make sure pinctrl is not used in this situation. The > >> benefit of the proposed change seems to be pretty limited. :) > > > > At least it gets rid of IS_ERR_OR_NULL which is used wrongly more often > > than not. > > It's true that this API is not used a lot. Are you suggesting that it > is poorly designed and probably should be removed? But I still don't > quite get the point why it tends to be wrongly used. Do you consider > the use in this patch a wrongly used case? See http://permalink.gmane.org/gmane.linux.ports.arm.omap/97874 for an earlier discussion. Having said that, I think at the moment there is no such bug in this case, still I agree with Russell that IS_ERR_OR_NULL isn't nice and so would prefer not to add new instances. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ |