Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

USB: Rework musb suspend()/resume_early()

This patch reworks platform driver power management code
for musb from legacy callbacks to dev_pm_ops.

The callbacks are converted for CONFIG_SUSPEND like this:
suspend() -> suspend()
resume_early() -> resume_noirq()

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>

authored by

Magnus Damm and committed by
Rafael J. Wysocki
48fea965 6a6c6189

+12 -6
+12 -6
drivers/usb/musb/musb_core.c
··· 2168 2168 2169 2169 #ifdef CONFIG_PM 2170 2170 2171 - static int musb_suspend(struct platform_device *pdev, pm_message_t message) 2171 + static int musb_suspend(struct device *dev) 2172 2172 { 2173 + struct platform_device *pdev = to_platform_device(dev); 2173 2174 unsigned long flags; 2174 2175 struct musb *musb = dev_to_musb(&pdev->dev); 2175 2176 ··· 2197 2196 return 0; 2198 2197 } 2199 2198 2200 - static int musb_resume_early(struct platform_device *pdev) 2199 + static int musb_resume_noirq(struct device *dev) 2201 2200 { 2201 + struct platform_device *pdev = to_platform_device(dev); 2202 2202 struct musb *musb = dev_to_musb(&pdev->dev); 2203 2203 2204 2204 if (!musb->clock) ··· 2217 2215 return 0; 2218 2216 } 2219 2217 2218 + static struct dev_pm_ops musb_dev_pm_ops = { 2219 + .suspend = musb_suspend, 2220 + .resume_noirq = musb_resume_noirq, 2221 + }; 2222 + 2223 + #define MUSB_DEV_PM_OPS (&musb_dev_pm_ops) 2220 2224 #else 2221 - #define musb_suspend NULL 2222 - #define musb_resume_early NULL 2225 + #define MUSB_DEV_PM_OPS NULL 2223 2226 #endif 2224 2227 2225 2228 static struct platform_driver musb_driver = { ··· 2232 2225 .name = (char *)musb_driver_name, 2233 2226 .bus = &platform_bus_type, 2234 2227 .owner = THIS_MODULE, 2228 + .pm = MUSB_DEV_PM_OPS, 2235 2229 }, 2236 2230 .remove = __devexit_p(musb_remove), 2237 2231 .shutdown = musb_shutdown, 2238 - .suspend = musb_suspend, 2239 - .resume_early = musb_resume_early, 2240 2232 }; 2241 2233 2242 2234 /*-------------------------------------------------------------------------*/