All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: Haavard Skinnemoen <hskinnemoen@atmel.com>
Cc: kernel@avr32linux.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 07/10] macb: Basic suspend/resume support
Date: Thu, 13 Mar 2008 12:18:56 -0800	[thread overview]
Message-ID: <200803131318.56769.david-b@pacbell.net> (raw)
In-Reply-To: <1205419185-26395-8-git-send-email-hskinnemoen@atmel.com>

On Thursday 13 March 2008, Haavard Skinnemoen wrote:
> ---
>  drivers/net/macb.c |   37 +++++++++++++++++++++++++++++++++++++
>  1 files changed, 37 insertions(+), 0 deletions(-)

Shouldn't this look more like the suspend/resume support
in drivers/net/arm/at91_ether.c ?  I don't see calls to
netif_stop_queue()/netif_start_queue(), among other things.

The fact that this driver leaves the peripheral clocked
when it's not open is a minor PM goof; ditto not using
the PHY irq to track connect/disconnect.  But that's just
general PM stuff, not specific to suspend/resume support.

- Dave


> diff --git a/drivers/net/macb.c b/drivers/net/macb.c
> index 1d210ed..94bf2ba 100644
> --- a/drivers/net/macb.c
> +++ b/drivers/net/macb.c
> @@ -1275,8 +1275,45 @@ static int __exit macb_remove(struct platform_device *pdev)
>  	return 0;
>  }
>  
> +#ifdef CONFIG_PM
> +static int macb_suspend(struct platform_device *pdev, pm_message_t state)
> +{
> +	struct net_device *netdev = platform_get_drvdata(pdev);
> +	struct macb *bp = netdev_priv(netdev);
> +
> +	netif_device_detach(netdev);
> +
> +#ifndef CONFIG_ARCH_AT91
> +	clk_disable(bp->hclk);
> +#endif
> +	clk_disable(bp->pclk);
> +
> +	return 0;
> +}
> +
> +static int macb_resume(struct platform_device *pdev)
> +{
> +	struct net_device *netdev = platform_get_drvdata(pdev);
> +	struct macb *bp = netdev_priv(netdev);
> +
> +	clk_enable(bp->pclk);
> +#ifndef CONFIG_ARCH_AT91
> +	clk_enable(bp->hclk);
> +#endif
> +
> +	netif_device_attach(netdev);
> +
> +	return 0;
> +}
> +#else
> +#define macb_suspend	NULL
> +#define macb_resume	NULL
> +#endif
> +
>  static struct platform_driver macb_driver = {
>  	.remove		= __exit_p(macb_remove),
> +	.suspend	= macb_suspend,
> +	.resume		= macb_resume,
>  	.driver		= {
>  		.name		= "macb",
>  	},
> -- 
> 1.5.4.3
> 



  parent reply	other threads:[~2008-03-13 20:19 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-13 14:39 [PATCH 00/10] avr32: Power Management support Haavard Skinnemoen
2008-03-13 14:39 ` [PATCH 01/10] mtd: maps/physmap: fix oops in suspend/resume/shutdown ops Haavard Skinnemoen
2008-03-13 14:39   ` [PATCH 02/10] atmel_serial: Fix build on avr32 with CONFIG_PM enabled Haavard Skinnemoen
2008-03-13 14:39     ` [PATCH 03/10] avr32: Move setup_platform() into chip-specific file Haavard Skinnemoen
2008-03-13 14:39       ` [PATCH 04/10] avr32: Rename at32ap.c -> pdc.c Haavard Skinnemoen
2008-03-13 14:39         ` [PATCH 05/10] avr32: Enable SDRAMC clock at startup Haavard Skinnemoen
2008-03-13 14:39           ` [PATCH 06/10] avr32: Add simple SRAM allocator Haavard Skinnemoen
2008-03-13 14:39             ` [PATCH 07/10] macb: Basic suspend/resume support Haavard Skinnemoen
2008-03-13 14:39               ` [PATCH 08/10] avr32: Define TIF_FREEZE Haavard Skinnemoen
2008-03-13 14:39                 ` [PATCH 09/10] avr32: Add system device for the internal interrupt controller (intc) Haavard Skinnemoen
2008-03-13 14:39                   ` [PATCH 10/10] avr32: Power Management support ("standby" and "mem" modes) Haavard Skinnemoen
2008-03-13 20:18               ` David Brownell [this message]
2008-03-13 20:28                 ` [PATCH 07/10] macb: Basic suspend/resume support Haavard Skinnemoen
2008-03-13 20:37     ` [PATCH 02/10] atmel_serial: Fix build on avr32 with CONFIG_PM enabled David Brownell
2008-03-13 20:54       ` Haavard Skinnemoen
2008-03-13 19:26   ` [PATCH 01/10] mtd: maps/physmap: fix oops in suspend/resume/shutdown ops David Brownell

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=200803131318.56769.david-b@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=hskinnemoen@atmel.com \
    --cc=kernel@avr32linux.org \
    --cc=linux-kernel@vger.kernel.org \
    /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.