From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752370AbdHXJnE (ORCPT ); Thu, 24 Aug 2017 05:43:04 -0400 Received: from mx2.suse.de ([195.135.220.15]:55053 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751262AbdHXJnC (ORCPT ); Thu, 24 Aug 2017 05:43:02 -0400 Date: Thu, 24 Aug 2017 11:43:00 +0200 Message-ID: From: Takashi Iwai To: Andy Shevchenko Cc: "linux-kernel@vger.kernel.org" , Lee Jones , Darren Hart , Andy Shevchenko , "Rafael J . Wysocki" , Mika Westerberg , Johannes Stezenbach , Platform Driver , "linux-acpi@vger.kernel.org" Subject: Re: [PATCH v2 3/3] ACPI / PMIC: Add opregion driver for Intel Dollar Cove TI PMIC In-Reply-To: References: <20170824081141.5018-1-tiwai@suse.de> <20170824081141.5018-4-tiwai@suse.de> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/25.2 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 24 Aug 2017 11:23:18 +0200, Andy Shevchenko wrote: > > On Thu, Aug 24, 2017 at 11:11 AM, Takashi Iwai wrote: > > This patch adds the opregion driver for Dollar Cove TI PMIC on Intel > > Cherry Trail devices. The patch is based on the original work by > > Intel, found at: > > https://github.com/01org/ProductionKernelQuilts > > with many cleanups and rewrites. > > > > The driver is currently provided only as built-in to follow other > > PMIC opregion drivers convention. > > > > The re-enumeration of devices at probe is required for fixing the > > issues on HP x2 210 G2. See bug#195689. > > > > One comment below, otherwise (snip) > > +static int dc_ti_pmic_get_raw_temp(struct regmap *regmap, int reg) > > +{ > > + u8 buf[2]; > > + unsigned int val; > > + > > + if (regmap_bulk_read(regmap, reg, buf, 2)) > > + return -EIO; > > + > > + /* stored in big-endian */ > > > + val = buf[0] & 0x03; > > + return (val << 8) | buf[1]; > > Do you need a temporary variable at all? > > return ((buf[0] & 0x03) << 8) | buf[1]; Right it can be dropped. Will address it in the next round. thanks, Takashi