Lines Matching +full:in +full:- +full:gpios
6 * you may not use this file except in compliance with the License.
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
29 * Loads the GPIO information into the gpios->power_gpio structure
32 * @param gpios - the structure where GpioConfigs.power_gpio will
33 * be filled in.
34 * @param gpio_configs - cJSON pointer to the GPIO JSON
36 void read_power_gpios(GpioConfigs* gpios, const cJSON* gpio_configs) in read_power_gpios() argument
44 /* PGOOD - required */ in read_power_gpios()
49 gpios->power_gpio.power_good_in.name = g_strdup(pgood->valuestring); in read_power_gpios()
52 gpios->power_gpio.power_good_in.name); in read_power_gpios()
54 /* Latch out - optional */ in read_power_gpios()
59 gpios->power_gpio.latch_out.name = g_strdup(latch->valuestring); in read_power_gpios()
61 gpios->power_gpio.latch_out.name); in read_power_gpios()
66 gpios->power_gpio.latch_out.name = NULL; in read_power_gpios()
69 /* Power Up Outs - required */ in read_power_gpios()
75 gpios->power_gpio.num_power_up_outs = cJSON_GetArraySize(power_up_outs); in read_power_gpios()
77 gpios->power_gpio.num_power_up_outs); in read_power_gpios()
79 if (gpios->power_gpio.num_power_up_outs != 0) in read_power_gpios()
81 gpios->power_gpio.power_up_outs = in read_power_gpios()
82 g_malloc0_n(gpios->power_gpio.num_power_up_outs, sizeof(GPIO)); in read_power_gpios()
83 gpios->power_gpio.power_up_pols = in read_power_gpios()
84 g_malloc0_n(gpios->power_gpio.num_power_up_outs, sizeof(gboolean)); in read_power_gpios()
91 gpios->power_gpio.power_up_outs[i].name = in read_power_gpios()
92 g_strdup(name->valuestring); in read_power_gpios()
96 gpios->power_gpio.power_up_pols[i] = polarity->valueint; in read_power_gpios()
99 i, gpios->power_gpio.power_up_outs[i].name, in read_power_gpios()
100 gpios->power_gpio.power_up_pols[i] ? "HIGH" : "LOW"); in read_power_gpios()
105 /* Resets - optional */ in read_power_gpios()
108 gpios->power_gpio.num_reset_outs = cJSON_GetArraySize(reset_outs); in read_power_gpios()
111 gpios->power_gpio.num_reset_outs); in read_power_gpios()
113 if (gpios->power_gpio.num_reset_outs != 0) in read_power_gpios()
115 gpios->power_gpio.reset_outs = in read_power_gpios()
116 g_malloc0_n(gpios->power_gpio.num_reset_outs, sizeof(GPIO)); in read_power_gpios()
117 gpios->power_gpio.reset_pols = in read_power_gpios()
118 g_malloc0_n(gpios->power_gpio.num_reset_outs, sizeof(gboolean)); in read_power_gpios()
126 gpios->power_gpio.reset_outs[i].name = g_strdup(name->valuestring); in read_power_gpios()
130 gpios->power_gpio.reset_pols[i] = polarity->valueint; in read_power_gpios()
133 gpios->power_gpio.reset_outs[i].name, in read_power_gpios()
134 gpios->power_gpio.reset_pols[i] ? "HIGH" : "LOW"); in read_power_gpios()
139 /* PCI Resets - optional */ in read_power_gpios()
144 gpios->power_gpio.num_pci_reset_outs = in read_power_gpios()
148 gpios->power_gpio.num_pci_reset_outs); in read_power_gpios()
150 if (gpios->power_gpio.num_pci_reset_outs != 0) in read_power_gpios()
152 gpios->power_gpio.pci_reset_outs = in read_power_gpios()
153 g_malloc0_n(gpios->power_gpio.num_pci_reset_outs, sizeof(GPIO)); in read_power_gpios()
154 gpios->power_gpio.pci_reset_pols = in read_power_gpios()
155 g_malloc0_n(gpios->power_gpio.num_pci_reset_outs, sizeof(gboolean)); in read_power_gpios()
156 gpios->power_gpio.pci_reset_holds = in read_power_gpios()
157 g_malloc0_n(gpios->power_gpio.num_pci_reset_outs, sizeof(gboolean)); in read_power_gpios()
165 gpios->power_gpio.pci_reset_outs[i].name = in read_power_gpios()
166 g_strdup(name->valuestring); in read_power_gpios()
171 gpios->power_gpio.pci_reset_pols[i] = polarity->valueint; in read_power_gpios()
175 gpios->power_gpio.pci_reset_holds[i] = polarity->valueint; in read_power_gpios()
178 gpios->power_gpio.pci_reset_outs[i].name, in read_power_gpios()
179 gpios->power_gpio.pci_reset_pols[i] ? "HIGH" : "LOW", in read_power_gpios()
180 gpios->power_gpio.pci_reset_holds[i] ? "Yes" : "No"); in read_power_gpios()
186 gboolean read_gpios(GpioConfigs *gpios) in read_gpios() argument
197 read_power_gpios(gpios, configs); in read_gpios()
203 void free_gpios(GpioConfigs *gpios) { in free_gpios() argument
205 g_free(gpios->power_gpio.latch_out.name); in free_gpios()
206 g_free(gpios->power_gpio.power_good_in.name); in free_gpios()
207 for(i = 0; i < gpios->power_gpio.num_power_up_outs; i++) { in free_gpios()
208 g_free(gpios->power_gpio.power_up_outs[i].name); in free_gpios()
210 g_free(gpios->power_gpio.power_up_outs); in free_gpios()
211 g_free(gpios->power_gpio.power_up_pols); in free_gpios()
212 for(i = 0; i < gpios->power_gpio.num_reset_outs; i++) { in free_gpios()
213 g_free(gpios->power_gpio.reset_outs[i].name); in free_gpios()
215 g_free(gpios->power_gpio.reset_outs); in free_gpios()
216 g_free(gpios->power_gpio.reset_pols); in free_gpios()
217 for(i = 0; i < gpios->power_gpio.num_pci_reset_outs; i++) { in free_gpios()
218 g_free(gpios->power_gpio.pci_reset_outs[i].name); in free_gpios()
220 g_free(gpios->power_gpio.pci_reset_outs); in free_gpios()
221 g_free(gpios->power_gpio.pci_reset_pols); in free_gpios()
222 g_free(gpios->power_gpio.pci_reset_holds); in free_gpios()