Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3399129pxf; Mon, 22 Mar 2021 05:40:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwCg6NrrF4S48Bg8ql6TQoDcVB+Q9jBn6Eq6dGrju/MWGzR0KP4OYDzHUaGVxkHNfbzCS4S X-Received: by 2002:a50:ee95:: with SMTP id f21mr25685032edr.130.1616416824189; Mon, 22 Mar 2021 05:40:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616416824; cv=none; d=google.com; s=arc-20160816; b=WpDXfjMv3Nx8CzsbXWNaPcQPCkpUd59MANohTX+7TybSv+t7gYUIVFhR5rxUImMAEZ wVv2psoIvcNV9rRd8schmmxSm9f7NupvsmElkY2nnIn4cC+JVTlToXYz6DwsfsRke35u L/NY4otSQCgUwuVCq6FJ3RVycB2w03CRUEUplUToKVOJLHfi+UQTmcVcj4dWejhYGUqP N7og+Q7juKWi9kSmSYK+Hej6zKVreWZdD9m2UoqTsLss1oLLu66O8cj8juDWqBuRsJ1m +14xbBF97/zUuMTz8EwVWJalUp5AXPp3wmYVxWFMJlbdKDNW/gALVjQCMcd0Ql5axOGx AO3w== 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=EHfcqUpeqgorZ4gZcQ9VHOGUcKaMcJz/ZozQp9yMHvkF+XrqEdt6yRS/3C9JDS+9ol J8gaOL6D1QDoGq2uUGGWHEOZ3vX1bcmE2QIJHlbM4v6S5vRicZfr/46FBb8vrEtX6Poh T9nZJriL+X+VZhsyUkSbA5USbMpbICI1djDVjx7SgRrdTYwbF6XeBJVrBHh6oza8u25C 7kBLDsVB/gre/lLg23UtNNfOasxbFrvtxKwy2laTbBFSoZgZgOxM+KxP1oJ+K7uVqwdM AMJEc1r6dK+aBO+GHZjvwVsg7rQZSGhkeJkb76GEdUmN3U2nXM4UHWMc+rQJDGw0ANn+ nM1Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=LH0X2XmI; 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 ge14si10540530ejb.716.2021.03.22.05.40.00; Mon, 22 Mar 2021 05:40:24 -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=LH0X2XmI; 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 S231955AbhCVMhL (ORCPT + 99 others); Mon, 22 Mar 2021 08:37:11 -0400 Received: from mail.kernel.org ([198.145.29.99]:56314 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231173AbhCVMd2 (ORCPT ); Mon, 22 Mar 2021 08:33:28 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 20A8A619A6; Mon, 22 Mar 2021 12:33:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1616416408; bh=OcjSi1FgRe9wLD58yPQ93Wz0nIW2R56lzYv/stTykXg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LH0X2XmIRqNtgUCN4HZ3XaG0sqQAlUVbNzBHKmVHtB8c6OBrn65CBeRpPL39YaaUH O4OpslB27bsUszbXH7Kw6ve7xGaxLeYDMKeLJP3o9LUZzxlWiQaM6GTNO7R8y0NXZN Nu02gXyXjt0Y2Qsuot+vPAHSdPv/pah57fkCtbn4= 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.11 095/120] iio: hid-sensor-prox: Fix scale not correct issue Date: Mon, 22 Mar 2021 13:27:58 +0100 Message-Id: <20210322121932.861330018@linuxfoundation.org> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210322121929.669628946@linuxfoundation.org> References: <20210322121929.669628946@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; }