| .. | .. |
|---|
| 28 | 28 | |
|---|
| 29 | 29 | struct hw_gpio_pin; |
|---|
| 30 | 30 | struct hw_hpd; |
|---|
| 31 | +struct hw_ddc; |
|---|
| 32 | +struct hw_generic; |
|---|
| 33 | +struct gpio; |
|---|
| 31 | 34 | |
|---|
| 32 | 35 | struct hw_factory { |
|---|
| 33 | 36 | uint32_t number_of_pins[GPIO_ID_COUNT]; |
|---|
| 34 | 37 | |
|---|
| 35 | 38 | const struct hw_factory_funcs { |
|---|
| 36 | | - struct hw_gpio_pin *(*create_ddc_data)( |
|---|
| 37 | | - struct dc_context *ctx, |
|---|
| 38 | | - enum gpio_id id, |
|---|
| 39 | | - uint32_t en); |
|---|
| 40 | | - struct hw_gpio_pin *(*create_ddc_clock)( |
|---|
| 41 | | - struct dc_context *ctx, |
|---|
| 42 | | - enum gpio_id id, |
|---|
| 43 | | - uint32_t en); |
|---|
| 44 | | - struct hw_gpio_pin *(*create_generic)( |
|---|
| 45 | | - struct dc_context *ctx, |
|---|
| 46 | | - enum gpio_id id, |
|---|
| 47 | | - uint32_t en); |
|---|
| 48 | | - struct hw_gpio_pin *(*create_hpd)( |
|---|
| 49 | | - struct dc_context *ctx, |
|---|
| 50 | | - enum gpio_id id, |
|---|
| 51 | | - uint32_t en); |
|---|
| 52 | | - struct hw_gpio_pin *(*create_sync)( |
|---|
| 53 | | - struct dc_context *ctx, |
|---|
| 54 | | - enum gpio_id id, |
|---|
| 55 | | - uint32_t en); |
|---|
| 56 | | - struct hw_gpio_pin *(*create_gsl)( |
|---|
| 57 | | - struct dc_context *ctx, |
|---|
| 58 | | - enum gpio_id id, |
|---|
| 59 | | - uint32_t en); |
|---|
| 39 | + void (*init_ddc_data)( |
|---|
| 40 | + struct hw_ddc **hw_ddc, |
|---|
| 41 | + struct dc_context *ctx, |
|---|
| 42 | + enum gpio_id id, |
|---|
| 43 | + uint32_t en); |
|---|
| 44 | + void (*init_generic)( |
|---|
| 45 | + struct hw_generic **hw_generic, |
|---|
| 46 | + struct dc_context *ctx, |
|---|
| 47 | + enum gpio_id id, |
|---|
| 48 | + uint32_t en); |
|---|
| 49 | + void (*init_hpd)( |
|---|
| 50 | + struct hw_hpd **hw_hpd, |
|---|
| 51 | + struct dc_context *ctx, |
|---|
| 52 | + enum gpio_id id, |
|---|
| 53 | + uint32_t en); |
|---|
| 54 | + struct hw_gpio_pin *(*get_hpd_pin)( |
|---|
| 55 | + struct gpio *gpio); |
|---|
| 56 | + struct hw_gpio_pin *(*get_ddc_pin)( |
|---|
| 57 | + struct gpio *gpio); |
|---|
| 58 | + struct hw_gpio_pin *(*get_generic_pin)( |
|---|
| 59 | + struct gpio *gpio); |
|---|
| 60 | 60 | void (*define_hpd_registers)( |
|---|
| 61 | 61 | struct hw_gpio_pin *pin, |
|---|
| 62 | 62 | uint32_t en); |
|---|
| 63 | 63 | void (*define_ddc_registers)( |
|---|
| 64 | 64 | struct hw_gpio_pin *pin, |
|---|
| 65 | 65 | uint32_t en); |
|---|
| 66 | + void (*define_generic_registers)( |
|---|
| 67 | + struct hw_gpio_pin *pin, |
|---|
| 68 | + uint32_t en); |
|---|
| 66 | 69 | } *funcs; |
|---|
| 67 | 70 | }; |
|---|
| 68 | 71 | |
|---|