From patchwork Thu Dec 3 14:25:48 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oliver Neukum X-Patchwork-Id: 40169 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id 254A9B7B60 for ; Fri, 4 Dec 2009 01:25:55 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755913AbZLCOZl (ORCPT ); Thu, 3 Dec 2009 09:25:41 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755266AbZLCOZk (ORCPT ); Thu, 3 Dec 2009 09:25:40 -0500 Received: from smtp-out003.kontent.com ([81.88.40.217]:52982 "EHLO smtp-out003.kontent.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751053AbZLCOZk (ORCPT ); Thu, 3 Dec 2009 09:25:40 -0500 Received: from vanamonde.localnet (p549A1F75.dip0.t-ipconnect.de [84.154.31.117]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: neukum_org@smtp-out003.kontent.com) by smtp-out003.kontent.com (Postfix) with ESMTPSA id 06D184000279; Thu, 3 Dec 2009 15:25:46 +0100 (CET) From: Oliver Neukum To: Omar Laazimani , netdev@vger.kernel.org, linux-usb@vger.kernel.org Subject: [patch]USB autosuspend for cdc-eem Date: Thu, 3 Dec 2009 15:25:48 +0100 User-Agent: KMail/1.12.2 (Linux/2.6.32-rc6-0.1-default; KDE/4.3.1; x86_64; ; ) MIME-Version: 1.0 Message-Id: <200912031525.49001.oliver@neukum.org> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Hi, this uses the generic framework of usbnet to implement USB autosuspend for cdc-eem. Comments? Regards Oliver Signed-off-by: Oliver Neukum --- commit 77893e39353314a8982c80a45ef117687789fb4c Author: Oliver Neukum Date: Thu Dec 3 14:11:17 2009 +0100 usb:cdc-eem: implement autosuspend implements aggressive autosuspend by using the generic methods of usbnet Signed-off-by: Oliver Neukum -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/net/usb/cdc_eem.c b/drivers/net/usb/cdc_eem.c index 2330065..d6c16a9 100644 --- a/drivers/net/usb/cdc_eem.c +++ b/drivers/net/usb/cdc_eem.c @@ -335,10 +335,17 @@ next: return 1; } +static int eem_manage_power(struct usbnet *dev, int on) +{ + dev->intf->needs_remote_wakeup = on; + return 0; +} + static const struct driver_info eem_info = { .description = "CDC EEM Device", .flags = FLAG_ETHER, .bind = eem_bind, + .manage_power = eem_manage_power, .rx_fixup = eem_rx_fixup, .tx_fixup = eem_tx_fixup, }; @@ -364,6 +371,7 @@ static struct usb_driver eem_driver = { .disconnect = usbnet_disconnect, .suspend = usbnet_suspend, .resume = usbnet_resume, + .supports_autosuspend = 1, };