Lines Matching refs:ddc

488 struct ddc *dal_gpio_create_ddc(
496 struct ddc *ddc;
501 ddc = kzalloc(sizeof(struct ddc), GFP_KERNEL);
503 if (!ddc) {
508 ddc->pin_data = dal_gpio_create(
511 if (!ddc->pin_data) {
516 ddc->pin_clock = dal_gpio_create(
519 if (!ddc->pin_clock) {
524 ddc->hw_info = *info;
526 ddc->ctx = service->ctx;
528 return ddc;
531 dal_gpio_destroy(&ddc->pin_data);
534 kfree(ddc);
540 struct ddc **ddc)
542 if (!ddc || !*ddc) {
547 dal_ddc_close(*ddc);
548 dal_gpio_destroy(&(*ddc)->pin_data);
549 dal_gpio_destroy(&(*ddc)->pin_clock);
550 kfree(*ddc);
552 *ddc = NULL;
556 struct ddc *ddc,
566 result = dal_gpio_open_ex(ddc->pin_data, mode);
573 result = dal_gpio_open_ex(ddc->pin_clock, mode);
591 config_data.config.ddc.type = config_type;
593 hw_data = FROM_HW_GPIO_PIN(ddc->pin_data->pin);
594 hw_clock = FROM_HW_GPIO_PIN(ddc->pin_clock->pin);
596 config_data.config.ddc.data_en_bit_present = hw_data->store.en != 0;
597 config_data.config.ddc.clock_en_bit_present = hw_clock->store.en != 0;
599 result = dal_gpio_set_config(ddc->pin_data, &config_data);
606 dal_gpio_close(ddc->pin_clock);
609 dal_gpio_close(ddc->pin_data);
615 struct ddc *ddc,
621 dal_gpio_get_mode(ddc->pin_data);
623 result = dal_gpio_change_mode(ddc->pin_data, mode);
633 result = dal_gpio_change_mode(ddc->pin_clock, mode);
638 dal_gpio_change_mode(ddc->pin_clock, original_mode);
641 dal_gpio_change_mode(ddc->pin_data, original_mode);
647 const struct ddc *ddc)
649 return (enum gpio_ddc_line)dal_gpio_get_enum(ddc->pin_data);
653 struct ddc *ddc,
660 config_data.config.ddc.type = config_type;
661 config_data.config.ddc.data_en_bit_present = false;
662 config_data.config.ddc.clock_en_bit_present = false;
664 return dal_gpio_set_config(ddc->pin_data, &config_data);
668 struct ddc *ddc)
670 if (ddc != NULL) {
671 dal_gpio_close(ddc->pin_clock);
672 dal_gpio_close(ddc->pin_data);