From patchwork Tue Jan 21 09:48:52 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonghwa Lee X-Patchwork-Id: 3515811 Return-Path: X-Original-To: patchwork-linux-pm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 95A0D9F2E9 for ; Tue, 21 Jan 2014 09:49:34 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A0D2520127 for ; Tue, 21 Jan 2014 09:49:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9667320122 for ; Tue, 21 Jan 2014 09:49:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754255AbaAUJt2 (ORCPT ); Tue, 21 Jan 2014 04:49:28 -0500 Received: from mailout4.samsung.com ([203.254.224.34]:8220 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754248AbaAUJtL (ORCPT ); Tue, 21 Jan 2014 04:49:11 -0500 Received: from epcpsbgr5.samsung.com (u145.gpu120.samsung.co.kr [203.254.230.145]) by mailout4.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MZQ00MD6WLY4A40@mailout4.samsung.com> for linux-pm@vger.kernel.org; Tue, 21 Jan 2014 18:49:10 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [172.20.52.115]) by epcpsbgr5.samsung.com (EPCPMTA) with SMTP id B1.F2.14803.4924ED25; Tue, 21 Jan 2014 18:49:08 +0900 (KST) X-AuditID: cbfee691-b7efc6d0000039d3-ad-52de4294d82b Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 82.A7.28157.4924ED25; Tue, 21 Jan 2014 18:49:08 +0900 (KST) Received: from localhost.localdomain ([10.252.82.199]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MZQ00HCSWLSU4A0@mmp1.samsung.com>; Tue, 21 Jan 2014 18:49:08 +0900 (KST) From: Jonghwa Lee To: linux-pm@vger.kernel.org Cc: anton@enomsg.org, dan.carpenter@oracle.com, dwmw2@infradead.org, Jonghwa Lee , MyungJoo Ham Subject: [PATCH] charger-manager: Fix a bug in checking battery temperature. Date: Tue, 21 Jan 2014 18:48:52 +0900 Message-id: <1390297732-2708-1-git-send-email-jonghwa3.lee@samsung.com> X-Mailer: git-send-email 1.7.9.5 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrBLMWRmVeSWpSXmKPExsWyRsSkWHeK070gg4ubjSwObtW0eP1vOovF xJWTmS06zz5htvjce4TR4nbjCjYHNo8J/Z8YPTav0PL4+PQWi0ffllWMHp83yQWwRnHZpKTm ZJalFunbJXBlfH3Rw17QyFXxftEOlgbGORxdjJwcEgImEpP/NbJC2GISF+6tZ+ti5OIQEljK KPF0wVRGmKKZt9exQCQWMUp8XjSbHcJpY5I4t/MgM0gVm4COxP99N9lBbBEBGYmpV/azghQx C0xjlJixZQPYKGEBH4nv++6wgNgsAqoSC9pngNm8Au4SuxatB2rgAFqnIDFnkg1Ir4TAbzaJ madmMEPUC0h8m3yIBaJGVmLTAWaI6yQlDq64wTKBUXABI8MqRtHUguSC4qT0IlO94sTc4tK8 dL3k/NxNjMBQPf3v2cQdjPcPWB9iTAYaN5FZSjQ5HxjqeSXxhsZmRhamJqbGRuaWZqQJK4nz pj9KChISSE8sSc1OTS1ILYovKs1JLT7EyMTBKdXA6L1pj9WaJ2leDcJ/a7We+a+QL7P4d2zq ++kTWJLL/slGcypbf5+6QrniebHOgZKDmndD7/FPfXOlyH3r+tOqQT2nQjwnBGe9Ddrw/75v ++qvD+9wv6z48/po2DEjh3UMt2v/+7/hPn+g9sL9SUqH7Obbqnk/UYzQbjp72HOdgBsTi/qU MzdONiqxFGckGmoxFxUnAgBJrlbDawIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrKIsWRmVeSWpSXmKPExsVy+t9jAd0pTveCDLbP0bE4uFXT4vW/6SwW E1dOZrboPPuE2eJz7xFGi9uNK9gc2Dwm9H9i9Ni8Qsvj49NbLB59W1YxenzeJBfAGtXAaJOR mpiSWqSQmpecn5KZl26r5B0c7xxvamZgqGtoaWGupJCXmJtqq+TiE6DrlpkDdICSQlliTilQ KCCxuFhJ3w7ThNAQN10LmMYIXd+QILgeIwM0kLCGMePrix72gkauiveLdrA0MM7h6GLk5JAQ MJGYeXsdC4QtJnHh3nq2LkYuDiGBRYwSnxfNZodw2pgkzu08yAxSxSagI/F/3012EFtEQEZi 6pX9rCBFzALTGCVmbNnACJIQFvCR+L7vDthYFgFViQXtM8BsXgF3iV2L1gM1cACtU5CYM8lm AiP3AkaGVYyiqQXJBcVJ6blGesWJucWleel6yfm5mxjBkfBMegfjqgaLQ4wCHIxKPLwVG+8G CbEmlhVX5h5ilOBgVhLhnax4L0iINyWxsiq1KD++qDQntfgQYzLQ8onMUqLJ+cAozSuJNzQ2 MTOyNDI3tDAyNidNWEmc92CrdaCQQHpiSWp2ampBahHMFiYOTqkGRgHei++1vh2SncRV6x+n 8HbhTM4pfNVKh3SrTjxzPW4b6LRvucuCbfHqsplWtzgs150P5OpJ2xPSYh3MWReR9H5n1nuD TScvy95KvPqzQ0jD9+cxiVepx7nMPk1IZo4K7f1y7vS2hx9/lV2rWck09Xj4Usug7qmpds16 06f/qDF2zKvTu3bxshJLcUaioRZzUXEiAM7+bETIAgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Removing faulty typecast which converts 'int *' to 'unsigned long *'. It would make unintended result for 64bit machine especially using Big-endian. Signed-off-by: Jonghwa Lee Signed-off-by: MyungJoo Ham --- drivers/power/charger-manager.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/drivers/power/charger-manager.c b/drivers/power/charger-manager.c index ec5c140..8f73790 100644 --- a/drivers/power/charger-manager.c +++ b/drivers/power/charger-manager.c @@ -560,15 +560,20 @@ static int cm_get_battery_temperature(struct charger_manager *cm, return -ENODEV; #ifdef CONFIG_THERMAL - ret = thermal_zone_get_temp(cm->tzd_batt, (unsigned long *)temp); - if (!ret) - /* Calibrate temperature unit */ - *temp /= 100; -#else + if (cm->tzd_batt && !IS_ERR(cm->tzd_batt)) { + unsigned long _temp; + ret = thermal_zone_get_temp(cm->tzd_batt, &_temp); + if (!ret) { + /* Calibrate temperature unit */ + _temp /= 100; + *temp = _temp; + return 0; + } + } +#endif ret = cm->fuel_gauge->get_property(cm->fuel_gauge, POWER_SUPPLY_PROP_TEMP, (union power_supply_propval *)temp); -#endif return ret; }