|
@@ -259,6 +259,26 @@ GPIOs belonging to the same bank or chip simultaneously if supported by the
|
|
|
corresponding chip driver. In that case a significantly improved performance
|
|
|
can be expected. If simultaneous setting is not possible the GPIOs will be set
|
|
|
sequentially.
|
|
|
+
|
|
|
+The gpiod_set_array() functions take three arguments:
|
|
|
+ * array_size - the number of array elements
|
|
|
+ * desc_array - an array of GPIO descriptors
|
|
|
+ * value_array - an array of values to assign to the GPIOs
|
|
|
+
|
|
|
+The descriptor array can be obtained using the gpiod_get_array() function
|
|
|
+or one of its variants. If the group of descriptors returned by that function
|
|
|
+matches the desired group of GPIOs, those GPIOs can be set by simply using
|
|
|
+the struct gpio_descs returned by gpiod_get_array():
|
|
|
+
|
|
|
+ struct gpio_descs *my_gpio_descs = gpiod_get_array(...);
|
|
|
+ gpiod_set_array(my_gpio_descs->ndescs, my_gpio_descs->desc,
|
|
|
+ my_gpio_values);
|
|
|
+
|
|
|
+It is also possible to set a completely arbitrary array of descriptors. The
|
|
|
+descriptors may be obtained using any combination of gpiod_get() and
|
|
|
+gpiod_get_array(). Afterwards the array of descriptors has to be setup
|
|
|
+manually before it can be used with gpiod_set_array().
|
|
|
+
|
|
|
Note that for optimal performance GPIOs belonging to the same chip should be
|
|
|
contiguous within the array of descriptors.
|
|
|
|