|
@@ -41,9 +41,8 @@
|
|
|
#include <linux/mei.h>
|
|
|
#include "interface.h"
|
|
|
|
|
|
-/* The device pointer */
|
|
|
-/* Currently this driver works as long as there is only a single AMT device. */
|
|
|
-struct pci_dev *mei_device;
|
|
|
+/* AMT device is a singleton on the platform */
|
|
|
+static struct pci_dev *mei_pdev;
|
|
|
|
|
|
/* mei_pci_tbl - PCI Device ID Table */
|
|
|
static DEFINE_PCI_DEVICE_TABLE(mei_pci_tbl) = {
|
|
@@ -218,10 +217,10 @@ static int mei_open(struct inode *inode, struct file *file)
|
|
|
int err;
|
|
|
|
|
|
err = -ENODEV;
|
|
|
- if (!mei_device)
|
|
|
+ if (!mei_pdev)
|
|
|
goto out;
|
|
|
|
|
|
- dev = pci_get_drvdata(mei_device);
|
|
|
+ dev = pci_get_drvdata(mei_pdev);
|
|
|
if (!dev)
|
|
|
goto out;
|
|
|
|
|
@@ -945,7 +944,7 @@ static int __devinit mei_probe(struct pci_dev *pdev,
|
|
|
goto end;
|
|
|
}
|
|
|
|
|
|
- if (mei_device) {
|
|
|
+ if (mei_pdev) {
|
|
|
err = -EEXIST;
|
|
|
goto end;
|
|
|
}
|
|
@@ -1006,7 +1005,7 @@ static int __devinit mei_probe(struct pci_dev *pdev,
|
|
|
if (err)
|
|
|
goto release_irq;
|
|
|
|
|
|
- mei_device = pdev;
|
|
|
+ mei_pdev = pdev;
|
|
|
pci_set_drvdata(pdev, dev);
|
|
|
|
|
|
|
|
@@ -1051,7 +1050,7 @@ static void __devexit mei_remove(struct pci_dev *pdev)
|
|
|
{
|
|
|
struct mei_device *dev;
|
|
|
|
|
|
- if (mei_device != pdev)
|
|
|
+ if (mei_pdev != pdev)
|
|
|
return;
|
|
|
|
|
|
dev = pci_get_drvdata(pdev);
|
|
@@ -1064,7 +1063,7 @@ static void __devexit mei_remove(struct pci_dev *pdev)
|
|
|
|
|
|
mei_wd_stop(dev);
|
|
|
|
|
|
- mei_device = NULL;
|
|
|
+ mei_pdev = NULL;
|
|
|
|
|
|
if (dev->iamthif_cl.state == MEI_FILE_CONNECTED) {
|
|
|
dev->iamthif_cl.state = MEI_FILE_DISCONNECTING;
|