From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752203AbcE0K3F (ORCPT ); Fri, 27 May 2016 06:29:05 -0400 Received: from hqemgate15.nvidia.com ([216.228.121.64]:16783 "EHLO hqemgate15.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752001AbcE0K3D (ORCPT ); Fri, 27 May 2016 06:29:03 -0400 X-PGP-Universal: processed; by hqnvupgp08.nvidia.com on Fri, 27 May 2016 03:27:20 -0700 Subject: Re: [PATCH] arm64: defconfig: Enable cros-ec and battery driver To: Krzysztof Kozlowski , Rhyland Klein , Thierry Reding , Sebastian Reichel , David Woodhouse , "Dmitry Eremin-Solenikov" References: <1462290318-9074-1-git-send-email-rklein@nvidia.com> <5744609A.1000008@nvidia.com> <324dfe74-4fc0-d500-91ac-2a802562e92f@nvidia.com> <5745853B.1040304@nvidia.com> <57458693.3050700@nvidia.com> <20160525154618.GD13765@ulmo.ba.sec> <9411ff33-e375-8286-8690-fe7fcac1c14b@nvidia.com> <5745CE75.7010603@nvidia.com> <5745D2DD.6080300@nvidia.com> <1c6df907-ea1f-201b-a36e-8311c5b2b3b1@nvidia.com> <5745E031.7010406@nvidia.com> <5c03a025-f31d-fa18-b973-0b026ede9c5c@nvidia.com> <5748073F.1030704@samsung.com> CC: Stephen Warren , Alexandre Courbot , , From: Jon Hunter Message-ID: <57482162.20306@nvidia.com> Date: Fri, 27 May 2016 11:28:50 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <5748073F.1030704@samsung.com> X-Originating-IP: [10.21.132.103] X-ClientProxiedBy: UKMAIL101.nvidia.com (10.26.138.13) To UKMAIL102.nvidia.com (10.26.138.15) Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Krzysztof, On 27/05/16 09:37, Krzysztof Kozlowski wrote: ... > Indeed I was struggling with similar issue in bq27x00_battery. The issue > was introduced by... me :( when moving the ownership of power supply > structure from driver to the core. However IMHO my change exposed the > fundamental problem with power supply. > > Anyway a fix for this issue was: > 7f1a57fdd6cb6e7b (power_supply: Fix possible NULL pointer dereference on > early uevent) > AFAIU, this fix no longer fixes all the issues, right? > > As for the fundamental problem, the power supply core should not call > back the driver (get_property()) until the probe ends. Even if the > di->bat was initialized, some other fields of driver could not be set > yet. In general, the probe did not end so we should avoid calling driver > internal functions. For my understanding, can you elaborate why the power-supply core should not call back to the drivers ->get_property() before the probe ends? I assume that registering the power-supply should be the last thing done in the probe and so the power-supply should be configured at that point. The problems with the bq27xxx seem to stem from the periodic update of the bq27xxx status and so it is not clear to me that this is a generic problem for all power-supply devices. Cheers Jon -- nvpublic