Home
last modified time | relevance | path

Searched full:ec (Results 1 – 25 of 447) sorted by relevance

12345678910>>...18

/linux/drivers/acpi/
H A Dec.c3 * ec.c - ACPI Embedded Controller Driver (v3)
17 #define pr_fmt(fmt) "ACPI: EC: " fmt
38 /* EC status register */
43 #define ACPI_EC_FLAG_SCI 0x20 /* EC-SCI occurred */
47 * This leads to lots of practical timing issues for the host EC driver.
48 * The following variations are defined (from the target EC firmware's
57 * kind of EC firmware has implemented an event queue and will
77 /* EC commands */
86 #define ACPI_EC_DELAY 500 /* Wait 500ms max. during EC ops */
88 #define ACPI_EC_UDELAY_POLL 550 /* Wait 1ms for EC transaction polling */
[all …]
/linux/arch/arm/mach-rpc/
H A Decard.c58 ecard_t *ec; member
70 void (*init)(ecard_t *ec);
77 static void atomwide_3p_quirk(ecard_t *ec);
121 struct expansion_card *ec = req->ec; in ecard_task_reset() local
124 res = ec->slot_no == 8 in ecard_task_reset()
125 ? &ec->resource[ECARD_RES_MEMC] in ecard_task_reset()
126 : ec->easi in ecard_task_reset()
127 ? &ec->resource[ECARD_RES_EASI] in ecard_task_reset()
128 : &ec->resource[ECARD_RES_IOCSYNC]; in ecard_task_reset()
130 ecard_loader_reset(res->start, ec->loader); in ecard_task_reset()
[all …]
/linux/drivers/platform/arm64/
H A Dlenovo-thinkpad-t14s.c76 * codes used by the EC. For example 0x16 (T14S_EC_EVT_KEY_FN_F7) is mapped
93 struct t14s_ec *ec; member
118 struct t14s_ec *ec = context; in t14s_ec_write() local
119 struct i2c_client *client = to_i2c_client(ec->dev); in t14s_ec_write()
134 struct t14s_ec *ec = context; in t14s_ec_read() local
135 struct i2c_client *client = to_i2c_client(ec->dev); in t14s_ec_read()
174 static int t14s_ec_read_evt(struct t14s_ec *ec, u8 *val) in t14s_ec_read_evt() argument
176 struct i2c_client *client = to_i2c_client(ec->dev); in t14s_ec_read_evt()
209 static void t14s_ec_write_sequence(struct t14s_ec *ec, u8 reg, u8 val, u8 cnt) in t14s_ec_write_sequence() argument
214 regmap_write(ec in t14s_ec_write_sequence()
217 t14s_led_set_status(struct t14s_ec * ec,struct t14s_ec_led_classdev * led,const enum t14s_ec_led_status_t ledstatus) t14s_led_set_status() argument
267 t14s_init_led(struct t14s_ec * ec,struct t14s_ec_led_classdev * led,u8 id,const char * name) t14s_init_led() argument
281 t14s_leds_probe(struct t14s_ec * ec) t14s_leds_probe() argument
310 struct t14s_ec *ec = container_of(led_cdev, struct t14s_ec, t14s_kbd_bl_set() local
332 struct t14s_ec *ec = container_of(led_cdev, struct t14s_ec, t14s_kbd_bl_get() local
344 t14s_kbd_bl_update(struct t14s_ec * ec) t14s_kbd_bl_update() argument
351 t14s_kbd_backlight_probe(struct t14s_ec * ec) t14s_kbd_backlight_probe() argument
362 t14s_audio_led_get(struct t14s_ec * ec,u8 led_bit) t14s_audio_led_get() argument
374 t14s_audio_led_set(struct t14s_ec * ec,u8 led_mask,enum led_brightness brightness) t14s_audio_led_set() argument
383 struct t14s_ec *ec = container_of(led_cdev, struct t14s_ec, t14s_mic_mute_led_get() local
392 struct t14s_ec *ec = container_of(led_cdev, struct t14s_ec, t14s_mic_mute_led_set() local
400 struct t14s_ec *ec = container_of(led_cdev, struct t14s_ec, t14s_spk_mute_led_get() local
409 struct t14s_ec *ec = container_of(led_cdev, struct t14s_ec, t14s_spk_mute_led_set() local
415 t14s_kbd_audio_led_probe(struct t14s_ec * ec) t14s_kbd_audio_led_probe() argument
455 t14s_input_probe(struct t14s_ec * ec) t14s_input_probe() argument
477 struct t14s_ec *ec = data; t14s_ec_irq_handler() local
561 struct t14s_ec *ec; t14s_ec_probe() local
611 struct t14s_ec *ec = dev_get_drvdata(dev); t14s_ec_suspend() local
623 struct t14s_ec *ec = dev_get_drvdata(dev); t14s_ec_resume() local
[all...]
H A Dlenovo-yoga-c630.c38 static int yoga_c630_ec_request(struct yoga_c630_ec *ec, u8 *req, size_t req_len, in yoga_c630_ec_request() argument
43 lockdep_assert_held(&ec->lock); in yoga_c630_ec_request()
45 ret = i2c_smbus_write_i2c_block_data(ec->client, LENOVO_EC_REQUEST_REG, in yoga_c630_ec_request()
50 return i2c_smbus_read_i2c_block_data(ec->client, LENOVO_EC_RESPONSE_REG, in yoga_c630_ec_request()
54 int yoga_c630_ec_read8(struct yoga_c630_ec *ec, u8 addr) in yoga_c630_ec_read8() argument
60 guard(mutex)(&ec->lock); in yoga_c630_ec_read8()
63 ret = yoga_c630_ec_request(ec, req, sizeof(req), &val, 1); in yoga_c630_ec_read8()
71 int yoga_c630_ec_read16(struct yoga_c630_ec *ec, u8 addr) in yoga_c630_ec_read16() argument
82 guard(mutex)(&ec->lock); in yoga_c630_ec_read16()
85 ret = yoga_c630_ec_request(ec, re in yoga_c630_ec_read16()
98 yoga_c630_ec_ucsi_get_version(struct yoga_c630_ec * ec) yoga_c630_ec_ucsi_get_version() argument
121 yoga_c630_ec_ucsi_write(struct yoga_c630_ec * ec,const u8 req[YOGA_C630_UCSI_WRITE_SIZE]) yoga_c630_ec_ucsi_write() argument
135 yoga_c630_ec_ucsi_read(struct yoga_c630_ec * ec,u8 resp[YOGA_C630_UCSI_READ_SIZE]) yoga_c630_ec_ucsi_read() argument
152 struct yoga_c630_ec *ec = data; yoga_c630_ec_thread_intr() local
174 yoga_c630_ec_register_notify(struct yoga_c630_ec * ec,struct notifier_block * nb) yoga_c630_ec_register_notify() argument
188 yoga_c630_ec_unregister_notify(struct yoga_c630_ec * ec,struct notifier_block * nb) yoga_c630_ec_unregister_notify() argument
195 yoga_c630_aux_init(struct device * parent,const char * name,struct yoga_c630_ec * ec) yoga_c630_aux_init() argument
209 struct yoga_c630_ec *ec; yoga_c630_ec_probe() local
[all...]
H A Dhuawei-gaokun-ec.c3 * huawei-gaokun-ec - An EC driver for HUAWEI Matebook E Go
19 #include <linux/platform_data/huawei-gaokun-ec.h>
118 struct mutex lock; /* EC transaction lock */
125 static int gaokun_ec_request(struct gaokun_ec *ec, const u8 *req, in gaokun_ec_request() argument
128 struct i2c_client *client = ec->client; in gaokun_ec_request()
144 guard(mutex)(&ec->lock); in gaokun_ec_request()
153 dev_err(&client->dev, "EC transaction error %d\n", ret); in gaokun_ec_request()
165 * gaokun_ec_read - Read from EC
166 * @ec
182 gaokun_ec_read(struct gaokun_ec * ec,const u8 * req,size_t resp_len,u8 * resp) gaokun_ec_read() argument
199 gaokun_ec_write(struct gaokun_ec * ec,const u8 * req) gaokun_ec_write() argument
207 gaokun_ec_read_byte(struct gaokun_ec * ec,const u8 * req,u8 * byte) gaokun_ec_read_byte() argument
226 gaokun_ec_register_notify(struct gaokun_ec * ec,struct notifier_block * nb) gaokun_ec_register_notify() argument
240 gaokun_ec_unregister_notify(struct gaokun_ec * ec,struct notifier_block * nb) gaokun_ec_unregister_notify() argument
258 gaokun_ec_psy_multi_read(struct gaokun_ec * ec,u8 reg,size_t resp_len,u8 * resp) gaokun_ec_psy_multi_read() argument
286 gaokun_ec_psy_get_smart_charge(struct gaokun_ec * ec,u8 resp[GAOKUN_SMART_CHARGE_DATA_SIZE]) gaokun_ec_psy_get_smart_charge() argument
316 gaokun_ec_psy_set_smart_charge(struct gaokun_ec * ec,const u8 req[GAOKUN_SMART_CHARGE_DATA_SIZE]) gaokun_ec_psy_set_smart_charge() argument
341 gaokun_ec_psy_get_smart_charge_enable(struct gaokun_ec * ec,bool * on) gaokun_ec_psy_get_smart_charge_enable() argument
365 gaokun_ec_psy_set_smart_charge_enable(struct gaokun_ec * ec,bool on) gaokun_ec_psy_set_smart_charge_enable() argument
386 gaokun_ec_ucsi_read(struct gaokun_ec * ec,u8 resp[GAOKUN_UCSI_READ_SIZE]) gaokun_ec_ucsi_read() argument
411 gaokun_ec_ucsi_write(struct gaokun_ec * ec,const u8 req[GAOKUN_UCSI_WRITE_SIZE]) gaokun_ec_ucsi_write() argument
431 gaokun_ec_ucsi_get_reg(struct gaokun_ec * ec,struct gaokun_ucsi_reg * ureg) gaokun_ec_ucsi_get_reg() argument
456 gaokun_ec_ucsi_pan_ack(struct gaokun_ec * ec,int port_id) gaokun_ec_ucsi_pan_ack() argument
474 gaokun_ec_get_fn_lock(struct gaokun_ec * ec,bool * on) gaokun_ec_get_fn_lock() argument
495 gaokun_ec_set_fn_lock(struct gaokun_ec * ec,bool on) gaokun_ec_set_fn_lock() argument
508 struct gaokun_ec *ec = dev_get_drvdata(dev); fn_lock_show() local
523 struct gaokun_ec *ec = dev_get_drvdata(dev); fn_lock_store() local
555 gaokun_ec_get_temp(struct gaokun_ec * ec,u8 idx,long * temp) gaokun_ec_get_temp() argument
584 struct gaokun_ec *ec = dev_get_drvdata(dev); gaokun_ec_hwmon_read() local
622 struct gaokun_ec *ec = dev_get_drvdata(dev); gaokun_ec_suspend() local
640 struct gaokun_ec *ec = dev_get_drvdata(dev); gaokun_ec_resume() local
678 gaokun_aux_init(struct device * parent,const char * name,struct gaokun_ec * ec) gaokun_aux_init() argument
716 struct gaokun_ec *ec = data; gaokun_ec_irq_handler() local
746 struct gaokun_ec *ec; gaokun_ec_probe() local
[all...]
/linux/drivers/md/
H A Ddm-ebs-target.c37 static inline sector_t __sector_to_block(struct ebs_c *ec, sector_t sector) in __sector_to_block() argument
39 return sector >> ec->block_shift; in __sector_to_block()
48 static inline unsigned int __nr_blocks(struct ebs_c *ec, struct bio *bio) in __nr_blocks() argument
50 sector_t end_sector = __block_mod(bio->bi_iter.bi_sector, ec->u_bs) + bio_sectors(bio); in __nr_blocks()
52 return __sector_to_block(ec, end_sector) + (__block_mod(end_sector, ec->u_bs) ? 1 : 0); in __nr_blocks()
65 static int __ebs_rw_bvec(struct ebs_c *ec, enum req_op op, struct bio_vec *bv, in __ebs_rw_bvec() argument
72 unsigned int buf_off = to_bytes(__block_mod(iter->bi_sector, ec->u_bs)); in __ebs_rw_bvec()
73 sector_t block = __sector_to_block(ec, iter->bi_sector); in __ebs_rw_bvec()
83 cur_len = min(dm_bufio_get_block_size(ec->bufio) - buf_off, bv_len); in __ebs_rw_bvec()
86 if (op == REQ_OP_READ || buf_off || bv_len < dm_bufio_get_block_size(ec->bufio)) in __ebs_rw_bvec()
[all …]
/linux/drivers/platform/olpc/
H A Dolpc-ec.c19 #include <linux/olpc-ec.h>
42 /* Pending EC commands */
49 * EC event mask to be applied during suspend (defining wakeup
55 * Running an EC command while suspending means we don't always finish
56 * the command before the machine suspends. This means that the EC
58 * of time (while the OS is asleep) the EC times out and restarts its
61 * the EC... and everyone's uphappy.
79 struct olpc_ec_priv *ec = container_of(w, struct olpc_ec_priv, worker); in olpc_ec_worker() local
84 spin_lock_irqsave(&ec->cmd_q_lock, flags); in olpc_ec_worker()
85 if (!list_empty(&ec->cmd_q)) { in olpc_ec_worker()
[all …]
/linux/drivers/mfd/
H A Dcros_ec_dev.c21 #define DRV_NAME "cros-ec-dev"
75 { .name = "cros-ec-cec", },
79 { .name = "cros-ec-gpio", },
83 { .name = "cros-ec-rtc", },
87 { .name = "cros-ec-sensorhub", },
100 { .name = "cros-ec-wdt", }
104 { .name = "cros-ec-led", },
158 { .name = "cros-ec-chardev", },
159 { .name = "cros-ec-debugfs", },
160 { .name = "cros-ec
191 struct cros_ec_dev *ec = kzalloc_obj(*ec); ec_device_probe() local
358 struct cros_ec_dev *ec = dev_get_drvdata(&pdev->dev); ec_device_remove() local
[all...]
H A Dntxec.c150 struct ntxec *ec; in ntxec_probe() local
156 ec = devm_kmalloc(&client->dev, sizeof(*ec), GFP_KERNEL); in ntxec_probe()
157 if (!ec) in ntxec_probe()
160 ec->dev = &client->dev; in ntxec_probe()
162 ec->regmap = devm_regmap_init_i2c(client, &regmap_config); in ntxec_probe()
163 if (IS_ERR(ec->regmap)) { in ntxec_probe()
164 dev_err(ec->dev, "Failed to set up regmap for device\n"); in ntxec_probe()
165 return PTR_ERR(ec->regmap); in ntxec_probe()
169 res = regmap_read(ec->regmap, NTXEC_REG_VERSION, &version); in ntxec_probe()
171 dev_err(ec->dev, "Failed to read firmware version number\n"); in ntxec_probe()
[all …]
/linux/drivers/platform/chrome/wilco_ec/
H A Dmailbox.c7 * The Wilco EC is similar to a typical ChromeOS embedded controller.
9 * protocol, but with some important differences. The EC firmware does
21 #include <linux/platform_data/wilco-ec.h>
32 /* Version of EC protocol */
41 /* EC response flags */
43 #define EC_CMDR_PENDING BIT(1) /* Write pending to EC */
44 #define EC_CMDR_BUSY BIT(2) /* EC is busy processing a command */
48 * wilco_ec_response_timed_out() - Wait for EC response.
49 * @ec: EC device.
51 * Return: true if EC timed out, false if EC did not time out.
[all …]
H A Dkeyboard_leds.c7 * Since the EC will never change the backlight level of its own accord,
14 #include <linux/platform_data/wilco-ec.h>
22 struct wilco_ec_device *ec; member
33 * struct wilco_keyboard_leds_msg - Message to/from EC for keyboard LED control.
35 * @status: Set by EC to 0 on success, 0xFF on failure.
55 static int send_kbbl_msg(struct wilco_ec_device *ec, in send_kbbl_msg() argument
69 ret = wilco_ec_mailbox(ec, &msg); in send_kbbl_msg()
71 dev_err(ec->dev, in send_kbbl_msg()
79 static int set_kbbl(struct wilco_ec_device *ec, enum led_brightness brightness) in set_kbbl() argument
91 ret = send_kbbl_msg(ec, &request, &response); in set_kbbl()
[all …]
H A Dsysfs.c5 * Sysfs properties to view and modify EC-controlled features on Wilco devices.
8 * See Documentation/ABI/testing/sysfs-platform-wilco-ec for more information.
13 #include <linux/platform_data/wilco-ec.h>
46 u8 status; /* Set by EC to 0 on success, other value on failure */
47 u8 val; /* When getting, set by EC to either 0 or 1 */
73 struct wilco_ec_device *ec = dev_get_drvdata(dev); in boot_on_ac_store() local
94 ret = wilco_ec_mailbox(ec, &msg); in boot_on_ac_store()
105 struct wilco_ec_device *ec = dev_get_drvdata(dev); in get_info() local
118 ret = wilco_ec_mailbox(ec, &msg); in get_info()
157 static int send_usb_charge(struct wilco_ec_device *ec, in send_usb_charge() argument
[all …]
/linux/drivers/platform/chrome/
H A Dcros_ec_sensorhub.c21 #define DRV_NAME "cros-ec-sensorhub"
57 struct cros_ec_dev *ec = sensorhub->ec; in cros_ec_sensorhub_register() local
72 ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg); in cros_ec_sensorhub_register()
74 /* The EC is still busy initializing sensors. */ in cros_ec_sensorhub_register()
81 dev_err(dev, "no info for EC sensor %d : %d/%d\n", in cros_ec_sensorhub_register()
92 name = "cros-ec-accel"; in cros_ec_sensorhub_register()
95 name = "cros-ec-baro"; in cros_ec_sensorhub_register()
98 name = "cros-ec-gyro"; in cros_ec_sensorhub_register()
101 name = "cros-ec in cros_ec_sensorhub_register()
143 struct cros_ec_dev *ec = dev_get_drvdata(dev->parent); cros_ec_sensorhub_probe() local
244 struct cros_ec_dev *ec = sensorhub->ec; cros_ec_sensorhub_suspend() local
254 struct cros_ec_dev *ec = sensorhub->ec; cros_ec_sensorhub_resume() local
[all...]
H A Dcros_ec_debugfs.c2 // Debug logs for the ChromeOS EC
21 #define DRV_NAME "cros-ec-debugfs"
31 MODULE_PARM_DESC(log_poll_period_ms, "EC log polling period(ms)");
37 * struct cros_ec_debugfs - EC debugging information.
39 * @ec: EC device this debugfs information belongs to
42 * @read_msg: preallocated EC command and buffer to read console log
44 * @log_poll_work: recurring task to poll EC for new console log data
47 * when EC panic
50 struct cros_ec_dev *ec; member
52 /* EC log */
[all …]
H A DKconfig81 Controller (EC) providing keyboard, battery and power services.
83 protocol for talking to the EC is defined by the bus driver.
94 EC through an I2C bus. This uses a simple byte-level protocol with
102 If you say Y here, you get support for talking to the ChromeOS EC
104 checksum. Also since there's no addition EC-to-host interrupt, this
115 If you say Y here, you get support for talking to the ChromeOS EC
128 If you say Y here, you get support for talking to the ChromeOS EC
129 through a SPI bus, using a byte-level protocol. Since the EC's
137 If you say Y here, you get support for talking to the ChromeOS EC
148 If you say Y here, you get support for talking to the ChromeOS EC
[all...]
/linux/include/linux/platform_data/
H A Dwilco-ec.h15 #define WILCO_EC_FLAG_NO_RESPONSE BIT(0) /* EC does not respond */
31 * @data_buffer: Buffer used for EC communication. The same buffer
33 * @data_size: Size of the data buffer used for EC communication.
75 * @result: Result code from the EC. Non-zero indicates an error.
91 * @WILCO_EC_MSG_LEGACY: Legacy EC messages for standard EC behavior.
92 * @WILCO_EC_MSG_PROPERTY: Get/Set/Sync EC controlled NVRAM property.
93 * @WILCO_EC_MSG_TELEMETRY: Request telemetry data from the EC.
105 * @request_size: Number of bytes to send to the EC.
107 * @response_size: Number of bytes to read from EC.
121 * wilco_ec_mailbox() - Send request to the EC and receive the response.
[all …]
/linux/Documentation/ABI/testing/
H A Ddebugfs-cros-ec1 What: /sys/kernel/debug/<cros-ec-device>/console_log
5 If the EC supports the CONSOLE_READ command type, this file
6 can be used to grab the EC logs. The kernel polls for the log
10 What: /sys/kernel/debug/<cros-ec-device>/panicinfo
14 This file dumps the EC panic information from the previous
16 type is supported by the EC.
18 What: /sys/kernel/debug/<cros-ec-device>/pdinfo
27 What: /sys/kernel/debug/<cros-ec-device>/uptime
31 A u32 providing the time since EC booted in ms. This is
32 is used for synchronizing the AP host time with the EC
[all …]
/linux/drivers/ata/
H A Dpata_icside.c64 struct expansion_card *ec; member
83 /* Prototype: pata_icside_irqenable_arcin_v5 (struct expansion_card *ec, int irqnr)
86 static void pata_icside_irqenable_arcin_v5 (struct expansion_card *ec, int irqnr) in pata_icside_irqenable_arcin_v5() argument
88 struct pata_icside_state *state = ec->irq_data; in pata_icside_irqenable_arcin_v5()
93 /* Prototype: pata_icside_irqdisable_arcin_v5 (struct expansion_card *ec, int irqnr)
96 static void pata_icside_irqdisable_arcin_v5 (struct expansion_card *ec, int irqnr) in pata_icside_irqdisable_arcin_v5() argument
98 struct pata_icside_state *state = ec->irq_data; in pata_icside_irqdisable_arcin_v5()
110 /* Prototype: pata_icside_irqenable_arcin_v6 (struct expansion_card *ec, int irqnr)
113 static void pata_icside_irqenable_arcin_v6 (struct expansion_card *ec, int irqnr) in pata_icside_irqenable_arcin_v6() argument
115 struct pata_icside_state *state = ec->irq_data; in pata_icside_irqenable_arcin_v6()
[all …]
/linux/drivers/scsi/arm/
H A Dpowertec.c62 struct expansion_card *ec; member
68 /* Prototype: void powertecscsi_irqenable(ec, irqnr)
70 * Params : ec - expansion card structure
74 powertecscsi_irqenable(struct expansion_card *ec, int irqnr) in powertecscsi_irqenable() argument
76 struct powertec_info *info = ec->irq_data; in powertecscsi_irqenable()
80 /* Prototype: void powertecscsi_irqdisable(ec, irqnr)
82 * Params : ec - expansion card structure
86 powertecscsi_irqdisable(struct expansion_card *ec, int irqnr) in powertecscsi_irqdisable() argument
88 struct powertec_info *info = ec->irq_data; in powertecscsi_irqdisable()
193 host->hostt->name, info->info.scsi.type, info->ec->slot_no, in powertecscsi_info()
[all …]
H A Deesox.c74 struct expansion_card *ec; member
81 /* Prototype: void eesoxscsi_irqenable(ec, irqnr)
83 * Params : ec - expansion card structure
87 eesoxscsi_irqenable(struct expansion_card *ec, int irqnr) in eesoxscsi_irqenable() argument
89 struct eesoxscsi_info *info = (struct eesoxscsi_info *)ec->irq_data; in eesoxscsi_irqenable()
96 /* Prototype: void eesoxscsi_irqdisable(ec, irqnr)
98 * Params : ec - expansion card structure
102 eesoxscsi_irqdisable(struct expansion_card *ec, int irqnr) in eesoxscsi_irqdisable() argument
104 struct eesoxscsi_info *info = (struct eesoxscsi_info *)ec->irq_data; in eesoxscsi_irqdisable()
390 host->hostt->name, info->info.scsi.type, info->ec->slot_no, in eesoxscsi_info()
[all …]
H A Dcumana_2.c79 struct expansion_card *ec; member
88 /* Prototype: void cumanascsi_2_irqenable(ec, irqnr)
90 * Params : ec - expansion card structure
94 cumanascsi_2_irqenable(struct expansion_card *ec, int irqnr) in cumanascsi_2_irqenable() argument
96 struct cumanascsi2_info *info = ec->irq_data; in cumanascsi_2_irqenable()
100 /* Prototype: void cumanascsi_2_irqdisable(ec, irqnr)
102 * Params : ec - expansion card structure
106 cumanascsi_2_irqdisable(struct expansion_card *ec, int irqnr) in cumanascsi_2_irqdisable() argument
108 struct cumanascsi2_info *info = ec->irq_data; in cumanascsi_2_irqdisable()
305 host->hostt->name, info->info.scsi.type, info->ec->slot_no, in cumanascsi_2_info()
[all …]
/linux/drivers/iio/proximity/
H A Dcros_ec_mkbp_proximity.c3 * Driver for cros-ec proximity sensor exposed through MKBP switch
27 struct cros_ec_device *ec; member
98 struct cros_ec_device *ec = data->ec; in cros_ec_mkbp_proximity_push_event() local
103 timestamp = ktime_to_ns(ec->last_event_time); in cros_ec_mkbp_proximity_push_event()
122 struct cros_ec_device *ec = _ec; in cros_ec_mkbp_proximity_notify() local
123 u8 event_type = ec->event_data.event_type & EC_MKBP_EVENT_TYPE_MASK; in cros_ec_mkbp_proximity_notify()
131 switches = &ec->event_data.data.switches; in cros_ec_mkbp_proximity_notify()
144 struct cros_ec_device *ec = data->ec; in cros_ec_mkbp_proximity_read_raw() local
147 return cros_ec_mkbp_proximity_query(ec, val); in cros_ec_mkbp_proximity_read_raw()
185 struct cros_ec_device *ec = data->ec; in cros_ec_mkbp_proximity_resume() local
[all …]
/linux/arch/x86/platform/olpc/
H A Dolpc.c3 * Support for the OLPC DCON and OLPC EC access
19 #include <linux/olpc-ec.h>
32 /* the timeout that bugs in the EC might force us to actually use */
39 printk(KERN_ERR "olpc-ec: invalid argument to " in olpc_ec_timeout_set()
42 printk(KERN_DEBUG "olpc-ec: using %d ms delay for EC commands.\n", in olpc_ec_timeout_set()
75 printk(KERN_WARNING "olpc-ec: %d: waited %u ms for IBF!\n", in __wait_on_ibf()
95 printk(KERN_WARNING "olpc-ec: %d: waited %u ms for OBF!\n", in __wait_on_obf()
103 * This allows the kernel to run Embedded Controller commands. The EC is
105 * available EC commands are here:
107 * OpenFirmware's source is available, the EC's is not.
[all …]
/linux/drivers/i2c/busses/
H A Di2c-cros-ec-tunnel.c2 // Expose an I2C passthrough to the ChromeOS EC.
21 * @ec: Pointer to EC device
22 * @remote_bus: The EC bus number we tunnel to on the other side.
30 struct cros_ec_device *ec; member
61 * ec_i2c_construct_message - construct a message to go to the EC
64 * a format that the EC understands.
129 * ec_i2c_parse_response - Parse a response from the EC
131 * We'll take the EC's response and copy it back into msgs.
206 dev_err(dev, "Error constructing EC i2c message %d\n", result); in ec_i2c_xfer()
215 result = cros_ec_cmd_xfer_status(bus->ec, msg); in ec_i2c_xfer()
[all …]
/linux/drivers/power/supply/
H A Dlenovo_yoga_c630_battery.c20 struct yoga_c630_ec *ec; member
73 struct yoga_c630_ec *ec = ecbat->ec; in yoga_c630_psy_update_bat_info() local
78 val = yoga_c630_ec_read8(ec, LENOVO_EC_BAT_PRESENT); in yoga_c630_psy_update_bat_info()
85 val = yoga_c630_ec_read8(ec, LENOVO_EC_BAT_ATTRIBUTES); in yoga_c630_psy_update_bat_info()
90 val = yoga_c630_ec_read16(ec, LENOVO_EC_BAT_DESIGN_CAPACITY); in yoga_c630_psy_update_bat_info()
96 * DSDT has delays after most of EC reads in these methods. in yoga_c630_psy_update_bat_info()
97 * Having no documentation for the EC we have to follow and sleep here. in yoga_c630_psy_update_bat_info()
101 val = yoga_c630_ec_read16(ec, LENOVO_EC_BAT_DESIGN_VOLTAGE); in yoga_c630_psy_update_bat_info()
108 val = yoga_c630_ec_read8(ec, LENOVO_EC_BAT_FULL_REGISTER); in yoga_c630_psy_update_bat_info()
111 val = yoga_c630_ec_read16(ec, in yoga_c630_psy_update_bat_info()
[all …]

12345678910>>...18