/kernel/linux/linux-6.6/drivers/platform/chrome/ |
H A D | cros_ec.c | 36 * @data: (ec_dev) Device with events to process. 42 struct cros_ec_device *ec_dev = data; in cros_ec_irq_handler() local 44 ec_dev->last_event_time = cros_ec_get_time_ns(); in cros_ec_irq_handler() 51 * @ec_dev: Device with events to process. 59 static bool cros_ec_handle_event(struct cros_ec_device *ec_dev) in cros_ec_handle_event() argument 65 ret = cros_ec_get_next_event(ec_dev, &wake_event, &ec_has_more_events); in cros_ec_handle_event() 72 if (wake_event && device_may_wakeup(ec_dev->dev)) in cros_ec_handle_event() 73 pm_wakeup_event(ec_dev->dev, 0); in cros_ec_handle_event() 76 blocking_notifier_call_chain(&ec_dev->event_notifier, in cros_ec_handle_event() 77 0, ec_dev); in cros_ec_handle_event() 91 struct cros_ec_device *ec_dev = data; cros_ec_irq_thread() local 102 cros_ec_sleep_event(struct cros_ec_device *ec_dev, u8 sleep_event) cros_ec_sleep_event() argument 157 struct cros_ec_device *ec_dev = container_of(nb, struct cros_ec_device, cros_ec_ready_event() local 180 cros_ec_register(struct cros_ec_device *ec_dev) cros_ec_register() argument 314 cros_ec_unregister(struct cros_ec_device *ec_dev) cros_ec_unregister() argument 324 cros_ec_send_suspend_event(struct cros_ec_device *ec_dev) cros_ec_send_suspend_event() argument 347 cros_ec_suspend_prepare(struct cros_ec_device *ec_dev) cros_ec_suspend_prepare() argument 354 cros_ec_disable_irq(struct cros_ec_device *ec_dev) cros_ec_disable_irq() argument 374 cros_ec_suspend_late(struct cros_ec_device *ec_dev) cros_ec_suspend_late() argument 389 cros_ec_suspend(struct cros_ec_device *ec_dev) cros_ec_suspend() argument 397 cros_ec_report_events_during_suspend(struct cros_ec_device *ec_dev) cros_ec_report_events_during_suspend() argument 411 cros_ec_send_resume_event(struct cros_ec_device *ec_dev) cros_ec_send_resume_event() argument 432 cros_ec_resume_complete(struct cros_ec_device *ec_dev) cros_ec_resume_complete() argument 438 cros_ec_enable_irq(struct cros_ec_device *ec_dev) cros_ec_enable_irq() argument 461 cros_ec_resume_early(struct cros_ec_device *ec_dev) cros_ec_resume_early() argument 476 cros_ec_resume(struct cros_ec_device *ec_dev) cros_ec_resume() argument [all...] |
H A D | cros_ec_proto.c | 55 static int prepare_tx(struct cros_ec_device *ec_dev, in prepare_tx() argument 63 if (msg->outsize + sizeof(*request) > ec_dev->dout_size) in prepare_tx() 66 out = ec_dev->dout; in prepare_tx() 88 static int prepare_tx_legacy(struct cros_ec_device *ec_dev, in prepare_tx_legacy() argument 98 out = ec_dev->dout; in prepare_tx_legacy() 110 static int cros_ec_xfer_command(struct cros_ec_device *ec_dev, struct cros_ec_command *msg) in cros_ec_xfer_command() argument 115 if (ec_dev->proto_version > 2) in cros_ec_xfer_command() 116 xfer_fxn = ec_dev->pkt_xfer; in cros_ec_xfer_command() 118 xfer_fxn = ec_dev->cmd_xfer; in cros_ec_xfer_command() 126 dev_err_once(ec_dev in cros_ec_xfer_command() 137 cros_ec_wait_until_complete(struct cros_ec_device *ec_dev, uint32_t *result) cros_ec_wait_until_complete() argument 181 cros_ec_send_command(struct cros_ec_device *ec_dev, struct cros_ec_command *msg) cros_ec_send_command() argument 201 cros_ec_prepare_tx(struct cros_ec_device *ec_dev, struct cros_ec_command *msg) cros_ec_prepare_tx() argument 224 cros_ec_check_result(struct cros_ec_device *ec_dev, struct cros_ec_command *msg) cros_ec_check_result() argument 255 cros_ec_get_host_event_wake_mask(struct cros_ec_device *ec_dev, uint32_t *mask) cros_ec_get_host_event_wake_mask() argument 291 cros_ec_get_proto_info(struct cros_ec_device *ec_dev, int devidx) cros_ec_get_proto_info() argument 369 cros_ec_get_proto_info_legacy(struct cros_ec_device *ec_dev) cros_ec_get_proto_info_legacy() argument 446 cros_ec_get_host_command_version_mask(struct cros_ec_device *ec_dev, u16 cmd, u32 *mask) cros_ec_get_host_command_version_mask() argument 496 cros_ec_query_all(struct cros_ec_device *ec_dev) cros_ec_query_all() argument 607 cros_ec_cmd_xfer(struct cros_ec_device *ec_dev, struct cros_ec_command *msg) cros_ec_cmd_xfer() argument 667 cros_ec_cmd_xfer_status(struct cros_ec_device *ec_dev, struct cros_ec_command *msg) cros_ec_cmd_xfer_status() argument 687 get_next_event_xfer(struct cros_ec_device *ec_dev, struct cros_ec_command *msg, struct ec_response_get_next_event_v1 *event, int version, uint32_t size) get_next_event_xfer() argument 708 get_next_event(struct cros_ec_device *ec_dev) get_next_event() argument 732 get_keyboard_state_event(struct cros_ec_device *ec_dev) get_keyboard_state_event() argument 769 cros_ec_get_next_event(struct cros_ec_device *ec_dev, bool *wake_event, bool *has_more_events) cros_ec_get_next_event() argument 871 cros_ec_get_host_event(struct cros_ec_device *ec_dev) cros_ec_get_host_event() argument 942 struct cros_ec_device *ec_dev = ec->ec_dev; cros_ec_get_sensor_count() local 1004 cros_ec_cmd(struct cros_ec_device *ec_dev, unsigned int version, int command, void *outdata, size_t outsize, void *indata, size_t insize) cros_ec_cmd() argument [all...] |
H A D | cros_ec_spi.c | 82 typedef int (*cros_ec_xfer_fn_t) (struct cros_ec_device *ec_dev, 90 * @ec_dev: ChromeOS EC device 98 struct cros_ec_device *ec_dev; member 111 static int terminate_request(struct cros_ec_device *ec_dev) in terminate_request() argument 113 struct cros_ec_spi *ec_spi = ec_dev->priv; in terminate_request() 133 dev_err(ec_dev->dev, in terminate_request() 144 * Assumes buf is a pointer into the ec_dev->din buffer 146 * @ec_dev: ChromeOS EC device. 150 static int receive_n_bytes(struct cros_ec_device *ec_dev, u8 *buf, int n) in receive_n_bytes() argument 152 struct cros_ec_spi *ec_spi = ec_dev in receive_n_bytes() 186 cros_ec_spi_receive_packet(struct cros_ec_device *ec_dev, int need_len) cros_ec_spi_receive_packet() argument 295 cros_ec_spi_receive_response(struct cros_ec_device *ec_dev, int need_len) cros_ec_spi_receive_response() argument 383 do_cros_ec_pkt_xfer_spi(struct cros_ec_device *ec_dev, struct cros_ec_command *ec_msg) do_cros_ec_pkt_xfer_spi() argument 529 do_cros_ec_cmd_xfer_spi(struct cros_ec_device *ec_dev, struct cros_ec_command *ec_msg) do_cros_ec_cmd_xfer_spi() argument 652 cros_ec_xfer_high_pri(struct cros_ec_device *ec_dev, struct cros_ec_command *ec_msg, cros_ec_xfer_fn_t fn) cros_ec_xfer_high_pri() argument 680 cros_ec_pkt_xfer_spi(struct cros_ec_device *ec_dev, struct cros_ec_command *ec_msg) cros_ec_pkt_xfer_spi() argument 686 cros_ec_cmd_xfer_spi(struct cros_ec_device *ec_dev, struct cros_ec_command *ec_msg) cros_ec_cmd_xfer_spi() argument 739 struct cros_ec_device *ec_dev; cros_ec_spi_probe() local 790 struct cros_ec_device *ec_dev = spi_get_drvdata(spi); cros_ec_spi_remove() local 798 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); cros_ec_spi_suspend() local 805 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); cros_ec_spi_resume() local [all...] |
H A D | cros_ec_rpmsg.c | 57 * @ec_dev: ChromeOS EC device 65 static int cros_ec_cmd_xfer_rpmsg(struct cros_ec_device *ec_dev, in cros_ec_cmd_xfer_rpmsg() argument 74 * @ec_dev: ChromeOS EC device 79 static int cros_ec_pkt_xfer_rpmsg(struct cros_ec_device *ec_dev, in cros_ec_pkt_xfer_rpmsg() argument 82 struct cros_ec_rpmsg *ec_rpmsg = ec_dev->priv; in cros_ec_pkt_xfer_rpmsg() 91 len = cros_ec_prepare_tx(ec_dev, ec_msg); in cros_ec_pkt_xfer_rpmsg() 94 dev_dbg(ec_dev->dev, "prepared, len=%d\n", len); in cros_ec_pkt_xfer_rpmsg() 97 ret = rpmsg_send(ec_rpmsg->ept, ec_dev->dout, len); in cros_ec_pkt_xfer_rpmsg() 99 dev_err(ec_dev->dev, "rpmsg send failed\n"); in cros_ec_pkt_xfer_rpmsg() 106 dev_err(ec_dev in cros_ec_pkt_xfer_rpmsg() 161 struct cros_ec_device *ec_dev = dev_get_drvdata(&rpdev->dev); cros_ec_rpmsg_callback() local 216 struct cros_ec_device *ec_dev; cros_ec_rpmsg_probe() local 263 struct cros_ec_device *ec_dev = dev_get_drvdata(&rpdev->dev); cros_ec_rpmsg_remove() local 274 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); cros_ec_rpmsg_suspend() local 281 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); cros_ec_rpmsg_resume() local [all...] |
H A D | cros_ec_i2c.c | 52 static int cros_ec_pkt_xfer_i2c(struct cros_ec_device *ec_dev, in cros_ec_pkt_xfer_i2c() argument 55 struct i2c_client *client = ec_dev->priv; in cros_ec_pkt_xfer_i2c() 75 if (packet_len > ec_dev->din_size) { in cros_ec_pkt_xfer_i2c() 79 in_buf = ec_dev->din; in cros_ec_pkt_xfer_i2c() 84 if (packet_len > ec_dev->dout_size) { in cros_ec_pkt_xfer_i2c() 88 out_buf = ec_dev->dout; in cros_ec_pkt_xfer_i2c() 96 ec_dev->dout++; in cros_ec_pkt_xfer_i2c() 97 ret = cros_ec_prepare_tx(ec_dev, msg); in cros_ec_pkt_xfer_i2c() 100 ec_dev->dout--; in cros_ec_pkt_xfer_i2c() 105 dev_dbg(ec_dev in cros_ec_pkt_xfer_i2c() 188 cros_ec_cmd_xfer_i2c(struct cros_ec_device *ec_dev, struct cros_ec_command *msg) cros_ec_cmd_xfer_i2c() argument 292 struct cros_ec_device *ec_dev = NULL; cros_ec_i2c_probe() local 321 struct cros_ec_device *ec_dev = i2c_get_clientdata(client); cros_ec_i2c_remove() local 329 struct cros_ec_device *ec_dev = to_ec_dev(dev); cros_ec_i2c_suspend() local 336 struct cros_ec_device *ec_dev = to_ec_dev(dev); cros_ec_i2c_resume() local [all...] |
H A D | cros_ec_proto_test.c | 19 struct cros_ec_device ec_dev; member 29 struct cros_ec_device *ec_dev = &priv->ec_dev; in cros_ec_proto_test_prepare_tx_legacy_normal() local 34 ec_dev->proto_version = 2; in cros_ec_proto_test_prepare_tx_legacy_normal() 43 ret = cros_ec_prepare_tx(ec_dev, msg); in cros_ec_proto_test_prepare_tx_legacy_normal() 46 KUNIT_EXPECT_EQ(test, ec_dev->dout[0], EC_CMD_VERSION0); in cros_ec_proto_test_prepare_tx_legacy_normal() 47 KUNIT_EXPECT_EQ(test, ec_dev->dout[1], EC_CMD_HELLO); in cros_ec_proto_test_prepare_tx_legacy_normal() 48 KUNIT_EXPECT_EQ(test, ec_dev->dout[2], EC_PROTO2_MAX_PARAM_SIZE); in cros_ec_proto_test_prepare_tx_legacy_normal() 50 KUNIT_EXPECT_EQ(test, ec_dev->dout[EC_MSG_TX_HEADER_BYTES + 0], 0xde); in cros_ec_proto_test_prepare_tx_legacy_normal() 51 KUNIT_EXPECT_EQ(test, ec_dev in cros_ec_proto_test_prepare_tx_legacy_normal() 72 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_prepare_tx_legacy_bad_msg_outsize() local 87 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_prepare_tx_normal() local 128 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_prepare_tx_bad_msg_outsize() local 141 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_check_result() local 181 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_pretest() local 196 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_normal() local 350 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_no_pd_return_error() local 415 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_no_pd_return0() local 480 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_legacy_normal_v3_return_error() local 545 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_legacy_normal_v3_return0() local 610 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_legacy_xfer_error() local 658 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_legacy_return_error() local 706 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_legacy_data_error() local 759 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_legacy_return0() local 807 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_no_mkbp() local 900 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_no_mkbp_return_error() local 988 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_no_mkbp_return0() local 1076 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_no_host_sleep() local 1182 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_no_host_sleep_return0() local 1289 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_default_wake_mask_return_error() local 1416 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_query_all_default_wake_mask_return0() local 1543 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_normal() local 1603 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_excess_msg_insize() local 1642 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_excess_msg_outsize_without_passthru() local 1665 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_excess_msg_outsize_with_passthru() local 1688 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_protocol_v3_normal() local 1708 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_protocol_v3_no_op() local 1725 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_protocol_v2_normal() local 1745 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_protocol_v2_no_op() local 1762 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_in_progress_normal() local 1817 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_in_progress_retries_eagain() local 1845 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_in_progress_retries_status_processing() local 1884 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_in_progress_xfer_error() local 1910 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_in_progress_return_error() local 1942 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_in_progress_return0() local 1972 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_status_normal() local 1992 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_status_xfer_error() local 2012 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_cmd_xfer_status_return_error() local 2060 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_get_next_event_no_mkbp_event() local 2108 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_get_next_event_mkbp_event_ec_suspended() local 2121 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_get_next_event_mkbp_event_version0() local 2170 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_get_next_event_mkbp_event_version2() local 2220 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_get_next_event_mkbp_event_host_event_rtc() local 2269 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_get_next_event_mkbp_event_host_event_masked() local 2319 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_get_host_event_no_mkbp_event() local 2331 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_get_host_event_not_host_event() local 2344 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_get_host_event_wrong_event_size() local 2358 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_get_host_event_normal() local 2396 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_check_features_not_cached() local 2449 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_get_sensor_count_normal() local 2494 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_get_sensor_count_xfer_error() local 2534 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_get_sensor_count_legacy() local 2599 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_ec_cmd() local 2650 struct cros_ec_device *ec_dev; cros_ec_proto_test_init() local 2683 struct cros_ec_device *ec_dev = &priv->ec_dev; cros_ec_proto_test_exit() local [all...] |
H A D | cros_ec_uart.c | 89 struct cros_ec_device *ec_dev = serdev_device_get_drvdata(serdev); in cros_ec_uart_rx_bytes() local 90 struct cros_ec_uart *ec_uart = ec_dev->priv; in cros_ec_uart_rx_bytes() 96 dev_warn(ec_dev->dev, "Bytes received out of band, dropping them.\n"); in cros_ec_uart_rx_bytes() 130 static int cros_ec_uart_pkt_xfer(struct cros_ec_device *ec_dev, in cros_ec_uart_pkt_xfer() argument 133 struct cros_ec_uart *ec_uart = ec_dev->priv; in cros_ec_uart_pkt_xfer() 141 len = cros_ec_prepare_tx(ec_dev, ec_msg); in cros_ec_uart_pkt_xfer() 142 dev_dbg(ec_dev->dev, "Prepared len=%d\n", len); in cros_ec_uart_pkt_xfer() 145 resp->data = ec_dev->din; in cros_ec_uart_pkt_xfer() 146 resp->max_size = ec_dev->din_size; in cros_ec_uart_pkt_xfer() 151 ret = serdev_device_write_buf(serdev, ec_dev in cros_ec_uart_pkt_xfer() 255 struct cros_ec_device *ec_dev; cros_ec_uart_probe() local 310 struct cros_ec_device *ec_dev = serdev_device_get_drvdata(serdev); cros_ec_uart_remove() local 317 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); cros_ec_uart_suspend() local 324 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); cros_ec_uart_resume() local [all...] |
H A D | cros_ec_ishtp.c | 119 * @ec_dev: CrOS EC MFD device. 135 struct cros_ec_device *ec_dev; member 147 cros_ec_irq_thread(0, client_data->ec_dev); in ish_evt_handler() 325 client_data->ec_dev->last_event_time = timestamp; in process_recv() 441 * @ec_dev: CrOS EC MFD device. 449 static int prepare_cros_ec_rx(struct cros_ec_device *ec_dev, in prepare_cros_ec_rx() argument 458 rv = cros_ec_check_result(ec_dev, msg); in prepare_cros_ec_rx() 463 dev_err(ec_dev->dev, "Packet too long (%d bytes, expected %d)", in prepare_cros_ec_rx() 477 dev_dbg(ec_dev->dev, "Bad received packet checksum %d\n", sum); in prepare_cros_ec_rx() 484 static int cros_ec_pkt_xfer_ish(struct cros_ec_device *ec_dev, in cros_ec_pkt_xfer_ish() argument 568 struct cros_ec_device *ec_dev; cros_ec_dev_init() local [all...] |
H A D | cros_ec_chardev.c | 34 struct cros_ec_dev *ec_dev; member 39 struct cros_ec_dev *ec_dev; member 70 ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); in ec_get_version() 98 struct cros_ec_device *ec_dev = priv->ec_dev->ec_dev; in cros_ec_chardev_mkbp_event() local 100 unsigned long event_bit = 1 << ec_dev->event_data.event_type; in cros_ec_chardev_mkbp_event() 101 int total_size = sizeof(*event) + ec_dev->event_size; in cros_ec_chardev_mkbp_event() 111 event->size = ec_dev->event_size; in cros_ec_chardev_mkbp_event() 112 event->event_type = ec_dev in cros_ec_chardev_mkbp_event() 163 struct cros_ec_dev *ec_dev = dev_get_drvdata(mdev->parent); cros_ec_chardev_open() local 206 struct cros_ec_dev *ec_dev = priv->ec_dev; cros_ec_chardev_read() local 256 struct cros_ec_dev *ec_dev = priv->ec_dev; cros_ec_chardev_release() local 319 struct cros_ec_device *ec_dev = ec->ec_dev; cros_ec_chardev_ioctl_readmem() local 379 struct cros_ec_dev *ec_dev = dev_get_drvdata(pdev->dev.parent); cros_ec_chardev_probe() local [all...] |
H A D | cros_ec_lpc.c | 320 struct cros_ec_device *ec_dev = data; in cros_ec_lpc_acpi_notify() local 324 ec_dev->last_event_time = cros_ec_get_time_ns(); in cros_ec_lpc_acpi_notify() 327 dev_emerg(ec_dev->dev, "CrOS EC Panic Reported. Shutdown is imminent!"); in cros_ec_lpc_acpi_notify() 328 blocking_notifier_call_chain(&ec_dev->panic_notifier, 0, ec_dev); in cros_ec_lpc_acpi_notify() 329 kobject_uevent_env(&ec_dev->dev->kobj, KOBJ_CHANGE, (char **)env); in cros_ec_lpc_acpi_notify() 336 if (ec_dev->mkbp_event_supported) in cros_ec_lpc_acpi_notify() 338 ret = cros_ec_get_next_event(ec_dev, NULL, in cros_ec_lpc_acpi_notify() 342 &ec_dev->event_notifier, 0, in cros_ec_lpc_acpi_notify() 343 ec_dev); in cros_ec_lpc_acpi_notify() 355 struct cros_ec_device *ec_dev; cros_ec_lpc_probe() local 465 struct cros_ec_device *ec_dev = platform_get_drvdata(pdev); cros_ec_lpc_remove() local 551 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); cros_ec_lpc_prepare() local 557 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); cros_ec_lpc_complete() local 563 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); cros_ec_lpc_suspend_late() local 570 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); cros_ec_lpc_resume_early() local [all...] |
H A D | cros_ec.h | 13 int cros_ec_register(struct cros_ec_device *ec_dev); 14 void cros_ec_unregister(struct cros_ec_device *ec_dev); 16 int cros_ec_suspend(struct cros_ec_device *ec_dev); 17 int cros_ec_suspend_late(struct cros_ec_device *ec_dev); 18 int cros_ec_suspend_prepare(struct cros_ec_device *ec_dev); 19 int cros_ec_resume(struct cros_ec_device *ec_dev); 20 int cros_ec_resume_early(struct cros_ec_device *ec_dev); 21 void cros_ec_resume_complete(struct cros_ec_device *ec_dev);
|
H A D | cros_usbpd_notify.c | 57 struct cros_ec_device *ec_dev) in cros_usbpd_get_event_and_notify() 67 if (!ec_dev) { in cros_usbpd_get_event_and_notify() 74 ret = cros_ec_cmd(ec_dev, 0, EC_CMD_PD_HOST_EVENT_STATUS, in cros_usbpd_get_event_and_notify() 101 struct cros_ec_device *ec_dev; in cros_usbpd_notify_probe_acpi() local 111 ec_dev = dev_get_drvdata(dev->parent); in cros_usbpd_notify_probe_acpi() 112 if (!ec_dev) { in cros_usbpd_notify_probe_acpi() 122 pdnotify->ec = ec_dev; in cros_usbpd_notify_probe_acpi() 171 struct cros_ec_device *ec_dev = (struct cros_ec_device *)data; in cros_usbpd_notify_plat() local 172 u32 host_event = cros_ec_get_host_event(ec_dev); in cros_usbpd_notify_plat() 179 cros_usbpd_get_event_and_notify(pdnotify->dev, ec_dev); in cros_usbpd_notify_plat() 56 cros_usbpd_get_event_and_notify(struct device *dev, struct cros_ec_device *ec_dev) cros_usbpd_get_event_and_notify() argument [all...] |
H A D | cros_ec_debugfs.c | 80 ret = cros_ec_cmd_xfer_status(ec->ec_dev, &snapshot_msg); in cros_ec_console_log_work() 97 ret = cros_ec_cmd_xfer_status(ec->ec_dev, in cros_ec_console_log_work() 204 struct cros_ec_device *ec_dev = debug_info->ec->ec_dev; in cros_ec_pdinfo_read() local 236 if (cros_ec_cmd_xfer_status(ec_dev, msg) < 0) in cros_ec_pdinfo_read() 249 static bool cros_ec_uptime_is_supported(struct cros_ec_device *ec_dev) in cros_ec_uptime_is_supported() argument 260 ret = cros_ec_cmd_xfer_status(ec_dev, &msg.cmd); in cros_ec_uptime_is_supported() 272 struct cros_ec_device *ec_dev = debug_info->ec->ec_dev; in cros_ec_uptime_read() local 286 ret = cros_ec_cmd_xfer_status(ec_dev, in cros_ec_uptime_read() 406 cros_ec_get_panicinfo(struct cros_ec_device *ec_dev, uint8_t *data, int data_size) cros_ec_get_panicinfo() argument 435 struct cros_ec_device *ec_dev = debug_info->ec->ec_dev; cros_ec_create_panicinfo() local [all...] |
/kernel/linux/linux-5.10/drivers/platform/chrome/ |
H A D | cros_ec.c | 37 struct cros_ec_device *ec_dev = data; in ec_irq_handler() local 39 ec_dev->last_event_time = cros_ec_get_time_ns(); in ec_irq_handler() 46 * @ec_dev: Device with events to process. 54 bool cros_ec_handle_event(struct cros_ec_device *ec_dev) in cros_ec_handle_event() argument 60 ret = cros_ec_get_next_event(ec_dev, &wake_event, &ec_has_more_events); in cros_ec_handle_event() 67 if (wake_event && device_may_wakeup(ec_dev->dev)) in cros_ec_handle_event() 68 pm_wakeup_event(ec_dev->dev, 0); in cros_ec_handle_event() 71 blocking_notifier_call_chain(&ec_dev->event_notifier, in cros_ec_handle_event() 72 0, ec_dev); in cros_ec_handle_event() 80 struct cros_ec_device *ec_dev in ec_irq_thread() local 90 cros_ec_sleep_event(struct cros_ec_device *ec_dev, u8 sleep_event) cros_ec_sleep_event() argument 145 struct cros_ec_device *ec_dev = container_of(nb, struct cros_ec_device, cros_ec_ready_event() local 168 cros_ec_register(struct cros_ec_device *ec_dev) cros_ec_register() argument 288 cros_ec_unregister(struct cros_ec_device *ec_dev) cros_ec_unregister() argument 307 cros_ec_suspend(struct cros_ec_device *ec_dev) cros_ec_suspend() argument 333 cros_ec_report_events_during_suspend(struct cros_ec_device *ec_dev) cros_ec_report_events_during_suspend() argument 355 cros_ec_resume(struct cros_ec_device *ec_dev) cros_ec_resume() argument [all...] |
H A D | cros_ec_proto.c | 55 static int prepare_packet(struct cros_ec_device *ec_dev, in prepare_packet() argument 63 BUG_ON(ec_dev->proto_version != EC_HOST_REQUEST_VERSION); in prepare_packet() 64 BUG_ON(msg->outsize + sizeof(*request) > ec_dev->dout_size); in prepare_packet() 66 out = ec_dev->dout; in prepare_packet() 88 static int send_command(struct cros_ec_device *ec_dev, in send_command() argument 94 if (ec_dev->proto_version > 2) in send_command() 95 xfer_fxn = ec_dev->pkt_xfer; in send_command() 97 xfer_fxn = ec_dev->cmd_xfer; in send_command() 105 dev_err_once(ec_dev->dev, in send_command() 111 ret = (*xfer_fxn)(ec_dev, ms in send_command() 170 cros_ec_prepare_tx(struct cros_ec_device *ec_dev, struct cros_ec_command *msg) cros_ec_prepare_tx() argument 204 cros_ec_check_result(struct cros_ec_device *ec_dev, struct cros_ec_command *msg) cros_ec_check_result() argument 235 cros_ec_get_host_event_wake_mask(struct cros_ec_device *ec_dev, struct cros_ec_command *msg, uint32_t *mask) cros_ec_get_host_event_wake_mask() argument 262 cros_ec_host_command_proto_query(struct cros_ec_device *ec_dev, int devidx, struct cros_ec_command *msg) cros_ec_host_command_proto_query() argument 307 cros_ec_host_command_proto_query_v2(struct cros_ec_device *ec_dev) cros_ec_host_command_proto_query_v2() argument 372 cros_ec_get_host_command_version_mask(struct cros_ec_device *ec_dev, u16 cmd, u32 *mask) cros_ec_get_host_command_version_mask() argument 411 cros_ec_query_all(struct cros_ec_device *ec_dev) cros_ec_query_all() argument 582 cros_ec_cmd_xfer(struct cros_ec_device *ec_dev, struct cros_ec_command *msg) cros_ec_cmd_xfer() argument 642 cros_ec_cmd_xfer_status(struct cros_ec_device *ec_dev, struct cros_ec_command *msg) cros_ec_cmd_xfer_status() argument 662 get_next_event_xfer(struct cros_ec_device *ec_dev, struct cros_ec_command *msg, struct ec_response_get_next_event_v1 *event, int version, uint32_t size) get_next_event_xfer() argument 683 get_next_event(struct cros_ec_device *ec_dev) get_next_event() argument 707 get_keyboard_state_event(struct cros_ec_device *ec_dev) get_keyboard_state_event() argument 744 cros_ec_get_next_event(struct cros_ec_device *ec_dev, bool *wake_event, bool *has_more_events) cros_ec_get_next_event() argument 842 cros_ec_get_host_event(struct cros_ec_device *ec_dev) cros_ec_get_host_event() argument 923 struct cros_ec_device *ec_dev = ec->ec_dev; cros_ec_get_sensor_count() local [all...] |
H A D | cros_ec_spi.c | 82 typedef int (*cros_ec_xfer_fn_t) (struct cros_ec_device *ec_dev, 90 * @ec_dev: ChromeOS EC device 98 struct cros_ec_device *ec_dev; member 117 static int terminate_request(struct cros_ec_device *ec_dev) in terminate_request() argument 119 struct cros_ec_spi *ec_spi = ec_dev->priv; in terminate_request() 139 dev_err(ec_dev->dev, in terminate_request() 150 * Assumes buf is a pointer into the ec_dev->din buffer 152 * @ec_dev: ChromeOS EC device. 156 static int receive_n_bytes(struct cros_ec_device *ec_dev, u8 *buf, int n) in receive_n_bytes() argument 158 struct cros_ec_spi *ec_spi = ec_dev in receive_n_bytes() 191 cros_ec_spi_receive_packet(struct cros_ec_device *ec_dev, int need_len) cros_ec_spi_receive_packet() argument 300 cros_ec_spi_receive_response(struct cros_ec_device *ec_dev, int need_len) cros_ec_spi_receive_response() argument 388 do_cros_ec_pkt_xfer_spi(struct cros_ec_device *ec_dev, struct cros_ec_command *ec_msg) do_cros_ec_pkt_xfer_spi() argument 532 do_cros_ec_cmd_xfer_spi(struct cros_ec_device *ec_dev, struct cros_ec_command *ec_msg) do_cros_ec_cmd_xfer_spi() argument 653 cros_ec_xfer_high_pri(struct cros_ec_device *ec_dev, struct cros_ec_command *ec_msg, cros_ec_xfer_fn_t fn) cros_ec_xfer_high_pri() argument 681 cros_ec_pkt_xfer_spi(struct cros_ec_device *ec_dev, struct cros_ec_command *ec_msg) cros_ec_pkt_xfer_spi() argument 687 cros_ec_cmd_xfer_spi(struct cros_ec_device *ec_dev, struct cros_ec_command *ec_msg) cros_ec_cmd_xfer_spi() argument 740 struct cros_ec_device *ec_dev; cros_ec_spi_probe() local 792 struct cros_ec_device *ec_dev = spi_get_drvdata(spi); cros_ec_spi_remove() local 800 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); cros_ec_spi_suspend() local 807 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); cros_ec_spi_resume() local [all...] |
H A D | cros_ec_rpmsg.c | 57 * @ec_dev: ChromeOS EC device 65 static int cros_ec_cmd_xfer_rpmsg(struct cros_ec_device *ec_dev, in cros_ec_cmd_xfer_rpmsg() argument 74 * @ec_dev: ChromeOS EC device 79 static int cros_ec_pkt_xfer_rpmsg(struct cros_ec_device *ec_dev, in cros_ec_pkt_xfer_rpmsg() argument 82 struct cros_ec_rpmsg *ec_rpmsg = ec_dev->priv; in cros_ec_pkt_xfer_rpmsg() 91 len = cros_ec_prepare_tx(ec_dev, ec_msg); in cros_ec_pkt_xfer_rpmsg() 92 dev_dbg(ec_dev->dev, "prepared, len=%d\n", len); in cros_ec_pkt_xfer_rpmsg() 95 ret = rpmsg_send(ec_rpmsg->ept, ec_dev->dout, len); in cros_ec_pkt_xfer_rpmsg() 97 dev_err(ec_dev->dev, "rpmsg send failed\n"); in cros_ec_pkt_xfer_rpmsg() 104 dev_err(ec_dev in cros_ec_pkt_xfer_rpmsg() 152 struct cros_ec_device *ec_dev = dev_get_drvdata(&ec_rpmsg->rpdev->dev); cros_ec_rpmsg_host_event_function() local 163 struct cros_ec_device *ec_dev = dev_get_drvdata(&rpdev->dev); cros_ec_rpmsg_callback() local 218 struct cros_ec_device *ec_dev; cros_ec_rpmsg_probe() local 265 struct cros_ec_device *ec_dev = dev_get_drvdata(&rpdev->dev); cros_ec_rpmsg_remove() local 276 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); cros_ec_rpmsg_suspend() local 283 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); cros_ec_rpmsg_resume() local [all...] |
H A D | cros_ec_i2c.c | 52 static int cros_ec_pkt_xfer_i2c(struct cros_ec_device *ec_dev, in cros_ec_pkt_xfer_i2c() argument 55 struct i2c_client *client = ec_dev->priv; in cros_ec_pkt_xfer_i2c() 75 BUG_ON(packet_len > ec_dev->din_size); in cros_ec_pkt_xfer_i2c() 76 in_buf = ec_dev->din; in cros_ec_pkt_xfer_i2c() 81 BUG_ON(packet_len > ec_dev->dout_size); in cros_ec_pkt_xfer_i2c() 82 out_buf = ec_dev->dout; in cros_ec_pkt_xfer_i2c() 90 ec_dev->dout++; in cros_ec_pkt_xfer_i2c() 91 ret = cros_ec_prepare_tx(ec_dev, msg); in cros_ec_pkt_xfer_i2c() 92 ec_dev->dout--; in cros_ec_pkt_xfer_i2c() 97 dev_dbg(ec_dev in cros_ec_pkt_xfer_i2c() 180 cros_ec_cmd_xfer_i2c(struct cros_ec_device *ec_dev, struct cros_ec_command *msg) cros_ec_cmd_xfer_i2c() argument 285 struct cros_ec_device *ec_dev = NULL; cros_ec_i2c_probe() local 314 struct cros_ec_device *ec_dev = i2c_get_clientdata(client); cros_ec_i2c_remove() local 322 struct cros_ec_device *ec_dev = to_ec_dev(dev); cros_ec_i2c_suspend() local 329 struct cros_ec_device *ec_dev = to_ec_dev(dev); cros_ec_i2c_resume() local [all...] |
H A D | cros_ec_ishtp.c | 116 * @ec_dev: CrOS EC MFD device. 132 struct cros_ec_device *ec_dev; member 143 struct cros_ec_device *ec_dev = client_data->ec_dev; in ish_evt_handler() local 147 ec_has_more_events = cros_ec_handle_event(ec_dev); in ish_evt_handler() 326 client_data->ec_dev->last_event_time = timestamp; in process_recv() 442 * @ec_dev: CrOS EC MFD device. 450 static int prepare_cros_ec_rx(struct cros_ec_device *ec_dev, in prepare_cros_ec_rx() argument 459 rv = cros_ec_check_result(ec_dev, msg); in prepare_cros_ec_rx() 464 dev_err(ec_dev in prepare_cros_ec_rx() 485 cros_ec_pkt_xfer_ish(struct cros_ec_device *ec_dev, struct cros_ec_command *msg) cros_ec_pkt_xfer_ish() argument 567 struct cros_ec_device *ec_dev; cros_ec_dev_init() local [all...] |
H A D | cros_ec_chardev.c | 34 struct cros_ec_dev *ec_dev; member 39 struct cros_ec_dev *ec_dev; member 70 ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); in ec_get_version() 98 struct cros_ec_device *ec_dev = priv->ec_dev->ec_dev; in cros_ec_chardev_mkbp_event() local 100 unsigned long event_bit = 1 << ec_dev->event_data.event_type; in cros_ec_chardev_mkbp_event() 101 int total_size = sizeof(*event) + ec_dev->event_size; in cros_ec_chardev_mkbp_event() 111 event->size = ec_dev->event_size; in cros_ec_chardev_mkbp_event() 112 event->event_type = ec_dev in cros_ec_chardev_mkbp_event() 163 struct cros_ec_dev *ec_dev = dev_get_drvdata(mdev->parent); cros_ec_chardev_open() local 206 struct cros_ec_dev *ec_dev = priv->ec_dev; cros_ec_chardev_read() local 256 struct cros_ec_dev *ec_dev = priv->ec_dev; cros_ec_chardev_release() local 319 struct cros_ec_device *ec_dev = ec->ec_dev; cros_ec_chardev_ioctl_readmem() local 379 struct cros_ec_dev *ec_dev = dev_get_drvdata(pdev->dev.parent); cros_ec_chardev_probe() local [all...] |
H A D | cros_ec_lpc.c | 315 struct cros_ec_device *ec_dev = data; in cros_ec_lpc_acpi_notify() local 319 ec_dev->last_event_time = cros_ec_get_time_ns(); in cros_ec_lpc_acpi_notify() 321 if (ec_dev->mkbp_event_supported) in cros_ec_lpc_acpi_notify() 323 ret = cros_ec_get_next_event(ec_dev, NULL, in cros_ec_lpc_acpi_notify() 327 &ec_dev->event_notifier, 0, in cros_ec_lpc_acpi_notify() 328 ec_dev); in cros_ec_lpc_acpi_notify() 340 struct cros_ec_device *ec_dev; in cros_ec_lpc_probe() local 382 ec_dev = devm_kzalloc(dev, sizeof(*ec_dev), GFP_KERNEL); in cros_ec_lpc_probe() 383 if (!ec_dev) in cros_ec_lpc_probe() 434 struct cros_ec_device *ec_dev = platform_get_drvdata(pdev); cros_ec_lpc_remove() local 510 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); cros_ec_lpc_suspend() local 517 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); cros_ec_lpc_resume() local [all...] |
H A D | cros_usbpd_notify.c | 59 * @ec_dev: EC device 68 static int cros_ec_pd_command(struct cros_ec_device *ec_dev, in cros_ec_pd_command() argument 89 ret = cros_ec_cmd_xfer_status(ec_dev, msg); in cros_ec_pd_command() 101 struct cros_ec_device *ec_dev) in cros_usbpd_get_event_and_notify() 111 if (!ec_dev) { in cros_usbpd_get_event_and_notify() 118 ret = cros_ec_pd_command(ec_dev, EC_CMD_PD_HOST_EVENT_STATUS, in cros_usbpd_get_event_and_notify() 147 struct cros_ec_device *ec_dev; in cros_usbpd_notify_probe_acpi() local 157 ec_dev = dev_get_drvdata(dev->parent); in cros_usbpd_notify_probe_acpi() 158 if (!ec_dev) { in cros_usbpd_notify_probe_acpi() 168 pdnotify->ec = ec_dev; in cros_usbpd_notify_probe_acpi() 100 cros_usbpd_get_event_and_notify(struct device *dev, struct cros_ec_device *ec_dev) cros_usbpd_get_event_and_notify() argument 217 struct cros_ec_device *ec_dev = (struct cros_ec_device *)data; cros_usbpd_notify_plat() local [all...] |
H A D | cros_ec.h | 11 int cros_ec_register(struct cros_ec_device *ec_dev); 12 int cros_ec_unregister(struct cros_ec_device *ec_dev); 14 int cros_ec_suspend(struct cros_ec_device *ec_dev); 15 int cros_ec_resume(struct cros_ec_device *ec_dev); 17 bool cros_ec_handle_event(struct cros_ec_device *ec_dev);
|
/kernel/linux/linux-6.6/include/linux/platform_data/ |
H A D | cros_ec_proto.h | 218 * @ec_dev: cros_ec_device structure to talk to the physical device. 227 struct cros_ec_device *ec_dev; member 237 int cros_ec_prepare_tx(struct cros_ec_device *ec_dev, 240 int cros_ec_check_result(struct cros_ec_device *ec_dev, 243 int cros_ec_cmd_xfer(struct cros_ec_device *ec_dev, 246 int cros_ec_cmd_xfer_status(struct cros_ec_device *ec_dev, 249 int cros_ec_query_all(struct cros_ec_device *ec_dev); 251 int cros_ec_get_next_event(struct cros_ec_device *ec_dev, 255 u32 cros_ec_get_host_event(struct cros_ec_device *ec_dev); 261 int cros_ec_cmd(struct cros_ec_device *ec_dev, unsigne [all...] |
/kernel/linux/linux-6.6/drivers/power/supply/ |
H A D | cros_peripheral_charger.c | 40 struct cros_ec_dev *ec_dev; member 62 struct cros_ec_dev *ec_dev = charger->ec_dev; in cros_pchg_ec_command() local 71 msg->command = ec_dev->cmd_offset + command; in cros_pchg_ec_command() 244 struct cros_ec_device *ec_dev = data; in cros_ec_notify() local 249 if (ec_dev->event_data.event_type != EC_MKBP_EVENT_PCHG || in cros_ec_notify() 250 ec_dev->event_size != sizeof(host_event)) in cros_ec_notify() 253 host_event = get_unaligned_le32(&ec_dev->event_data.data.host_event); in cros_ec_notify() 264 struct cros_ec_dev *ec_dev = dev_get_drvdata(dev->parent); in cros_pchg_probe() local 265 struct cros_ec_device *ec_device = ec_dev in cros_pchg_probe() [all...] |