Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3411438pxf; Mon, 22 Mar 2021 06:00:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwH955uFuJXceiVeqrdk1lV7dfMBLnwn7BeumhoJ9XuzKdCoXOVaoW8VXbmunnB5xaz1bdm X-Received: by 2002:a17:907:e88:: with SMTP id ho8mr19736928ejc.199.1616418011600; Mon, 22 Mar 2021 06:00:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616418011; cv=none; d=google.com; s=arc-20160816; b=mII+lXohyjcrhnggOgGlDynvjnvPpyr14f1BStIjGQxn3JswcsAGvTfp62EqamatxF PcT8MR7Asbl8gmakaotSJzWxwusVLtT3xc07zYZoGLNvKqmVMpHPaF9Zpsh+rLRdGTvL IlJfhWyyAQP0qSoms2QMFri8CHOeSszJL1dupWGWeQ+ufayspOtXi0+HJzOn891gTmCr S7gP9wGh9NdAR7QqEaHDNZQm1Cg5IExHcqEdKwi8cIvh9tlAvXEOHx2UG/uDSI0srsSF Wnufyf9750YogtNevR1leydODZbeKe7KdVISXK0/qqZbzL1cAfwfSVv/GYZSJ+cYzQRv PKlw== 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=GihOrK+ea6kzRmstGekrFSdvNLP/KgG8+STIEuCHQEI=; b=ycLwjAf0Pode/qXv7cZJDO6FyXMACThrhy/fgnhuZR8iwP/WDhHhoqKV2qgfPxK2DO +q5wMUsx0wSipubsFb6/qLEMPg5PwsObjf+PrJ5eIcTKPq44qIWRSvW4P/Rit5WU3/JP s82xgBdR/CXlmv3gKScWT4golNRKz8/hKpaBasHLcV4ZxbbfaTwkqT+ZGMVUPpQRrM/p 8DwtCVlb1u5hxAFA3RcDdz0w5/R0AJJJyatsBLWtFrkwKNODpjSa/EiTUUt/b0hZzXjw +VmRLIuRPP6FAn1rSdPOsvCK0bl8ybReQrosrdnz88QeaoWnpTZ+VsLP4zc1ZPA2++Mr oNqA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=TOme3Nb8; 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 da5si11925330edb.464.2021.03.22.05.59.47; Mon, 22 Mar 2021 06:00:11 -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=TOme3Nb8; 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 S233341AbhCVM6R (ORCPT + 99 others); Mon, 22 Mar 2021 08:58:17 -0400 Received: from mail.kernel.org ([198.145.29.99]:42228 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232370AbhCVMrb (ORCPT ); Mon, 22 Mar 2021 08:47:31 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3FEDA619B8; Mon, 22 Mar 2021 12:43:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1616416993; bh=D++OTPOS/IxfB8l12a/4+NthToIunmtwr9oe401W5Xw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TOme3Nb8BlQERnbGxkMErOtFJVdKa+SAE9lxbGbJNiXMMqTyvlRlLfI6XINXPlv2J YhrqcD1bMoGJxqFcR9bejXcjNkNZNB4nN9m1PmyQHZoIUgPc4LqwbAiXRhxjJHXCe9 6AXDgTPdrDaOTpHzz2eUol0s5vYHFSvexYPsP0gc= 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.4 45/60] iio: hid-sensor-prox: Fix scale not correct issue Date: Mon, 22 Mar 2021 13:28:33 +0100 Message-Id: <20210322121923.881607558@linuxfoundation.org> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210322121922.372583154@linuxfoundation.org> References: <20210322121922.372583154@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 @@ -25,6 +25,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 */ @@ -95,8 +98,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( @@ -236,6 +240,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; }