On 3/15/07, Domen Puncer <[EMAIL PROTECTED]> wrote:
> Trivial suspend and resume OF OHCI.
> On MPC52xx turn off and on power to ports.
>
>
> Signed-off-by: Domen Puncer <[EMAIL PROTECTED]>

Nak; see below

>
> Index: grant.git/drivers/usb/host/ohci-ppc-of.c
> ===================================================================
> --- grant.git.orig/drivers/usb/host/ohci-ppc-of.c
> +++ grant.git/drivers/usb/host/ohci-ppc-of.c
> @@ -214,6 +214,32 @@ MODULE_DEVICE_TABLE(of, ohci_hcd_ppc_of_
>  #endif
>
>
> +#ifdef CONFIG_PM
> +static u32 descr_a;
> +static int ohci_hcd_ppc_soc_drv_suspend(struct of_device *op,
> +               pm_message_t state)
> +{
> +       struct usb_hcd *hcd = dev_get_drvdata(&op->dev);
> +#ifdef CONFIG_PPC_MPC52xx
> +       struct ohci_hcd *ohci = hcd_to_ohci(hcd);
> +
> +       descr_a = in_be32(&ohci->regs->roothub.a);
> +       out_be32(&ohci->regs->roothub.a, (descr_a & ~0x200) | 0x100);
> +#endif
> +       return 0;
> +}

#ifdef blocks are a bad idea.  It is now possible to boot one kernel
image on multiple platforms.  Chip model should be determined ahead of
time from the device tree and choose the code path accordingly at
runtime.



-- 
Grant Likely, B.Sc. P.Eng.
Secret Lab Technologies Ltd.
[EMAIL PROTECTED]
(403) 399-0195
_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Reply via email to