| /Linux-v5.4/drivers/platform/chrome/ |
| D | cros_ec.c | 36 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 …]
|
| D | cros_ec_proto.c | 18 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 …]
|
| D | cros_ec_spi.c | 80 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 …]
|
| D | cros_ec_rpmsg.c | 58 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 …]
|
| D | cros_ec_i2c.c | 50 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 …]
|
| D | cros_ec_chardev.c | 35 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 …]
|
| D | cros_ec_ishtp.c | 127 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 …]
|
| D | cros_ec_lpc.c | 314 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 …]
|
| D | cros_ec_lightbar.c | 120 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 …]
|
| D | cros_ec_debugfs.c | 77 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 …]
|
| D | cros_usbpd_logger.c | 31 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()
|
| D | cros_ec_sysfs.c | 103 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 …]
|
| D | cros_ec_vbc.c | 23 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/ |
| D | cros_ec_proto.h | 198 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/ |
| D | cros_ec_dev.c | 129 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/ |
| D | cros_ec_keyb.c | 329 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/ |
| D | cros_ec_baro.c | 122 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/ |
| D | cros_usbpd-charger.c | 47 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/ |
| D | cros_ec_light_prox.c | 172 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/ |
| D | cros_ec_sensors.c | 225 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()
|
| D | cros_ec_sensors_core.c | 29 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/ |
| D | cros_ec.h | 25 struct cros_ec_device *ec_dev; member
|
| /Linux-v5.4/drivers/media/platform/cros-ec-cec/ |
| D | cros-ec-cec.c | 262 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/ |
| D | rtc-cros-ec.c | 324 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/ |
| D | hid-google-hammer.c | 52 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()
|