diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/include/asm/device.h | 3 | ||||
-rw-r--r-- | arch/arm/plat-omap/debug-leds.c | 11 | ||||
-rw-r--r-- | arch/arm/plat-omap/gpio.c | 14 |
3 files changed, 20 insertions, 8 deletions
diff --git a/arch/arm/include/asm/device.h b/arch/arm/include/asm/device.h index c61642b40603..9f390ce335cb 100644 --- a/arch/arm/include/asm/device.h +++ b/arch/arm/include/asm/device.h | |||
@@ -12,4 +12,7 @@ struct dev_archdata { | |||
12 | #endif | 12 | #endif |
13 | }; | 13 | }; |
14 | 14 | ||
15 | struct pdev_archdata { | ||
16 | }; | ||
17 | |||
15 | #endif | 18 | #endif |
diff --git a/arch/arm/plat-omap/debug-leds.c b/arch/arm/plat-omap/debug-leds.c index be4eefda4767..9395898dd49a 100644 --- a/arch/arm/plat-omap/debug-leds.c +++ b/arch/arm/plat-omap/debug-leds.c | |||
@@ -281,24 +281,27 @@ static int /* __init */ fpga_probe(struct platform_device *pdev) | |||
281 | return 0; | 281 | return 0; |
282 | } | 282 | } |
283 | 283 | ||
284 | static int fpga_suspend_late(struct platform_device *pdev, pm_message_t mesg) | 284 | static int fpga_suspend_noirq(struct device *dev) |
285 | { | 285 | { |
286 | __raw_writew(~0, &fpga->leds); | 286 | __raw_writew(~0, &fpga->leds); |
287 | return 0; | 287 | return 0; |
288 | } | 288 | } |
289 | 289 | ||
290 | static int fpga_resume_early(struct platform_device *pdev) | 290 | static int fpga_resume_noirq(struct device *dev) |
291 | { | 291 | { |
292 | __raw_writew(~hw_led_state, &fpga->leds); | 292 | __raw_writew(~hw_led_state, &fpga->leds); |
293 | return 0; | 293 | return 0; |
294 | } | 294 | } |
295 | 295 | ||
296 | static struct dev_pm_ops fpga_dev_pm_ops = { | ||
297 | .suspend_noirq = fpga_suspend_noirq, | ||
298 | .resume_noirq = fpga_resume_noirq, | ||
299 | }; | ||
296 | 300 | ||
297 | static struct platform_driver led_driver = { | 301 | static struct platform_driver led_driver = { |
298 | .driver.name = "omap_dbg_led", | 302 | .driver.name = "omap_dbg_led", |
303 | .driver.pm = &fpga_dev_pm_ops, | ||
299 | .probe = fpga_probe, | 304 | .probe = fpga_probe, |
300 | .suspend_late = fpga_suspend_late, | ||
301 | .resume_early = fpga_resume_early, | ||
302 | }; | 305 | }; |
303 | 306 | ||
304 | static int __init fpga_init(void) | 307 | static int __init fpga_init(void) |
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index 9298bc0ab171..50b19a3027bc 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -1315,8 +1315,9 @@ static struct irq_chip mpuio_irq_chip = { | |||
1315 | 1315 | ||
1316 | #include <linux/platform_device.h> | 1316 | #include <linux/platform_device.h> |
1317 | 1317 | ||
1318 | static int omap_mpuio_suspend_late(struct platform_device *pdev, pm_message_t mesg) | 1318 | static int omap_mpuio_suspend_noirq(struct device *dev) |
1319 | { | 1319 | { |
1320 | struct platform_device *pdev = to_platform_device(dev); | ||
1320 | struct gpio_bank *bank = platform_get_drvdata(pdev); | 1321 | struct gpio_bank *bank = platform_get_drvdata(pdev); |
1321 | void __iomem *mask_reg = bank->base + OMAP_MPUIO_GPIO_MASKIT; | 1322 | void __iomem *mask_reg = bank->base + OMAP_MPUIO_GPIO_MASKIT; |
1322 | unsigned long flags; | 1323 | unsigned long flags; |
@@ -1329,8 +1330,9 @@ static int omap_mpuio_suspend_late(struct platform_device *pdev, pm_message_t me | |||
1329 | return 0; | 1330 | return 0; |
1330 | } | 1331 | } |
1331 | 1332 | ||
1332 | static int omap_mpuio_resume_early(struct platform_device *pdev) | 1333 | static int omap_mpuio_resume_noirq(struct device *dev) |
1333 | { | 1334 | { |
1335 | struct platform_device *pdev = to_platform_device(dev); | ||
1334 | struct gpio_bank *bank = platform_get_drvdata(pdev); | 1336 | struct gpio_bank *bank = platform_get_drvdata(pdev); |
1335 | void __iomem *mask_reg = bank->base + OMAP_MPUIO_GPIO_MASKIT; | 1337 | void __iomem *mask_reg = bank->base + OMAP_MPUIO_GPIO_MASKIT; |
1336 | unsigned long flags; | 1338 | unsigned long flags; |
@@ -1342,14 +1344,18 @@ static int omap_mpuio_resume_early(struct platform_device *pdev) | |||
1342 | return 0; | 1344 | return 0; |
1343 | } | 1345 | } |
1344 | 1346 | ||
1347 | static struct dev_pm_ops omap_mpuio_dev_pm_ops = { | ||
1348 | .suspend_noirq = omap_mpuio_suspend_noirq, | ||
1349 | .resume_noirq = omap_mpuio_resume_noirq, | ||
1350 | }; | ||
1351 | |||
1345 | /* use platform_driver for this, now that there's no longer any | 1352 | /* use platform_driver for this, now that there's no longer any |
1346 | * point to sys_device (other than not disturbing old code). | 1353 | * point to sys_device (other than not disturbing old code). |
1347 | */ | 1354 | */ |
1348 | static struct platform_driver omap_mpuio_driver = { | 1355 | static struct platform_driver omap_mpuio_driver = { |
1349 | .suspend_late = omap_mpuio_suspend_late, | ||
1350 | .resume_early = omap_mpuio_resume_early, | ||
1351 | .driver = { | 1356 | .driver = { |
1352 | .name = "mpuio", | 1357 | .name = "mpuio", |
1358 | .pm = &omap_mpuio_dev_pm_ops, | ||
1353 | }, | 1359 | }, |
1354 | }; | 1360 | }; |
1355 | 1361 | ||