Lines Matching defs:ec

14 #include <linux/platform_data/wilco-ec.h>
19 #define DRV_NAME "wilco-ec"
40 struct wilco_ec_device *ec;
43 ec = devm_kzalloc(dev, sizeof(*ec), GFP_KERNEL);
44 if (!ec)
47 platform_set_drvdata(pdev, ec);
48 ec->dev = dev;
49 mutex_init(&ec->mailbox_lock);
51 ec->data_size = sizeof(struct wilco_ec_response) + EC_MAILBOX_DATA_SIZE;
52 ec->data_buffer = devm_kzalloc(dev, ec->data_size, GFP_KERNEL);
53 if (!ec->data_buffer)
57 ec->io_data = wilco_get_resource(pdev, 0); /* Host Data */
58 ec->io_command = wilco_get_resource(pdev, 1); /* Host Command */
59 ec->io_packet = wilco_get_resource(pdev, 2); /* MEC EMI */
60 if (!ec->io_data || !ec->io_command || !ec->io_packet)
64 cros_ec_lpc_mec_init(ec->io_packet->start,
65 ec->io_packet->start + EC_MAILBOX_DATA_SIZE);
71 ec->debugfs_pdev = platform_device_register_data(dev,
72 "wilco-ec-debugfs",
77 ec->rtc_pdev = platform_device_register_data(dev, "rtc-wilco-ec",
80 if (IS_ERR(ec->rtc_pdev)) {
82 ret = PTR_ERR(ec->rtc_pdev);
87 ret = wilco_keyboard_leds_init(ec);
95 ret = wilco_ec_add_sysfs(ec);
102 ec->charger_pdev = platform_device_register_data(dev, "wilco-charger",
105 if (IS_ERR(ec->charger_pdev)) {
107 ret = PTR_ERR(ec->charger_pdev);
112 ec->telem_pdev = platform_device_register_data(dev, "wilco_telem",
114 ec, sizeof(*ec));
115 if (IS_ERR(ec->telem_pdev)) {
117 ret = PTR_ERR(ec->telem_pdev);
124 platform_device_unregister(ec->charger_pdev);
126 wilco_ec_remove_sysfs(ec);
128 platform_device_unregister(ec->rtc_pdev);
130 if (ec->debugfs_pdev)
131 platform_device_unregister(ec->debugfs_pdev);
137 struct wilco_ec_device *ec = platform_get_drvdata(pdev);
139 platform_device_unregister(ec->telem_pdev);
140 platform_device_unregister(ec->charger_pdev);
141 wilco_ec_remove_sysfs(ec);
142 platform_device_unregister(ec->rtc_pdev);
143 if (ec->debugfs_pdev)
144 platform_device_unregister(ec->debugfs_pdev);