lkml.org 
[lkml]   [2014]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v5 1/3] mfd: Add realtek USB card reader driver

On 03/28/2014 04:31 PM, Oliver Neukum wrote:
> On Fri, 2014-03-28 at 11:33 +0800, Roger wrote:
>> On 03/26/2014 10:36 PM, Oliver Neukum wrote:
>>> On Tue, 2014-03-25 at 18:44 +0800, rogerable@realtek.com wrote:
>>>> From: Roger Tseng <rogerable@realtek.com>
>
>>>> + if (ret)
>>>> + goto out_init_fail;
>>>> +
>>>> + /* initialize USB SG transfer timer */
>>>> + init_timer(&ucr->sg_timer);
>>>> + setup_timer(&ucr->sg_timer, rtsx_usb_sg_timed_out, (unsigned long) ucr);
>>>> +#ifdef CONFIG_PM
>>>> + intf->needs_remote_wakeup = 1;
>>>
>>> Why?
>> Our reader supports remote wake-up from card slot event(insertion,
>> removal). It should be enabled to let the driver be able to detect the
>> newly inserted card.
>
> Interesting. This capability has been lacking for a long time.
> That is cool hardware. Are you sure the upper layers implement
> the event infrastructure so that devices are not polled?
>
Polling is still necessary because USB essentially doesn't support
interrupt.

However, if remote wake-up is not enabled or supported, the device will
have to be resumed every time when polling and then suspended right away
if there isn't a new card. This should consume more power than the
designed behavior: suspending device while card removed, taking failed
polls as no-card, and card being successfully polled after
insertion-triggered remote wake-up.

>> The LED is not in a permanent cut-off state after here. It is called to
>> guarantee the LED is off during suspend to save more power. It could be
>> lit up in the card host drivers(e.g. rtsx_usb_sdmmc.c) anytime whenever
>> necessary.
>>
>> This has been asked may times. I'm considering putting some comment in
>> next revision.
>
> Good idea.
>
> Regards
> Oliver

Best regards,
Roger Tseng


\
 
 \ /
  Last update: 2014-03-28 10:41    [W:0.057 / U:2.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site