Home
last modified time | relevance | path

Searched refs:ec_dev (Results 1 - 25 of 63) sorted by relevance

123

/kernel/linux/linux-6.6/drivers/platform/chrome/
H A Dcros_ec.c36 * @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 Dcros_ec_proto.c55 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 Dcros_ec_spi.c82 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 Dcros_ec_rpmsg.c57 * @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 Dcros_ec_i2c.c52 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 Dcros_ec_proto_test.c19 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 Dcros_ec_uart.c89 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 Dcros_ec_ishtp.c119 * @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 Dcros_ec_chardev.c34 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 Dcros_ec_lpc.c320 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 Dcros_ec.h13 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 Dcros_usbpd_notify.c57 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 Dcros_ec_debugfs.c80 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 Dcros_ec.c37 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 Dcros_ec_proto.c55 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 Dcros_ec_spi.c82 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 Dcros_ec_rpmsg.c57 * @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 Dcros_ec_i2c.c52 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 Dcros_ec_ishtp.c116 * @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 Dcros_ec_chardev.c34 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 Dcros_ec_lpc.c315 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 Dcros_usbpd_notify.c59 * @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 Dcros_ec.h11 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 Dcros_ec_proto.h218 * @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 Dcros_peripheral_charger.c40 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...]

Completed in 19 milliseconds

123