Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755938AbcK1XLP (ORCPT ); Mon, 28 Nov 2016 18:11:15 -0500 Received: from mail-pg0-f68.google.com ([74.125.83.68]:35892 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756221AbcK1XKl (ORCPT ); Mon, 28 Nov 2016 18:10:41 -0500 Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 10.1 \(3251\)) Subject: Re: [PATCH 1/3] hwmon: Add Texas Instruments TMP108 temperature sensor driver. From: John Muir In-Reply-To: <20161128221916.GA13689@roeck-us.net> Date: Mon, 28 Nov 2016 15:10:38 -0800 Cc: Jean Delvare , Jonathan Corbet , Mark Rutland , Rob Herring , Linux List , linux-hwmon@vger.kernel.org, linux-doc@vger.kernel.org Message-Id: <1398C020-EF5A-42F2-8A1A-7F6782DC3E4A@jmuir.com> References: <1480223737-82080-2-git-send-email-john@jmuir.com> <20161128195825.GA10709@roeck-us.net> <20161128221916.GA13689@roeck-us.net> To: Guenter Roeck X-Mailer: Apple Mail (2.3251) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id uASNBOCO003128 Content-Length: 1394 Lines: 35 On Nov 28, 2016, at 2:19 PM, Guenter Roeck wrote: > > The tmp102 driver adds the timeout if the device was in shutdown mode (SD=1). > > if (tmp102->config_orig & TMP102_CONF_SD) { > ... > tmp102->ready_time += msecs_to_jiffies(CONVERSION_TIME_MS); > } > > Your code adds the timeout if the device was in continuous operation mode (M1=1). > > if ((tmp108->config & TMP108_CONF_MODE_MASK) > == TMP108_MODE_CONTINUOUS) { > tmp108->ready_time += > msecs_to_jiffies(TMP108_CONVERSION_TIME_MS); > } > > Unless I am missing something, that is exactly the opposite. Note that the TMP102 code is looking at ‘config_orig’ which was the initial device state, whereas in my proposed driver the code looks at the current configuration. The update_ready_time function was only intended to be called AFTER the device has moved to a new mode. For the probe case I simply ignored the fact that it was already in continuous mode at startup and lazily re-used the update_ready_time function causing the code to run through a few extra instructions. I was attempting to re-use the logic in multiple cases. I’ll update the code in my next patch series and you can re-review. > Side note: Per datasheet, M0 is irrelevant if M1=1. The above check does not > match M1=1, M0=1, but that condition would still reflect continuous mode. > OK. Noted. Thanks, John.