Lines Matching defs:ddc

466 struct ddc *dal_gpio_create_ddc(
474 struct ddc *ddc;
479 ddc = kzalloc(sizeof(struct ddc), GFP_KERNEL);
481 if (!ddc) {
486 ddc->pin_data = dal_gpio_create(
489 if (!ddc->pin_data) {
494 ddc->pin_clock = dal_gpio_create(
497 if (!ddc->pin_clock) {
502 ddc->hw_info = *info;
504 ddc->ctx = service->ctx;
506 return ddc;
509 dal_gpio_destroy(&ddc->pin_data);
512 kfree(ddc);
518 struct ddc **ddc)
520 if (!ddc || !*ddc) {
525 dal_ddc_close(*ddc);
526 dal_gpio_destroy(&(*ddc)->pin_data);
527 dal_gpio_destroy(&(*ddc)->pin_clock);
528 kfree(*ddc);
530 *ddc = NULL;
534 struct ddc *ddc,
544 result = dal_gpio_open_ex(ddc->pin_data, mode);
551 result = dal_gpio_open_ex(ddc->pin_clock, mode);
569 config_data.config.ddc.type = config_type;
571 hw_data = FROM_HW_GPIO_PIN(ddc->pin_data->pin);
572 hw_clock = FROM_HW_GPIO_PIN(ddc->pin_clock->pin);
574 config_data.config.ddc.data_en_bit_present = hw_data->store.en != 0;
575 config_data.config.ddc.clock_en_bit_present = hw_clock->store.en != 0;
577 result = dal_gpio_set_config(ddc->pin_data, &config_data);
584 dal_gpio_close(ddc->pin_clock);
587 dal_gpio_close(ddc->pin_data);
593 struct ddc *ddc,
599 dal_gpio_get_mode(ddc->pin_data);
601 result = dal_gpio_change_mode(ddc->pin_data, mode);
611 result = dal_gpio_change_mode(ddc->pin_clock, mode);
616 dal_gpio_change_mode(ddc->pin_clock, original_mode);
619 dal_gpio_change_mode(ddc->pin_data, original_mode);
625 const struct ddc *ddc)
627 return (enum gpio_ddc_line)dal_gpio_get_enum(ddc->pin_data);
631 struct ddc *ddc,
638 config_data.config.ddc.type = config_type;
639 config_data.config.ddc.data_en_bit_present = false;
640 config_data.config.ddc.clock_en_bit_present = false;
642 return dal_gpio_set_config(ddc->pin_data, &config_data);
646 struct ddc *ddc)
648 if (ddc != NULL) {
649 dal_gpio_close(ddc->pin_clock);
650 dal_gpio_close(ddc->pin_data);