Home
last modified time | relevance | path

Searched refs:ec_dev (Results 1 – 25 of 26) sorted by relevance

12

/Linux-v5.4/drivers/platform/chrome/
Dcros_ec.c36 struct cros_ec_device *ec_dev = data; in ec_irq_thread() local
40 ret = cros_ec_get_next_event(ec_dev, &wake_event); in ec_irq_thread()
47 if (wake_event && device_may_wakeup(ec_dev->dev)) in ec_irq_thread()
48 pm_wakeup_event(ec_dev->dev, 0); in ec_irq_thread()
51 blocking_notifier_call_chain(&ec_dev->event_notifier, in ec_irq_thread()
52 0, ec_dev); in ec_irq_thread()
56 static int cros_ec_sleep_event(struct cros_ec_device *ec_dev, u8 sleep_event) in cros_ec_sleep_event() argument
70 if (ec_dev->host_sleep_v1) { in cros_ec_sleep_event()
89 ret = cros_ec_cmd_xfer(ec_dev, &buf.msg); in cros_ec_sleep_event()
92 if (ret >= 0 && ec_dev->host_sleep_v1 && in cros_ec_sleep_event()
[all …]
Dcros_ec_proto.c18 static int prepare_packet(struct cros_ec_device *ec_dev, in prepare_packet() argument
26 BUG_ON(ec_dev->proto_version != EC_HOST_REQUEST_VERSION); in prepare_packet()
27 BUG_ON(msg->outsize + sizeof(*request) > ec_dev->dout_size); in prepare_packet()
29 out = ec_dev->dout; in prepare_packet()
51 static int send_command(struct cros_ec_device *ec_dev, in send_command() argument
59 if (ec_dev->proto_version > 2) in send_command()
60 xfer_fxn = ec_dev->pkt_xfer; in send_command()
62 xfer_fxn = ec_dev->cmd_xfer; in send_command()
70 dev_err_once(ec_dev->dev, in send_command()
75 ret = (*xfer_fxn)(ec_dev, msg); in send_command()
[all …]
Dcros_ec_spi.c80 typedef int (*cros_ec_xfer_fn_t) (struct cros_ec_device *ec_dev,
96 struct cros_ec_device *ec_dev; member
115 static int terminate_request(struct cros_ec_device *ec_dev) in terminate_request() argument
117 struct cros_ec_spi *ec_spi = ec_dev->priv; in terminate_request()
136 dev_err(ec_dev->dev, in terminate_request()
149 static int receive_n_bytes(struct cros_ec_device *ec_dev, u8 *buf, int n) in receive_n_bytes() argument
151 struct cros_ec_spi *ec_spi = ec_dev->priv; in receive_n_bytes()
156 BUG_ON(buf - ec_dev->din + n > ec_dev->din_size); in receive_n_bytes()
167 dev_err(ec_dev->dev, "spi transfer failed: %d\n", ret); in receive_n_bytes()
184 static int cros_ec_spi_receive_packet(struct cros_ec_device *ec_dev, in cros_ec_spi_receive_packet() argument
[all …]
Dcros_ec_rpmsg.c58 static int cros_ec_cmd_xfer_rpmsg(struct cros_ec_device *ec_dev, in cros_ec_cmd_xfer_rpmsg() argument
72 static int cros_ec_pkt_xfer_rpmsg(struct cros_ec_device *ec_dev, in cros_ec_pkt_xfer_rpmsg() argument
75 struct cros_ec_rpmsg *ec_rpmsg = ec_dev->priv; in cros_ec_pkt_xfer_rpmsg()
84 len = cros_ec_prepare_tx(ec_dev, ec_msg); in cros_ec_pkt_xfer_rpmsg()
85 dev_dbg(ec_dev->dev, "prepared, len=%d\n", len); in cros_ec_pkt_xfer_rpmsg()
88 ret = rpmsg_send(ec_rpmsg->ept, ec_dev->dout, len); in cros_ec_pkt_xfer_rpmsg()
90 dev_err(ec_dev->dev, "rpmsg send failed\n"); in cros_ec_pkt_xfer_rpmsg()
97 dev_err(ec_dev->dev, "rpmsg send timeout\n"); in cros_ec_pkt_xfer_rpmsg()
102 response = (struct ec_host_response *)ec_dev->din; in cros_ec_pkt_xfer_rpmsg()
105 ret = cros_ec_check_result(ec_dev, ec_msg); in cros_ec_pkt_xfer_rpmsg()
[all …]
Dcros_ec_i2c.c50 static int cros_ec_pkt_xfer_i2c(struct cros_ec_device *ec_dev, in cros_ec_pkt_xfer_i2c() argument
53 struct i2c_client *client = ec_dev->priv; in cros_ec_pkt_xfer_i2c()
73 BUG_ON(packet_len > ec_dev->din_size); in cros_ec_pkt_xfer_i2c()
74 in_buf = ec_dev->din; in cros_ec_pkt_xfer_i2c()
79 BUG_ON(packet_len > ec_dev->dout_size); in cros_ec_pkt_xfer_i2c()
80 out_buf = ec_dev->dout; in cros_ec_pkt_xfer_i2c()
88 ec_dev->dout++; in cros_ec_pkt_xfer_i2c()
89 ret = cros_ec_prepare_tx(ec_dev, msg); in cros_ec_pkt_xfer_i2c()
90 ec_dev->dout--; in cros_ec_pkt_xfer_i2c()
95 dev_dbg(ec_dev->dev, "i2c transfer failed: %d\n", ret); in cros_ec_pkt_xfer_i2c()
[all …]
Dcros_ec_chardev.c35 struct cros_ec_dev *ec_dev; member
40 struct cros_ec_dev *ec_dev; member
71 ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); in ec_get_version()
99 struct cros_ec_device *ec_dev = priv->ec_dev->ec_dev; in cros_ec_chardev_mkbp_event() local
101 unsigned long event_bit = 1 << ec_dev->event_data.event_type; in cros_ec_chardev_mkbp_event()
102 int total_size = sizeof(*event) + ec_dev->event_size; in cros_ec_chardev_mkbp_event()
112 event->size = ec_dev->event_size; in cros_ec_chardev_mkbp_event()
113 event->event_type = ec_dev->event_data.event_type; in cros_ec_chardev_mkbp_event()
114 memcpy(event->data, &ec_dev->event_data.data, ec_dev->event_size); in cros_ec_chardev_mkbp_event()
164 struct cros_ec_dev *ec_dev = dev_get_drvdata(mdev->parent); in cros_ec_chardev_open() local
[all …]
Dcros_ec_ishtp.c127 struct cros_ec_device *ec_dev; member
138 struct cros_ec_device *ec_dev = client_data->ec_dev; in ish_evt_handler() local
140 if (cros_ec_get_next_event(ec_dev, NULL) > 0) { in ish_evt_handler()
141 blocking_notifier_call_chain(&ec_dev->event_notifier, in ish_evt_handler()
142 0, ec_dev); in ish_evt_handler()
414 static int prepare_cros_ec_rx(struct cros_ec_device *ec_dev, in prepare_cros_ec_rx() argument
423 rv = cros_ec_check_result(ec_dev, msg); in prepare_cros_ec_rx()
428 dev_err(ec_dev->dev, "Packet too long (%d bytes, expected %d)", in prepare_cros_ec_rx()
442 dev_dbg(ec_dev->dev, "Bad received packet checksum %d\n", sum); in prepare_cros_ec_rx()
449 static int cros_ec_pkt_xfer_ish(struct cros_ec_device *ec_dev, in cros_ec_pkt_xfer_ish() argument
[all …]
Dcros_ec_lpc.c314 struct cros_ec_device *ec_dev = data; in cros_ec_lpc_acpi_notify() local
316 if (ec_dev->mkbp_event_supported && in cros_ec_lpc_acpi_notify()
317 cros_ec_get_next_event(ec_dev, NULL) > 0) in cros_ec_lpc_acpi_notify()
318 blocking_notifier_call_chain(&ec_dev->event_notifier, 0, in cros_ec_lpc_acpi_notify()
319 ec_dev); in cros_ec_lpc_acpi_notify()
330 struct cros_ec_device *ec_dev; in cros_ec_lpc_probe() local
372 ec_dev = devm_kzalloc(dev, sizeof(*ec_dev), GFP_KERNEL); in cros_ec_lpc_probe()
373 if (!ec_dev) in cros_ec_lpc_probe()
376 platform_set_drvdata(pdev, ec_dev); in cros_ec_lpc_probe()
377 ec_dev->dev = dev; in cros_ec_lpc_probe()
[all …]
Dcros_ec_lightbar.c120 ret = cros_ec_cmd_xfer(ec->ec_dev, msg); in get_lightbar_version()
197 ret = cros_ec_cmd_xfer(ec->ec_dev, msg); in brightness_store()
262 ret = cros_ec_cmd_xfer(ec->ec_dev, msg); in led_rgb_store()
309 ret = cros_ec_cmd_xfer(ec->ec_dev, msg); in sequence_show()
348 ret = cros_ec_cmd_xfer(ec->ec_dev, msg); in lb_send_empty_cmd()
381 ret = cros_ec_cmd_xfer(ec->ec_dev, msg); in lb_manual_suspend_ctrl()
429 ret = cros_ec_cmd_xfer(ec->ec_dev, msg); in sequence_store()
460 max_size = min(EC_LB_PROG_LEN, ec->ec_dev->max_request - extra_bytes); in program_store()
491 ret = cros_ec_cmd_xfer(ec->ec_dev, msg); in program_store()
558 struct cros_ec_dev *ec_dev = dev_get_drvdata(pd->dev.parent); in cros_ec_lightbar_probe() local
[all …]
Dcros_ec_debugfs.c77 ret = cros_ec_cmd_xfer_status(ec->ec_dev, &snapshot_msg); in cros_ec_console_log_work()
94 ret = cros_ec_cmd_xfer_status(ec->ec_dev, in cros_ec_console_log_work()
201 struct cros_ec_device *ec_dev = debug_info->ec->ec_dev; in cros_ec_pdinfo_read() local
233 if (cros_ec_cmd_xfer_status(ec_dev, msg) < 0) in cros_ec_pdinfo_read()
250 struct cros_ec_device *ec_dev = debug_info->ec->ec_dev; in cros_ec_uptime_read() local
264 ret = cros_ec_cmd_xfer_status(ec_dev, &msg.cmd); in cros_ec_uptime_read()
318 ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg) >= 0 && in ec_read_version_supported()
345 read_response_size = ec->ec_dev->max_response; in cros_ec_create_console_log()
384 struct cros_ec_device *ec_dev = debug_info->ec->ec_dev; in cros_ec_create_panicinfo() local
389 insize = ec_dev->max_response; in cros_ec_create_panicinfo()
[all …]
Dcros_usbpd_logger.c31 struct cros_ec_dev *ec_dev; member
64 struct cros_ec_dev *ec_dev = logger->ec_dev; in ec_get_log_entry() local
70 msg->command = ec_dev->cmd_offset + EC_CMD_PD_GET_LOG_ENTRY; in ec_get_log_entry()
73 ret = cros_ec_cmd_xfer_status(ec_dev->ec_dev, msg); in ec_get_log_entry()
197 struct cros_ec_dev *ec_dev = dev_get_drvdata(pd->dev.parent); in cros_usbpd_logger_probe() local
206 logger->ec_dev = ec_dev; in cros_usbpd_logger_probe()
Dcros_ec_sysfs.c103 ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); in reboot_store()
132 ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); in version_show()
153 ret = cros_ec_cmd_xfer(ec->ec_dev, msg); in version_show()
169 ret = cros_ec_cmd_xfer(ec->ec_dev, msg); in version_show()
193 ret = cros_ec_cmd_xfer(ec->ec_dev, msg); in version_show()
230 ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); in flashinfo_show()
268 ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); in kb_wake_angle_show()
305 ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); in kb_wake_angle_store()
346 struct cros_ec_dev *ec_dev = dev_get_drvdata(pd->dev.parent); in cros_ec_sysfs_probe() local
350 ret = sysfs_create_group(&ec_dev->class_dev.kobj, &cros_ec_attr_group); in cros_ec_sysfs_probe()
[all …]
Dcros_ec_vbc.c23 struct cros_ec_device *ecdev = ec->ec_dev; in vboot_context_read()
63 struct cros_ec_device *ecdev = ec->ec_dev; in vboot_context_write()
112 struct cros_ec_dev *ec_dev = dev_get_drvdata(pd->dev.parent); in cros_ec_vbc_probe() local
116 ret = sysfs_create_group(&ec_dev->class_dev.kobj, in cros_ec_vbc_probe()
127 struct cros_ec_dev *ec_dev = dev_get_drvdata(pd->dev.parent); in cros_ec_vbc_remove() local
129 sysfs_remove_group(&ec_dev->class_dev.kobj, in cros_ec_vbc_remove()
/Linux-v5.4/include/linux/platform_data/
Dcros_ec_proto.h198 int cros_ec_suspend(struct cros_ec_device *ec_dev);
208 int cros_ec_resume(struct cros_ec_device *ec_dev);
221 int cros_ec_prepare_tx(struct cros_ec_device *ec_dev,
234 int cros_ec_check_result(struct cros_ec_device *ec_dev,
247 int cros_ec_cmd_xfer(struct cros_ec_device *ec_dev,
262 int cros_ec_cmd_xfer_status(struct cros_ec_device *ec_dev,
274 int cros_ec_register(struct cros_ec_device *ec_dev);
284 int cros_ec_unregister(struct cros_ec_device *ec_dev);
293 int cros_ec_query_all(struct cros_ec_device *ec_dev);
305 int cros_ec_get_next_event(struct cros_ec_device *ec_dev, bool *wake_event);
[all …]
/Linux-v5.4/drivers/mfd/
Dcros_ec_dev.c129 ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); in cros_ec_check_features()
179 ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); in cros_ec_sensors_register()
207 ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); in cros_ec_sensors_register()
294 struct cros_ec_device *ec_dev = ec->ec_dev; in cros_ec_accel_legacy_register() local
309 if (ec_dev->cmd_readmem) { in cros_ec_accel_legacy_register()
310 ret = ec_dev->cmd_readmem(ec_dev, EC_MEMMAP_ACC_STATUS, 1, in cros_ec_accel_legacy_register()
335 dev_err(ec_dev->dev, "failed to add EC sensors\n"); in cros_ec_accel_legacy_register()
351 ec->ec_dev = dev_get_drvdata(dev->parent); in ec_device_probe()
428 node = ec->ec_dev->dev->of_node; in ec_device_probe()
/Linux-v5.4/drivers/input/keyboard/
Dcros_ec_keyb.c329 static int cros_ec_keyb_info(struct cros_ec_device *ec_dev, in cros_ec_keyb_info() argument
352 ret = cros_ec_cmd_xfer(ec_dev, msg); in cros_ec_keyb_info()
354 dev_warn(ec_dev->dev, "Transfer error %d/%d: %d\n", in cros_ec_keyb_info()
361 dev_warn(ec_dev->dev, "Error getting info %d/%d: %d\n", in cros_ec_keyb_info()
365 dev_warn(ec_dev->dev, "Wrong size %d/%d: %d != %zu\n", in cros_ec_keyb_info()
392 struct cros_ec_device *ec_dev = ckdev->ec; in cros_ec_keyb_query_switches() local
396 ret = cros_ec_keyb_info(ec_dev, EC_MKBP_INFO_CURRENT, in cros_ec_keyb_query_switches()
443 struct cros_ec_device *ec_dev = ckdev->ec; in cros_ec_keyb_register_bs() local
453 ret = cros_ec_keyb_info(ec_dev, EC_MKBP_INFO_SUPPORTED, in cros_ec_keyb_register_bs()
460 ret = cros_ec_keyb_info(ec_dev, EC_MKBP_INFO_SUPPORTED, in cros_ec_keyb_register_bs()
[all …]
/Linux-v5.4/drivers/iio/pressure/
Dcros_ec_baro.c122 struct cros_ec_dev *ec_dev = dev_get_drvdata(dev->parent); in cros_ec_baro_probe() local
128 if (!ec_dev || !ec_dev->ec_dev) { in cros_ec_baro_probe()
/Linux-v5.4/drivers/power/supply/
Dcros_usbpd-charger.c47 struct cros_ec_dev *ec_dev; member
103 struct cros_ec_dev *ec_dev = charger->ec_dev; in cros_usbpd_charger_ec_command() local
112 msg->command = ec_dev->cmd_offset + command; in cros_usbpd_charger_ec_command()
557 struct cros_ec_dev *ec_dev = dev_get_drvdata(pd->dev.parent); in cros_usbpd_charger_probe() local
558 struct cros_ec_device *ec_device = ec_dev->ec_dev; in cros_usbpd_charger_probe()
573 charger->ec_dev = ec_dev; in cros_usbpd_charger_probe()
/Linux-v5.4/drivers/iio/light/
Dcros_ec_light_prox.c172 struct cros_ec_dev *ec_dev = dev_get_drvdata(dev->parent); in cros_ec_light_prox_probe() local
178 if (!ec_dev || !ec_dev->ec_dev) { in cros_ec_light_prox_probe()
/Linux-v5.4/drivers/iio/common/cros_ec_sensors/
Dcros_ec_sensors.c225 struct cros_ec_dev *ec_dev = dev_get_drvdata(dev->parent); in cros_ec_sensors_probe() local
231 if (!ec_dev || !ec_dev->ec_dev) { in cros_ec_sensors_probe()
Dcros_ec_sensors_core.c29 static int cros_ec_get_host_cmd_version_mask(struct cros_ec_device *ec_dev, in cros_ec_get_host_cmd_version_mask() argument
48 ret = cros_ec_cmd_xfer_status(ec_dev, &buf.msg); in cros_ec_get_host_cmd_version_mask()
98 state->ec = ec->ec_dev; in cros_ec_sensors_core_init()
/Linux-v5.4/include/linux/mfd/
Dcros_ec.h25 struct cros_ec_device *ec_dev; member
/Linux-v5.4/drivers/media/platform/cros-ec-cec/
Dcros-ec-cec.c262 struct cros_ec_dev *ec_dev = dev_get_drvdata(pdev->dev.parent); in cros_ec_cec_probe() local
263 struct cros_ec_device *cros_ec = ec_dev->ec_dev; in cros_ec_cec_probe()
/Linux-v5.4/drivers/rtc/
Drtc-cros-ec.c324 struct cros_ec_dev *ec_dev = dev_get_drvdata(pdev->dev.parent); in cros_ec_rtc_probe() local
325 struct cros_ec_device *cros_ec = ec_dev->ec_dev; in cros_ec_rtc_probe()
/Linux-v5.4/drivers/hid/
Dhid-google-hammer.c52 static int cbas_ec_query_base(struct cros_ec_device *ec_dev, bool get_state, in cbas_ec_query_base() argument
73 ret = cros_ec_cmd_xfer_status(ec_dev, msg); in cbas_ec_query_base()
76 dev_warn(ec_dev->dev, "wrong result size: %d != %zu\n", in cbas_ec_query_base()

12