From mboxrd@z Thu Jan 1 00:00:00 1970 From: Guenter Roeck Subject: Re: [PATCHv3] hwmon: Add tc654 driver Date: Mon, 10 Oct 2016 13:59:26 -0700 Message-ID: <20161010205926.GA16967@roeck-us.net> References: <20161007182939.GA9031@roeck-us.net> <20161009221222.29409-1-chris.packham@alliedtelesis.co.nz> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Chris Packham Cc: "linux-hwmon@vger.kernel.org" , Masahiko Iwamoto , Joshua Scott , Kevin Tsai , Wolfram Sang , Rob Herring , Mark Rutland , Jean Delvare , Jonathan Corbet , "linux-i2c@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-doc@vger.kernel.org" List-Id: devicetree@vger.kernel.org On Mon, Oct 10, 2016 at 08:08:14PM +0000, Chris Packham wrote: > On 10/11/2016 02:22 AM, Guenter Roeck wrote: > >> + if (val) > >> > + data->config |= TC654_REG_CONFIG_DUTYC; > >> > + else > >> > + data->config &= ~TC654_REG_CONFIG_DUTYC; > > I just realized that this won't work as intended. Problem is that you > > only fill data->config when reading an attribute. So, if a set function > > is called prior to reading an attribute, data->config will be 0, and > > you end up overwriting the original configuration. > > > > Should I just read it in the probe function or fill it in with the > documented hardware defaults? Reading it would be better - that leaves the option open that it was configured by ROMMON or BIOS. Guenter