|
@@ -756,9 +756,10 @@ static int pl010_remove(struct amba_device *dev)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-static int pl010_suspend(struct amba_device *dev, pm_message_t state)
|
|
|
|
|
|
+#ifdef CONFIG_PM_SLEEP
|
|
|
|
+static int pl010_suspend(struct device *dev)
|
|
{
|
|
{
|
|
- struct uart_amba_port *uap = amba_get_drvdata(dev);
|
|
|
|
|
|
+ struct uart_amba_port *uap = dev_get_drvdata(dev);
|
|
|
|
|
|
if (uap)
|
|
if (uap)
|
|
uart_suspend_port(&amba_reg, &uap->port);
|
|
uart_suspend_port(&amba_reg, &uap->port);
|
|
@@ -766,15 +767,18 @@ static int pl010_suspend(struct amba_device *dev, pm_message_t state)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-static int pl010_resume(struct amba_device *dev)
|
|
|
|
|
|
+static int pl010_resume(struct device *dev)
|
|
{
|
|
{
|
|
- struct uart_amba_port *uap = amba_get_drvdata(dev);
|
|
|
|
|
|
+ struct uart_amba_port *uap = dev_get_drvdata(dev);
|
|
|
|
|
|
if (uap)
|
|
if (uap)
|
|
uart_resume_port(&amba_reg, &uap->port);
|
|
uart_resume_port(&amba_reg, &uap->port);
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+static SIMPLE_DEV_PM_OPS(pl010_dev_pm_ops, pl010_suspend, pl010_resume);
|
|
|
|
|
|
static struct amba_id pl010_ids[] = {
|
|
static struct amba_id pl010_ids[] = {
|
|
{
|
|
{
|
|
@@ -789,12 +793,11 @@ MODULE_DEVICE_TABLE(amba, pl010_ids);
|
|
static struct amba_driver pl010_driver = {
|
|
static struct amba_driver pl010_driver = {
|
|
.drv = {
|
|
.drv = {
|
|
.name = "uart-pl010",
|
|
.name = "uart-pl010",
|
|
|
|
+ .pm = &pl010_dev_pm_ops,
|
|
},
|
|
},
|
|
.id_table = pl010_ids,
|
|
.id_table = pl010_ids,
|
|
.probe = pl010_probe,
|
|
.probe = pl010_probe,
|
|
.remove = pl010_remove,
|
|
.remove = pl010_remove,
|
|
- .suspend = pl010_suspend,
|
|
|
|
- .resume = pl010_resume,
|
|
|
|
};
|
|
};
|
|
|
|
|
|
static int __init pl010_init(void)
|
|
static int __init pl010_init(void)
|