From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Shevchenko Subject: Re: [PATCH v2 2/9] i2c: add generic routine to parse DT for timing information Date: Wed, 09 Dec 2015 14:12:36 +0200 Message-ID: <1449663156.30729.63.camel@linux.intel.com> References: <1449567473-2084-1-git-send-email-wsa@the-dreams.de> <1449567473-2084-3-git-send-email-wsa@the-dreams.de> <1449572085.30729.28.camel@linux.intel.com> <20151208130323.GB3359@katana> <20151208215103.GA1601@katana> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20151208215103.GA1601@katana> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+glpar-linux-rockchip=m.gmane.org-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org To: Wolfram Sang Cc: linux-sh-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Yoshihiro Shimoda , Magnus Damm , linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Simon Horman , Geert Uytterhoeven , linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Jarkko Nikula , Mika Westerberg , Laurent Pinchart List-Id: linux-i2c@vger.kernel.org T24gVHVlLCAyMDE1LTEyLTA4IGF0IDIyOjUxICswMTAwLCBXb2xmcmFtIFNhbmcgd3JvdGU6Cj4g T24gVHVlLCBEZWMgMDgsIDIwMTUgYXQgMDI6MDM6MjNQTSArMDEwMCwgV29sZnJhbSBTYW5nIHdy b3RlOgo+ID4gCj4gPiA+IFRvbyBtYW55ICYmIHVzZV9kZWZhdWx0cy4gV2hhdCBhYm91dAo+ID4g PiAKPiA+ID4gbWVtc2V0KHQsIDAsIHNpemVvZigqdCkpOwo+ID4gPiAKPiA+ID4gZGV2aWNlX3By b3BlcnR5X3JlYWRfdTMyKGRldiwgImkyYy1zY2wtaW50ZXJuYWwtZGVsYXktbnMiLCAmdC0KPiA+ ID4gPiBzY2xfaW50X2RlbGF5X25zKTsKPiA+ID4gCj4gPiA+IGlmICghdXNlX2RlZmF1bHRzKQo+ ID4gPiDCoHJldHVybjsKPiA+IAo+ID4gSSBsaWtlIHRoaXMhIFRoYW5rcyBmb3IgdGhlIGlucHV0 Lgo+IAo+IE9vcHMsIHRvbyBlbnRodXNpYXN0aWMuIFRoaXMgc2tpcHMgcGFyc2luZyBhbGwgdGhl IG90aGVyCj4gcHJvcGVydGllcy4uLgo+IFRoZSBkZWZhdWx0cyBzaG91bGQgb25seSBiZSBhcHBs aWVkIGlmIHJlYWRpbmcgdGhlIHByb3BlcnRpZXMgZmFpbHMuCgpMb29rcyBsaWtlIHByb3BlcnR5 IHN0dWZmIGlzIG5vdCBkZXN0cnVjdGl2ZSBpbiBjYXNlIG9mIGVycm9yLCBzbywgd2hhdAphYm91 dAoKcGFyYW1YID0gdXNlX2RlZmF1bHRzID8gZGVmYXVsdFggOiAwOwpkZXZpY2VfcHJvcGVydHlf cmVhZOKApijigKYsICZwYXJhbVgpOwoKT3IgbWF5YmUganVzdCBiZSBhIGJpdCB2ZXJib3NlIGxp a2UgdGhlIG9yaWdpbmFsIHZhcmlhbnQKaW50IHJldDsKCnJldCA9IGRldmljZV9wcm9wZXJ0eV9y ZWFk4oCmKOKApik7CmlmIChyZXQgJiYgdXNlX2RlZmF1bHRzKSB7CuKApgp9CgpBbW9uZyBhbGwg dmFyaWFudHMgSSBsaWtlIHRoZSBsYXR0ZXIgb25lIGhlcmUuIFdoYXQgZG8geW91IHRoaW5rPwoK LS0gCkFuZHkgU2hldmNoZW5rbyA8YW5kcml5LnNoZXZjaGVua29AbGludXguaW50ZWwuY29tPgpJ bnRlbCBGaW5sYW5kIE95CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0CkxpbnV4LXJvY2tjaGlwQGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1yb2NrY2hpcAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Shevchenko Date: Wed, 09 Dec 2015 12:12:36 +0000 Subject: Re: [PATCH v2 2/9] i2c: add generic routine to parse DT for timing information Message-Id: <1449663156.30729.63.camel@linux.intel.com> List-Id: References: <1449567473-2084-1-git-send-email-wsa@the-dreams.de> <1449567473-2084-3-git-send-email-wsa@the-dreams.de> <1449572085.30729.28.camel@linux.intel.com> <20151208130323.GB3359@katana> <20151208215103.GA1601@katana> In-Reply-To: <20151208215103.GA1601@katana> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: Wolfram Sang Cc: linux-sh-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Yoshihiro Shimoda , Magnus Damm , linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Simon Horman , Geert Uytterhoeven , linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Jarkko Nikula , Mika Westerberg , Laurent Pinchart On Tue, 2015-12-08 at 22:51 +0100, Wolfram Sang wrote: > On Tue, Dec 08, 2015 at 02:03:23PM +0100, Wolfram Sang wrote: > > > > > Too many && use_defaults. What about > > > > > > memset(t, 0, sizeof(*t)); > > > > > > device_property_read_u32(dev, "i2c-scl-internal-delay-ns", &t- > > > > scl_int_delay_ns); > > > > > > if (!use_defaults) > > >  return; > > > > I like this! Thanks for the input. > > Oops, too enthusiastic. This skips parsing all the other > properties... > The defaults should only be applied if reading the properties fails. Looks like property stuff is not destructive in case of error, so, what about paramX = use_defaults ? defaultX : 0; device_property_read…(…, ¶mX); Or maybe just be a bit verbose like the original variant int ret; ret = device_property_read…(…); if (ret && use_defaults) { … } Among all variants I like the latter one here. What do you think? -- Andy Shevchenko Intel Finland Oy