From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755713AbcCaIf1 (ORCPT ); Thu, 31 Mar 2016 04:35:27 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:51760 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753373AbcCaIfT convert rfc822-to-8bit (ORCPT ); Thu, 31 Mar 2016 04:35:19 -0400 X-AuditID: cbfee68e-f79d96d0000012b1-22-56fce1441415 MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 Content-transfer-encoding: 8BIT Message-id: <56FCE144.1070800@samsung.com> Date: Thu, 31 Mar 2016 17:35:16 +0900 From: Chanwoo Choi User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 To: Rob Herring Cc: sre@kernel.org, dbaryshkov@gmail.com, dwmw2@infradead.org, myungjoo.ham@samsung.com, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Subject: Re: [PATCH 1/3] power: charger-manager: Replace deprecatd API of extcon References: <1459121142-3768-1-git-send-email-cw00.choi@samsung.com> <1459121142-3768-2-git-send-email-cw00.choi@samsung.com> <20160328210737.GA21044@rob-hp-laptop> In-reply-to: <20160328210737.GA21044@rob-hp-laptop> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrPIsWRmVeSWpSXmKPExsWyRsSkRNfl4Z8wg6XHZCwmPXnPbDH/yDlW i4krJzNbXN41h83ic+8RRovbjSvYLP7v2cFucXp3iQOHx85Zd9k9Nq/Q8ti0qpPNo2/LKkaP z5vkAlijuGxSUnMyy1KL9O0SuDIubV/MWLBFtuL0ul72BsYL4l2MnBwSAiYSE57sZIawxSQu 3FvP1sXIxSEksIJRovn3axaYok3bvzFBJGYxShxc8B2sg1dAUOLH5HtgRcwC6hKT5i1ihrBF JA62v4CKa0ssW/gaLC4k8IBR4saBUIheLYm3s9rZQWwWAVWJiycuMoLYbEDx/S9uAF3BwSEq ECHRfaISJCwioCjxu20aK8gNzALrGSV2LNgEVi8sECDRd+cpwtUP9iwCG8opYCyxYl0r2NUS ArfYJe49PMcIsU1A4tvkQywgGyQEZCU2HYB6X1Li4IobLBMYxWch+W0Wkt9mIfltFpLfFjCy rGIUTS1ILihOSi8y0itOzC0uzUvXS87P3cQIjNfT/5717WC8ecD6EKMAB6MSD69G2p8wIdbE suLK3EOMpkAXTWSWEk3OByaFvJJ4Q2MzIwtTE1NjI3NLMyVx3gSpn8FCAumJJanZqakFqUXx RaU5qcWHGJk4OKUaGHt9N3DJqYo0nTHpZBMRC7x4eUMRj0fPkW67RVLJmlOu7V0tfqFGWGhD WNTOHf3v1mgX3Lw5qeu8ncu6224fbB+9uqt5flUpY+LBxxJfAsUP3/x/97aL7Z3p7UbLGI3r fRI9ZDq9+/2Kz0ZXvXp/tHPbcWW2ppcvWPq9OJW0vzGwMJlyefy5q8RSnJFoqMVcVJwIAGVd RGXSAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrIIsWRmVeSWpSXmKPExsVy+t9jQV2Xh3/CDN79E7aY9OQ9s8X8I+dY LSaunMxscXnXHDaLz71HGC1uN65gs/i/Zwe7xendJQ4cHjtn3WX32LxCy2PTqk42j74tqxg9 Pm+SC2CNamC0yUhNTEktUkjNS85PycxLt1XyDo53jjc1MzDUNbS0MFdSyEvMTbVVcvEJ0HXL zAE6RUmhLDGnFCgUkFhcrKRvh2lCaIibrgVMY4Sub0gQXI+RARpIWMOY8fldE0tBh2xF+1+/ BsYl4l2MnBwSAiYSm7Z/Y4KwxSQu3FvP1sXIxSEkMItR4uCC78wgCV4BQYkfk++xdDFycDAL yEscuZQNEmYWUJeYNG8RWImQwANGiRsHQiHKtSTezmpnB7FZBFQlLp64yAhiswHF97+4wQYy RlQgQqL7RCVIWERAUeJ32zRWkLXMAusZJXYs2ARWLywQINF35ynUPSsYJR7sWQQ2lFPAWGLF ulamCYxAVyKcNwvhvFlIzlvAyLyKUSK1ILmgOCk91ygvtVyvODG3uDQvXS85P3cTIzi6n0nv YDy8y/0QowAHoxIP74XkP2FCrIllxZW5hxglOJiVRHj/XgEK8aYkVlalFuXHF5XmpBYfYjQF enAis5Rocj4w8eSVxBsam5gZWRqZG1oYGZsrifM+/r8uTEggPbEkNTs1tSC1CKaPiYNTqoFx s+2cuWn/e+9P/bH8XlpVSbPger0DC0/83OR/5rLkItuNt16lrxKJsmCrExTbcEHgYu0+/suK Wp+OVvRoTwj1eXqzautDjyeTL72vO2J+pnvvf6GX23T05qw0slz0+9FCBl8GdRdVoWzLYzX9 a88bsq5OXeS2SaWota9Q0iF+V7vtovLfLx7ZKbEUZyQaajEXFScCAF0UZCQEAwAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Rob, On 2016년 03월 29일 06:07, Rob Herring wrote: > On Mon, Mar 28, 2016 at 08:25:40AM +0900, Chanwoo Choi wrote: >> This patch removes the deprecated notifier API of extcon framework and then use >> the new extcon API[2] with the unique id[1] to indicate the each external >> connector. Alter deprecated API as following: >> - extcon_register_interest() -> extcon_register_notifier() >> - extcon_unregister_interest() -> extcon_unregister_notifier() >> >> And, extcon alters the name of USB charger connector in patch[3] as following: >> - EXTCON_CHG_USB_SDP /* Standard Downstream Port */ >> - EXTCON_CHG_USB_DCP /* Dedicated Charging Port */ >> - EXTCON_CHG_USB_CDP /* Charging Downstream Port */ >> - EXTCON_CHG_USB_ACA /* Accessory Charger Adapter */ >> >> So, the name of external charger connector are changed as following: >> - "USB" -> "SDP" >> - "TA" -> "DCP" >> >> [1] Commit 2a9de9c0f08d61 >> - ("extcon: Use the unique id for external connector instead of string) >> [2] Commit 046050f6e623e4 >> - ("extcon: Update the prototype of extcon_register_notifier() with enum extcon >> [3] Commit 11eecf910bd81d >> - ("extcon: Modify the id and name of external connector") >> >> Signed-off-by: Chanwoo Choi >> --- >> .../bindings/power_supply/charger-manager.txt | 4 +-- >> drivers/power/charger-manager.c | 31 ++++++++++++++-------- >> include/linux/power/charger-manager.h | 4 +-- >> 3 files changed, 24 insertions(+), 15 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/power_supply/charger-manager.txt b/Documentation/devicetree/bindings/power_supply/charger-manager.txt >> index ec4fe9de3137..73193e380dc2 100644 >> --- a/Documentation/devicetree/bindings/power_supply/charger-manager.txt >> +++ b/Documentation/devicetree/bindings/power_supply/charger-manager.txt >> @@ -65,13 +65,13 @@ Example : >> regulator@0 { >> cm-regulator-name = "chg-reg"; >> cable@0 { >> - cm-cable-name = "USB"; >> + cm-cable-id = 5; /* EXTCON_CHG_USB_SDP */ > > Sorry, but delete the charger-manager binding and start over. It looks > designed around the needs of Linux, not what the h/w looks like. You're I agree. The charger-manager didn't express the h/w. IMHO, charging framework may be included in the power_supply core such as fuel-gauge device. Just it is my opinion. For example, fuel-gauge device may include the connected device such as charger device (battery charging), extcon device(detect the type of charger cable) and rtc device (check the battery state periodically with sample rate) for battery charging. I agree that we should handle the charger-manager binding. But now, this patch just removes the dependency of deprecated API of extcon. So, I think that the issue of charger-manager binding should be handled in other patches. > changing the driver and having to change the DT in a non-compatible way > is the first clue. > >> cm-cable-extcon = "extcon-dev.0"; > > What is this!? The linux device name? Just the name of extcon device to detect the type of charger cable. But, extcon framekwork has the extcon_get_edev_by_phandle() to get the instance by using the phandle in Device Tree. > >> cm-cable-min = <475000>; >> cm-cable-max = <500000>; > > This is set by the USB spec... I agree. we need to modify it. > >> }; >> cable@1 { >> - cm-cable-name = "TA"; >> + cm-cable-id = 6; /* EXTCON_CHG_USB_DCP */ >> cm-cable-extcon = "extcon-dev.0"; >> cm-cable-min = <650000>; >> cm-cable-max = <675000>; > > > Best Regards, Chanwoo Choi