Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3407637pxf; Mon, 22 Mar 2021 05:53:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwel+wt/3dxnzUxvXQ7ARaYrTSLP9Qw5K+QtTQ99XIHeYuxJwIYd+8X9f1vGVljij9tp7I2 X-Received: by 2002:a17:906:d797:: with SMTP id pj23mr19413955ejb.367.1616417637795; Mon, 22 Mar 2021 05:53:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616417637; cv=none; d=google.com; s=arc-20160816; b=vUT1hHSYI6w9rtMCFrRaxW4hFgb9sVBVbUWUm2GX0XfZXXj/jTXflW/w5Thlwzb1mv mGganD9B+S9yu/7F0ck4DybUaRPPhJLx+am2tjbsFYBA9G2ys0KfbC3EoZsm9nammc5f epS81csklj34FLCSagJYzppRXUsxO69l+sbeKo+gUYE61pZ14CLhFexcyuGPcA6iOu4N x6UsE7tUPg+oqDvL7GMHufd5ViFHbK/zOFIbQ5jmSsIQb8TESQaJqftuwlbXTKpkYYxf XDJg2BXx9suecJ87Li7mX4QTCE/+LOnTVoU0Dp9csvEpv67Vy8Sfhu6fyAkpjmCfZDS5 wa3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=p+1zYkfMg8tgkjxTeGqjNYBC6g8zumlJJtDFZQdypNk=; b=lcfFZFDSmvLOus77GUxhcoXjeGM9kjC6U8NFP3D0ixsnMkaOiCz1d0zv7eMWoUgugt OQLG02EU6WJ89Iisd8YVvaBZop3EBQxAEhyoFjGino2I1NCmQKPdquWasg41skE2SAN4 w1b1I/yn4CelMFO4zHJxhXmcir0Iea0rSFrb8gLqdUdoHpx2fhdYAuQ0PvqcarXYFerJ SxaNOHBokZ1wWWVmDof6l3+8aQlJwQGR2W7FMZV0oCWWalg/qvXlGnn9BI2zvDPfUJJV U6700uN9/MbvIyRZFsXSG6mcY8yF4NCZuU+PYI9LihGFtYu7KWramZwDPLcFaSuXFCDP xSAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=2Kvizrqv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id fl2si10238652ejc.666.2021.03.22.05.53.34; Mon, 22 Mar 2021 05:53:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=2Kvizrqv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230479AbhCVMv4 (ORCPT + 99 others); Mon, 22 Mar 2021 08:51:56 -0400 Received: from mail.kernel.org ([198.145.29.99]:35512 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232426AbhCVMme (ORCPT ); Mon, 22 Mar 2021 08:42:34 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 4FD20619C5; Mon, 22 Mar 2021 12:40:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1616416817; bh=OcjSi1FgRe9wLD58yPQ93Wz0nIW2R56lzYv/stTykXg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=2KvizrqvYumKV7YIJAQ0piwp2GDj+5+YGVoXFrp5GAt7v+ATsFOCwFnLLwX008Iok 285b0f6bz7IMIbXuq5NVTdw64CnCEgm3w/UdTwIeshKFPTg4GAG4Rjlu14FKu2AKn4 9Yhf0X2Ber9uCy62/z/UbKtk0bbwwxwkZZpSm5mU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ye Xiang , Stable@vger.kernel.org, Jonathan Cameron Subject: [PATCH 5.10 133/157] iio: hid-sensor-prox: Fix scale not correct issue Date: Mon, 22 Mar 2021 13:28:10 +0100 Message-Id: <20210322121937.976365128@linuxfoundation.org> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210322121933.746237845@linuxfoundation.org> References: <20210322121933.746237845@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ye Xiang commit d68c592e02f6f49a88e705f13dfc1883432cf300 upstream. Currently, the proxy sensor scale is zero because it just return the exponent directly. To fix this issue, this patch use hid_sensor_format_scale to process the scale first then return the output. Fixes: 39a3a0138f61 ("iio: hid-sensors: Added Proximity Sensor Driver") Signed-off-by: Ye Xiang Link: https://lore.kernel.org/r/20210130102530.31064-1-xiang.ye@intel.com Cc: Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- drivers/iio/light/hid-sensor-prox.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) --- a/drivers/iio/light/hid-sensor-prox.c +++ b/drivers/iio/light/hid-sensor-prox.c @@ -23,6 +23,9 @@ struct prox_state { struct hid_sensor_common common_attributes; struct hid_sensor_hub_attribute_info prox_attr; u32 human_presence; + int scale_pre_decml; + int scale_post_decml; + int scale_precision; }; /* Channel definitions */ @@ -93,8 +96,9 @@ static int prox_read_raw(struct iio_dev ret_type = IIO_VAL_INT; break; case IIO_CHAN_INFO_SCALE: - *val = prox_state->prox_attr.units; - ret_type = IIO_VAL_INT; + *val = prox_state->scale_pre_decml; + *val2 = prox_state->scale_post_decml; + ret_type = prox_state->scale_precision; break; case IIO_CHAN_INFO_OFFSET: *val = hid_sensor_convert_exponent( @@ -234,6 +238,11 @@ static int prox_parse_report(struct plat HID_USAGE_SENSOR_HUMAN_PRESENCE, &st->common_attributes.sensitivity); + st->scale_precision = hid_sensor_format_scale( + hsdev->usage, + &st->prox_attr, + &st->scale_pre_decml, &st->scale_post_decml); + return ret; }