lkml.org 
[lkml]   [2013]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[char-misc-next 2/2] mei: me: remove artificial singleton requirement
Date
There is only one device on the platform
drop mei_pdev and the mutex

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
---
drivers/misc/mei/pci-me.c | 19 -------------------
1 file changed, 19 deletions(-)

diff --git a/drivers/misc/mei/pci-me.c b/drivers/misc/mei/pci-me.c
index a727464..a2f5520f 100644
--- a/drivers/misc/mei/pci-me.c
+++ b/drivers/misc/mei/pci-me.c
@@ -43,9 +43,6 @@
#include "hw-me.h"
#include "client.h"

-/* 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_me_pci_tbl) = {
{PCI_DEVICE(PCI_VENDOR_ID_INTEL, MEI_DEV_ID_82946GZ)},
@@ -88,8 +85,6 @@ static DEFINE_PCI_DEVICE_TABLE(mei_me_pci_tbl) = {

MODULE_DEVICE_TABLE(pci, mei_me_pci_tbl);

-static DEFINE_MUTEX(mei_mutex);
-
/**
* mei_quirk_probe - probe for devices that doesn't valid ME interface
*
@@ -126,17 +121,12 @@ static int mei_me_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
struct mei_me_hw *hw;
int err;

- mutex_lock(&mei_mutex);

if (!mei_me_quirk_probe(pdev, ent)) {
err = -ENODEV;
goto end;
}

- if (mei_pdev) {
- err = -EEXIST;
- goto end;
- }
/* enable pci dev */
err = pci_enable_device(pdev);
if (err) {
@@ -195,13 +185,10 @@ static int mei_me_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
if (err)
goto release_irq;

- mei_pdev = pdev;
pci_set_drvdata(pdev, dev);

schedule_delayed_work(&dev->timer_work, HZ);

- mutex_unlock(&mei_mutex);
-
pr_debug("initialization successful.\n");

return 0;
@@ -220,7 +207,6 @@ release_regions:
disable_device:
pci_disable_device(pdev);
end:
- mutex_unlock(&mei_mutex);
dev_err(&pdev->dev, "initialization failed.\n");
return err;
}
@@ -238,9 +224,6 @@ static void mei_me_remove(struct pci_dev *pdev)
struct mei_device *dev;
struct mei_me_hw *hw;

- if (mei_pdev != pdev)
- return;
-
dev = pci_get_drvdata(pdev);
if (!dev)
return;
@@ -251,8 +234,6 @@ static void mei_me_remove(struct pci_dev *pdev)
dev_err(&pdev->dev, "stop\n");
mei_stop(dev);

- mei_pdev = NULL;
-
/* disable interrupts */
mei_disable_interrupts(dev);

--
1.8.1.2


\
 
 \ /
  Last update: 2013-05-29 19:41    [W:0.038 / U:0.292 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site