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

Input: at32psif - convert to dev_pm_ops

Convert driver to use dev_pm_ops instead of legacy PM infrastructure.
Also make 'open' a bool since it is really a boolean.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>

+11 -11
+11 -11
drivers/input/serio/at32psif.c
··· 98 98 struct serio *io; 99 99 void __iomem *regs; 100 100 unsigned int irq; 101 - unsigned int open; 102 101 /* Prevent concurrent writes to PSIF THR. */ 103 102 spinlock_t lock; 103 + bool open; 104 104 }; 105 105 106 106 static irqreturn_t psif_interrupt(int irq, void *_ptr) ··· 164 164 psif_writel(psif, CR, PSIF_BIT(CR_TXEN) | PSIF_BIT(CR_RXEN)); 165 165 psif_writel(psif, IER, PSIF_BIT(RXRDY)); 166 166 167 - psif->open = 1; 167 + psif->open = true; 168 168 out: 169 169 return retval; 170 170 } ··· 173 173 { 174 174 struct psif *psif = io->port_data; 175 175 176 - psif->open = 0; 176 + psif->open = false; 177 177 178 178 psif_writel(psif, IDR, ~0UL); 179 179 psif_writel(psif, CR, PSIF_BIT(CR_TXDIS) | PSIF_BIT(CR_RXDIS)); ··· 319 319 return 0; 320 320 } 321 321 322 - #ifdef CONFIG_PM 323 - static int psif_suspend(struct platform_device *pdev, pm_message_t state) 322 + #ifdef CONFIG_PM_SLEEP 323 + static int psif_suspend(struct device *dev) 324 324 { 325 + struct platform_device *pdev = to_platform_device(dev); 325 326 struct psif *psif = platform_get_drvdata(pdev); 326 327 327 328 if (psif->open) { ··· 333 332 return 0; 334 333 } 335 334 336 - static int psif_resume(struct platform_device *pdev) 335 + static int psif_resume(struct device *dev) 337 336 { 337 + struct platform_device *pdev = to_platform_device(dev); 338 338 struct psif *psif = platform_get_drvdata(pdev); 339 339 340 340 if (psif->open) { ··· 346 344 347 345 return 0; 348 346 } 349 - #else 350 - #define psif_suspend NULL 351 - #define psif_resume NULL 352 347 #endif 348 + 349 + static SIMPLE_DEV_PM_OPS(psif_pm_ops, psif_suspend, psif_resume); 353 350 354 351 static struct platform_driver psif_driver = { 355 352 .remove = __exit_p(psif_remove), 356 353 .driver = { 357 354 .name = "atmel_psif", 358 355 .owner = THIS_MODULE, 356 + .pm = &psif_pm_ops, 359 357 }, 360 - .suspend = psif_suspend, 361 - .resume = psif_resume, 362 358 }; 363 359 module_platform_driver(psif_driver); 364 360