Commit 5bd42000 authored by Jiri Slaby's avatar Jiri Slaby Committed by Greg Kroah-Hartman

misc: pti, fix tty_port count

We now have *one* tty_port for both TTYs. How this was supposed to
work? Change it to have a tty_port for each of TTYs.
Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
Cc: J Freyensee <james_p_freyensee@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent fbf1c247
...@@ -60,7 +60,7 @@ struct pti_tty { ...@@ -60,7 +60,7 @@ struct pti_tty {
}; };
struct pti_dev { struct pti_dev {
struct tty_port port; struct tty_port port[PTITTY_MINOR_NUM];
unsigned long pti_addr; unsigned long pti_addr;
unsigned long aperture_base; unsigned long aperture_base;
void __iomem *pti_ioaddr; void __iomem *pti_ioaddr;
...@@ -427,7 +427,7 @@ static int pti_tty_driver_open(struct tty_struct *tty, struct file *filp) ...@@ -427,7 +427,7 @@ static int pti_tty_driver_open(struct tty_struct *tty, struct file *filp)
* also removes a locking requirement for the actual write * also removes a locking requirement for the actual write
* procedure. * procedure.
*/ */
return tty_port_open(&drv_data->port, tty, filp); return tty_port_open(&drv_data->port[tty->index], tty, filp);
} }
/** /**
...@@ -443,7 +443,7 @@ static int pti_tty_driver_open(struct tty_struct *tty, struct file *filp) ...@@ -443,7 +443,7 @@ static int pti_tty_driver_open(struct tty_struct *tty, struct file *filp)
*/ */
static void pti_tty_driver_close(struct tty_struct *tty, struct file *filp) static void pti_tty_driver_close(struct tty_struct *tty, struct file *filp)
{ {
tty_port_close(&drv_data->port, tty, filp); tty_port_close(&drv_data->port[tty->index], tty, filp);
} }
/** /**
...@@ -799,6 +799,7 @@ static const struct tty_port_operations tty_port_ops = { ...@@ -799,6 +799,7 @@ static const struct tty_port_operations tty_port_ops = {
static int __devinit pti_pci_probe(struct pci_dev *pdev, static int __devinit pti_pci_probe(struct pci_dev *pdev,
const struct pci_device_id *ent) const struct pci_device_id *ent)
{ {
unsigned int a;
int retval = -EINVAL; int retval = -EINVAL;
int pci_bar = 1; int pci_bar = 1;
...@@ -850,11 +851,13 @@ static int __devinit pti_pci_probe(struct pci_dev *pdev, ...@@ -850,11 +851,13 @@ static int __devinit pti_pci_probe(struct pci_dev *pdev,
pci_set_drvdata(pdev, drv_data); pci_set_drvdata(pdev, drv_data);
tty_port_init(&drv_data->port); for (a = 0; a < PTITTY_MINOR_NUM; a++) {
drv_data->port.ops = &tty_port_ops; struct tty_port *port = &drv_data->port[a];
tty_port_init(port);
port->ops = &tty_port_ops;
tty_register_device(pti_tty_driver, 0, &pdev->dev); tty_register_device(pti_tty_driver, a, &pdev->dev);
tty_register_device(pti_tty_driver, 1, &pdev->dev); }
register_console(&pti_console); register_console(&pti_console);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment