diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2014-09-29 16:31:41 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-09-29 11:56:01 -0400 |
commit | 3a7e9b6c661a23429b4a106d1ffa8aa5ce6c62bb (patch) | |
tree | 1a78e20c01d09cfb3c097a64f9a99db85f086b22 | |
parent | 2190fe2a3f4a4e76f6c5ebfc1070b86b34f0345c (diff) |
mei: push all standard settings into mei_device_init
Setting of hw_ops and device has should be in
mei_device_init.
We add reference to the parent device and remove
pci dependent cfg
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/misc/mei/hw-me.c | 6 | ||||
-rw-r--r-- | drivers/misc/mei/hw-txe.c | 5 | ||||
-rw-r--r-- | drivers/misc/mei/init.c | 14 | ||||
-rw-r--r-- | drivers/misc/mei/mei_dev.h | 6 |
4 files changed, 21 insertions, 10 deletions
diff --git a/drivers/misc/mei/hw-me.c b/drivers/misc/mei/hw-me.c index 56a9caa2e60..df42b6f6e7c 100644 --- a/drivers/misc/mei/hw-me.c +++ b/drivers/misc/mei/hw-me.c @@ -824,10 +824,8 @@ struct mei_device *mei_me_dev_init(struct pci_dev *pdev, if (!dev) return NULL; - mei_device_init(dev, cfg); - - dev->ops = &mei_me_hw_ops; - + mei_device_init(dev, &pdev->dev, &mei_me_hw_ops); + dev->cfg = cfg; dev->pdev = pdev; return dev; } diff --git a/drivers/misc/mei/hw-txe.c b/drivers/misc/mei/hw-txe.c index 1855b3b1ab2..fc1a51f818d 100644 --- a/drivers/misc/mei/hw-txe.c +++ b/drivers/misc/mei/hw-txe.c @@ -1123,14 +1123,13 @@ struct mei_device *mei_txe_dev_init(struct pci_dev *pdev, if (!dev) return NULL; - mei_device_init(dev, cfg); + mei_device_init(dev, &pdev->dev, &mei_txe_hw_ops); hw = to_txe_hw(dev); init_waitqueue_head(&hw->wait_aliveness_resp); - dev->ops = &mei_txe_hw_ops; - + dev->cfg = cfg; dev->pdev = pdev; return dev; } diff --git a/drivers/misc/mei/init.c b/drivers/misc/mei/init.c index 5c41f5860c8..ac659768e2b 100644 --- a/drivers/misc/mei/init.c +++ b/drivers/misc/mei/init.c @@ -365,7 +365,16 @@ int mei_fw_status(struct mei_device *dev, struct mei_fw_status *fw_status) } EXPORT_SYMBOL_GPL(mei_fw_status); -void mei_device_init(struct mei_device *dev, const struct mei_cfg *cfg) +/** + * mei_device_init -- initialize mei_device structure + * + * @dev: the mei device + * @device: the device structure + * @hw_ops: hw operations + */ +void mei_device_init(struct mei_device *dev, + struct device *device, + const struct mei_hw_ops *hw_ops) { /* setup our list array */ INIT_LIST_HEAD(&dev->file_list); @@ -404,7 +413,8 @@ void mei_device_init(struct mei_device *dev, const struct mei_cfg *cfg) bitmap_set(dev->host_clients_map, 0, 1); dev->pg_event = MEI_PG_EVENT_IDLE; - dev->cfg = cfg; + dev->ops = hw_ops; + dev->dev = device; } EXPORT_SYMBOL_GPL(mei_device_init); diff --git a/drivers/misc/mei/mei_dev.h b/drivers/misc/mei/mei_dev.h index be7b14766cf..70514302325 100644 --- a/drivers/misc/mei/mei_dev.h +++ b/drivers/misc/mei/mei_dev.h @@ -399,6 +399,7 @@ struct mei_cfg { * struct mei_device - MEI private device struct * @pdev - pointer to pci device struct + * @dev - device on a bus * @cdev - character device * @minor - minor number allocated for device * @@ -417,6 +418,7 @@ struct mei_cfg { */ struct mei_device { struct pci_dev *pdev; /* pointer to pci device struct */ + struct device *dev; struct cdev cdev; int minor; @@ -560,7 +562,9 @@ static inline u32 mei_slots2data(int slots) /* * mei init function prototypes */ -void mei_device_init(struct mei_device *dev, const struct mei_cfg *cfg); +void mei_device_init(struct mei_device *dev, + struct device *device, + const struct mei_hw_ops *hw_ops); int mei_reset(struct mei_device *dev); int mei_start(struct mei_device *dev); int mei_restart(struct mei_device *dev); |