Lines Matching refs:ec_dev
30 int cros_ec_prepare_tx(struct cros_ec_device *ec_dev, in cros_ec_prepare_tx() argument
37 out = ec_dev->dout; in cros_ec_prepare_tx()
50 int cros_ec_check_result(struct cros_ec_device *ec_dev, in cros_ec_check_result() argument
57 dev_dbg(ec_dev->dev, "command 0x%02x in progress\n", in cros_ec_check_result()
61 dev_dbg(ec_dev->dev, "command 0x%02x returned %d\n", in cros_ec_check_result()
68 int cros_ec_cmd_xfer(struct cros_ec_device *ec_dev, in cros_ec_cmd_xfer() argument
73 mutex_lock(&ec_dev->lock); in cros_ec_cmd_xfer()
74 ret = ec_dev->cmd_xfer(ec_dev, msg); in cros_ec_cmd_xfer()
90 ret = ec_dev->cmd_xfer(ec_dev, &status_msg); in cros_ec_cmd_xfer()
104 mutex_unlock(&ec_dev->lock); in cros_ec_cmd_xfer()
127 int cros_ec_register(struct cros_ec_device *ec_dev) in cros_ec_register() argument
129 struct device *dev = ec_dev->dev; in cros_ec_register()
132 if (ec_dev->din_size) { in cros_ec_register()
133 ec_dev->din = devm_kzalloc(dev, ec_dev->din_size, GFP_KERNEL); in cros_ec_register()
134 if (!ec_dev->din) in cros_ec_register()
137 if (ec_dev->dout_size) { in cros_ec_register()
138 ec_dev->dout = devm_kzalloc(dev, ec_dev->dout_size, GFP_KERNEL); in cros_ec_register()
139 if (!ec_dev->dout) in cros_ec_register()
143 mutex_init(&ec_dev->lock); in cros_ec_register()
147 NULL, ec_dev->irq, NULL); in cros_ec_register()
159 int cros_ec_remove(struct cros_ec_device *ec_dev) in cros_ec_remove() argument
161 mfd_remove_devices(ec_dev->dev); in cros_ec_remove()
168 int cros_ec_suspend(struct cros_ec_device *ec_dev) in cros_ec_suspend() argument
170 struct device *dev = ec_dev->dev; in cros_ec_suspend()
173 ec_dev->wake_enabled = !enable_irq_wake(ec_dev->irq); in cros_ec_suspend()
175 disable_irq(ec_dev->irq); in cros_ec_suspend()
176 ec_dev->was_wake_device = ec_dev->wake_enabled; in cros_ec_suspend()
182 int cros_ec_resume(struct cros_ec_device *ec_dev) in cros_ec_resume() argument
184 enable_irq(ec_dev->irq); in cros_ec_resume()
186 if (ec_dev->wake_enabled) { in cros_ec_resume()
187 disable_irq_wake(ec_dev->irq); in cros_ec_resume()
188 ec_dev->wake_enabled = 0; in cros_ec_resume()