imx.c (30596ec32e2cd141d73ee8701386887def9e98c0) | imx.c (a406c4b8097473a1294ab056e65df801382b8f28) |
---|---|
1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * Driver for Motorola/Freescale IMX serial ports 4 * 5 * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o. 6 * 7 * Author: Sascha Hauer <sascha@saschahauer.de> 8 * Copyright (C) 2004 Pengutronix --- 2394 unchanged lines hidden (view full) --- 2403 else 2404 ucr1 &= ~UCR1_RTSDEN; 2405 imx_uart_writel(sport, ucr1, UCR1); 2406 } 2407} 2408 2409static int imx_uart_suspend_noirq(struct device *dev) 2410{ | 1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * Driver for Motorola/Freescale IMX serial ports 4 * 5 * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o. 6 * 7 * Author: Sascha Hauer <sascha@saschahauer.de> 8 * Copyright (C) 2004 Pengutronix --- 2394 unchanged lines hidden (view full) --- 2403 else 2404 ucr1 &= ~UCR1_RTSDEN; 2405 imx_uart_writel(sport, ucr1, UCR1); 2406 } 2407} 2408 2409static int imx_uart_suspend_noirq(struct device *dev) 2410{ |
2411 struct platform_device *pdev = to_platform_device(dev); 2412 struct imx_port *sport = platform_get_drvdata(pdev); | 2411 struct imx_port *sport = dev_get_drvdata(dev); |
2413 2414 imx_uart_save_context(sport); 2415 2416 clk_disable(sport->clk_ipg); 2417 2418 return 0; 2419} 2420 2421static int imx_uart_resume_noirq(struct device *dev) 2422{ | 2412 2413 imx_uart_save_context(sport); 2414 2415 clk_disable(sport->clk_ipg); 2416 2417 return 0; 2418} 2419 2420static int imx_uart_resume_noirq(struct device *dev) 2421{ |
2423 struct platform_device *pdev = to_platform_device(dev); 2424 struct imx_port *sport = platform_get_drvdata(pdev); | 2422 struct imx_port *sport = dev_get_drvdata(dev); |
2425 int ret; 2426 2427 ret = clk_enable(sport->clk_ipg); 2428 if (ret) 2429 return ret; 2430 2431 imx_uart_restore_context(sport); 2432 2433 return 0; 2434} 2435 2436static int imx_uart_suspend(struct device *dev) 2437{ | 2423 int ret; 2424 2425 ret = clk_enable(sport->clk_ipg); 2426 if (ret) 2427 return ret; 2428 2429 imx_uart_restore_context(sport); 2430 2431 return 0; 2432} 2433 2434static int imx_uart_suspend(struct device *dev) 2435{ |
2438 struct platform_device *pdev = to_platform_device(dev); 2439 struct imx_port *sport = platform_get_drvdata(pdev); | 2436 struct imx_port *sport = dev_get_drvdata(dev); |
2440 int ret; 2441 2442 uart_suspend_port(&imx_uart_uart_driver, &sport->port); 2443 disable_irq(sport->port.irq); 2444 2445 ret = clk_prepare_enable(sport->clk_ipg); 2446 if (ret) 2447 return ret; 2448 2449 /* enable wakeup from i.MX UART */ 2450 imx_uart_enable_wakeup(sport, true); 2451 2452 return 0; 2453} 2454 2455static int imx_uart_resume(struct device *dev) 2456{ | 2437 int ret; 2438 2439 uart_suspend_port(&imx_uart_uart_driver, &sport->port); 2440 disable_irq(sport->port.irq); 2441 2442 ret = clk_prepare_enable(sport->clk_ipg); 2443 if (ret) 2444 return ret; 2445 2446 /* enable wakeup from i.MX UART */ 2447 imx_uart_enable_wakeup(sport, true); 2448 2449 return 0; 2450} 2451 2452static int imx_uart_resume(struct device *dev) 2453{ |
2457 struct platform_device *pdev = to_platform_device(dev); 2458 struct imx_port *sport = platform_get_drvdata(pdev); | 2454 struct imx_port *sport = dev_get_drvdata(dev); |
2459 2460 /* disable wakeup from i.MX UART */ 2461 imx_uart_enable_wakeup(sport, false); 2462 2463 uart_resume_port(&imx_uart_uart_driver, &sport->port); 2464 enable_irq(sport->port.irq); 2465 2466 clk_disable_unprepare(sport->clk_ipg); 2467 2468 return 0; 2469} 2470 2471static int imx_uart_freeze(struct device *dev) 2472{ | 2455 2456 /* disable wakeup from i.MX UART */ 2457 imx_uart_enable_wakeup(sport, false); 2458 2459 uart_resume_port(&imx_uart_uart_driver, &sport->port); 2460 enable_irq(sport->port.irq); 2461 2462 clk_disable_unprepare(sport->clk_ipg); 2463 2464 return 0; 2465} 2466 2467static int imx_uart_freeze(struct device *dev) 2468{ |
2473 struct platform_device *pdev = to_platform_device(dev); 2474 struct imx_port *sport = platform_get_drvdata(pdev); | 2469 struct imx_port *sport = dev_get_drvdata(dev); |
2475 2476 uart_suspend_port(&imx_uart_uart_driver, &sport->port); 2477 2478 return clk_prepare_enable(sport->clk_ipg); 2479} 2480 2481static int imx_uart_thaw(struct device *dev) 2482{ | 2470 2471 uart_suspend_port(&imx_uart_uart_driver, &sport->port); 2472 2473 return clk_prepare_enable(sport->clk_ipg); 2474} 2475 2476static int imx_uart_thaw(struct device *dev) 2477{ |
2483 struct platform_device *pdev = to_platform_device(dev); 2484 struct imx_port *sport = platform_get_drvdata(pdev); | 2478 struct imx_port *sport = dev_get_drvdata(dev); |
2485 2486 uart_resume_port(&imx_uart_uart_driver, &sport->port); 2487 2488 clk_disable_unprepare(sport->clk_ipg); 2489 2490 return 0; 2491} 2492 --- 51 unchanged lines hidden --- | 2479 2480 uart_resume_port(&imx_uart_uart_driver, &sport->port); 2481 2482 clk_disable_unprepare(sport->clk_ipg); 2483 2484 return 0; 2485} 2486 --- 51 unchanged lines hidden --- |