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: Jiri Slaby <jslaby@suse.cz> Cc: J Freyensee <james_p_freyensee@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
fbf1c247da
commit
5bd4200097
1 changed files with 10 additions and 7 deletions
|
@ -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)
|
||||||
* 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)
|
||||||
*/
|
*/
|
||||||
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 = {
|
||||||
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,
|
||||||
|
|
||||||
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);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue