From: Felipe Balbi <balbi@kernel.org>
To: Baolin Wang <baolin.wang@linaro.org>
Cc: Greg KH <gregkh@linuxfoundation.org>,
Sebastian Reichel <sre@kernel.org>,
Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>,
David Woodhouse <dwmw2@infradead.org>,
Peter Chen <peter.chen@freescale.com>,
Alan Stern <stern@rowland.harvard.edu>,
r.baldyga@samsung.com,
Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
Lee Jones <lee.jones@linaro.org>, Mark Brown <broonie@kernel.org>,
Charles Keepax <ckeepax@opensource.wolfsonmicro.com>,
patches@opensource.wolfsonmicro.com,
Linux PM list <linux-pm@vger.kernel.org>,
USB <linux-usb@vger.kernel.org>,
device-mainlining@lists.linuxfoundation.org,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v7 1/4] gadget: Introduce the usb charger framework
Date: Thu, 31 Mar 2016 13:06:24 +0300 [thread overview]
Message-ID: <8737r7gdwf.fsf@intel.com> (raw)
In-Reply-To: <CAMz4ku+eBP1MU4kM4pP6k+SRbUXGS4m08GDdsGp7J-5a0DdPow@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2693 bytes --]
Baolin Wang <baolin.wang@linaro.org> writes:
> [ text/plain ]
> On 31 March 2016 at 16:18, Felipe Balbi <balbi@kernel.org> wrote:
>>
>> Hi,
>>
>> Baolin Wang <baolin.wang@linaro.org> writes:
>>>>>>> +#define DEFAULT_SDP_CUR_LIMIT (500 - DEFAULT_CUR_PROTECT)
>>>>>>
>>>>>> According to the spec we should always be talking about unit loads (1
>>>>>> unit load is 100mA for HS/FS/LS and 150mA for SS). Also, this will not
>>>>>> work for SS capable ports and SS gadgets (we have quite a few of them,
>>>>>> actually). You're missing the opportunity of charging at 900mA.
>>>>>
>>>>> I follow the DCP/SDP/CDP/ACA type's default current limitation and
>>>>> user can set them what they want.
>>>>
>>>> no, the user CANNOT set it to what they want. If you get enumerated
>>>> @100mA and the user just decides to set it to 2000mA, s/he could even
>>>> melt the USB connector. The kernel _must_ prevent such cases.
>>>>
>>>> In any case, DEFAULT_SDP_CUR_LIMIT shouldn't be a constant, it should be
>>>> variable because if you enumerate in SS, you _can_ get up to 900mA.
>>>
>>> Make sense. But these are just default values. They can be changed
>>> safely by power driver with 'usb_charger_set_cur_limit_by_type()'
>>> function to set 900mA.
>>
>> oh okay. Still, the default value should be a function of gadget->speed,
>
> Sorry, I did not get your suggestion, could you give me an example? Thanks.
int default_current_limit = 500;
if (gadget->speed >= USB_SPEED_SUPER)
default_current_limit = 900;
>>>>>>> +
>>>>>>> +/* USB charger state */
>>>>>>> +enum usb_charger_state {
>>>>>>> + USB_CHARGER_DEFAULT,
>>>>>>> + USB_CHARGER_PRESENT,
>>>>>>> + USB_CHARGER_REMOVE,
>>>>>>> +};
>>>>>>
>>>>>> userland really doesn't need these two ?
>>>>>
>>>>> We've reported to userspace by kobject_uevent in
>>>>> 'usb_charger_notify_others()' function.
>>>>
>>>> I mean as a type ;-) So userspace doesn't have to redefine these for
>>>> their applications.
>>>
>>> Make sense. I can introduce some sysfs files for userspace. Thanks for
>>> your comments.
>>
>> okay, my reply was a bit cryptic, but what I mean here is that enum
>> usb_charger_state could be moved your include/uapi header. My question
>> is, then, does userland need to have knowledge of enum
>> usb_charger_state ?
>
> I am not sure if userland need the enum usb_charger_state. But I
> remember you want to report the charger state to userland in previous
> email.
right, which means this enumeration definition could be placed in the
UAPI header. Unless, of course, we're reporting strings, rather than
integers, in the sysfs file.
--
balbi
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]
next prev parent reply other threads:[~2016-03-31 10:06 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-16 11:46 [PATCH v7 0/4] Introduce usb charger framework to deal with the usb gadget power negotation Baolin Wang
2016-03-16 11:46 ` [PATCH v7 1/4] gadget: Introduce the usb charger framework Baolin Wang
2016-03-16 12:09 ` Oliver Neukum
2016-03-17 1:58 ` Baolin Wang
2016-03-30 10:09 ` Felipe Balbi
2016-03-30 10:09 ` Felipe Balbi
[not found] ` <87h9foqnur.fsf-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-03-30 17:44 ` Mark Brown
2016-03-30 17:44 ` Mark Brown
2016-03-31 6:21 ` Felipe Balbi
2016-03-31 6:28 ` Baolin Wang
2016-03-31 6:42 ` Felipe Balbi
2016-03-22 11:30 ` Pavel Machek
2016-04-18 8:12 ` Felipe Balbi
2016-04-18 10:23 ` Pavel Machek
2016-04-18 10:30 ` Felipe Balbi
[not found] ` <877ffvgqe9.fsf-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-04-18 10:39 ` Pavel Machek
2016-04-18 10:39 ` Pavel Machek
2016-04-18 10:49 ` Felipe Balbi
2016-04-18 10:55 ` Felipe Balbi
2016-04-18 11:13 ` Pavel Machek
2016-04-18 11:42 ` Felipe Balbi
2016-04-18 12:58 ` Pavel Machek
2016-04-18 13:34 ` Felipe Balbi
2016-04-18 10:59 ` David Laight
2016-04-18 11:23 ` Pavel Machek
2016-03-31 8:03 ` Baolin Wang
2016-03-22 11:29 ` Pavel Machek
2016-04-18 8:18 ` Felipe Balbi
2016-04-18 10:33 ` Pavel Machek
2016-04-18 10:45 ` Felipe Balbi
2016-04-18 11:03 ` Pavel Machek
2016-04-18 11:51 ` Felipe Balbi
2016-04-18 11:51 ` Felipe Balbi
2016-04-18 13:16 ` Pavel Machek
2016-04-18 13:30 ` Felipe Balbi
[not found] ` <CAMz4kuJwfWPEndmVMoDBQQFZ2X8BAzDgej_9qMKQq0xU3tC=5w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-03-31 8:18 ` Felipe Balbi
2016-03-31 8:18 ` Felipe Balbi
2016-03-31 8:35 ` Baolin Wang
2016-03-31 10:06 ` Felipe Balbi [this message]
2016-03-31 11:12 ` Baolin Wang
2016-03-31 17:06 ` Mark Brown
2016-04-01 5:43 ` Felipe Balbi
2016-04-01 14:16 ` Mark Brown
2016-04-04 10:47 ` Felipe Balbi
[not found] ` <877fgd7iqx.fsf-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-04-04 16:04 ` Mark Brown
2016-04-04 16:04 ` Mark Brown
2016-04-04 18:44 ` Greg KH
2016-03-16 11:46 ` [PATCH v7 2/4] gadget: Support for " Baolin Wang
2016-03-16 12:50 ` kbuild test robot
2016-03-16 12:50 ` kbuild test robot
2016-03-16 20:19 ` kbuild test robot
2016-03-16 20:19 ` kbuild test robot
2016-03-16 11:46 ` [PATCH v7 3/4] gadget: Integrate with the usb gadget supporting for usb charger Baolin Wang
2016-03-16 11:46 ` [PATCH v7 4/4] power: wm831x_power: Support USB charger current limit management Baolin Wang
2016-03-16 11:48 ` [PATCH v7 0/4] Introduce usb charger framework to deal with the usb gadget power negotation Felipe Balbi
2016-03-16 11:48 ` Felipe Balbi
2016-03-16 11:56 ` Baolin Wang
-- strict thread matches above, loose matches on Subject: below --
2016-01-04 3:04 Baolin Wang
2016-01-04 3:04 ` [PATCH v7 1/4] gadget: Introduce the usb charger framework Baolin Wang
2015-12-08 8:36 [PATCH v7 0/4] Introduce usb charger framework to deal with the usb gadget power negotation Baolin Wang
2015-12-08 8:36 ` [PATCH v7 1/4] gadget: Introduce the usb charger framework Baolin Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8737r7gdwf.fsf@intel.com \
--to=balbi@kernel.org \
--cc=baolin.wang@linaro.org \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.wolfsonmicro.com \
--cc=dbaryshkov@gmail.com \
--cc=device-mainlining@lists.linuxfoundation.org \
--cc=dwmw2@infradead.org \
--cc=gregkh@linuxfoundation.org \
--cc=lee.jones@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=patches@opensource.wolfsonmicro.com \
--cc=peter.chen@freescale.com \
--cc=r.baldyga@samsung.com \
--cc=sre@kernel.org \
--cc=stern@rowland.harvard.edu \
--cc=yoshihiro.shimoda.uh@renesas.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.