Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3a7e9b6c authored by Tomas Winkler's avatar Tomas Winkler Committed by Greg Kroah-Hartman
Browse files

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: default avatarTomas Winkler <tomas.winkler@intel.com>
Signed-off-by: default avatarAlexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2190fe2a
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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;
}
+2 −3
Original line number Diff line number Diff line
@@ -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;
}
+12 −2
Original line number Diff line number Diff line
@@ -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);
+5 −1
Original line number Diff line number Diff line
@@ -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);