Lines Matching refs:data
57 struct int3496_data *data =
59 int id = gpiod_get_value_cansleep(data->gpio_usb_id);
62 dev_dbg(data->dev, "Connected %s cable\n", id ? "PERIPHERAL" : "HOST");
68 if (!IS_ERR(data->gpio_usb_mux))
69 gpiod_direction_output(data->gpio_usb_mux, id);
71 if (!IS_ERR(data->gpio_vbus_en))
72 gpiod_direction_output(data->gpio_vbus_en, !id);
74 extcon_set_state_sync(data->edev, EXTCON_USB_HOST, !id);
79 struct int3496_data *data = priv;
82 mod_delayed_work(system_wq, &data->work, DEBOUNCE_TIME);
90 struct int3496_data *data;
99 data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
100 if (!data)
103 data->dev = dev;
104 INIT_DELAYED_WORK(&data->work, int3496_do_usb_id);
106 data->gpio_usb_id = devm_gpiod_get(dev, "id", GPIOD_IN);
107 if (IS_ERR(data->gpio_usb_id)) {
108 ret = PTR_ERR(data->gpio_usb_id);
113 data->usb_id_irq = gpiod_to_irq(data->gpio_usb_id);
114 if (data->usb_id_irq < 0) {
115 dev_err(dev, "can't get USB ID IRQ: %d\n", data->usb_id_irq);
116 return data->usb_id_irq;
119 data->gpio_vbus_en = devm_gpiod_get(dev, "vbus", GPIOD_ASIS);
120 if (IS_ERR(data->gpio_vbus_en))
123 data->gpio_usb_mux = devm_gpiod_get(dev, "mux", GPIOD_ASIS);
124 if (IS_ERR(data->gpio_usb_mux))
128 data->edev = devm_extcon_dev_allocate(dev, int3496_cable);
129 if (IS_ERR(data->edev))
132 ret = devm_extcon_dev_register(dev, data->edev);
138 ret = devm_request_threaded_irq(dev, data->usb_id_irq,
143 dev_name(dev), data);
150 queue_delayed_work(system_wq, &data->work, 0);
151 flush_delayed_work(&data->work);
153 platform_set_drvdata(pdev, data);
160 struct int3496_data *data = platform_get_drvdata(pdev);
162 devm_free_irq(&pdev->dev, data->usb_id_irq, data);
163 cancel_delayed_work_sync(&data->work);