/** * struct gpiod_lookup - lookup table * @key: either the name of the chip the GPIO belongs to, or the GPIO line name * Note that GPIO line names are not guaranteed to be globally unique, * so this will use the first match found! * @chip_hwnum: hardware number (i.e. relative to the chip) of the GPIO, or * U16_MAX to indicate that @key is a GPIO line name * @con_id: name of the GPIO from the device's point of view * @idx: index of the GPIO in case several GPIOs share the same name * @flags: bitmask of gpio_lookup_flags GPIO_* values * * gpiod_lookup is a lookup table for associating GPIOs to specific devices and * functions using platform data.
*/ struct gpiod_lookup { constchar *key;
u16 chip_hwnum; constchar *con_id; unsignedint idx; unsignedlong flags;
};
/** * struct gpiod_hog - GPIO line hog table * @chip_label: name of the chip the GPIO belongs to * @chip_hwnum: hardware number (i.e. relative to the chip) of the GPIO * @line_name: consumer name for the hogged line * @lflags: bitmask of gpio_lookup_flags GPIO_* values * @dflags: GPIO flags used to specify the direction and value
*/ struct gpiod_hog { struct list_head list; constchar *chip_label;
u16 chip_hwnum; constchar *line_name; unsignedlong lflags; int dflags;
};
/* * Helper for lookup tables with just one single lookup for a device.
*/ #define GPIO_LOOKUP_SINGLE(_name, _dev_id, _key, _chip_hwnum, _con_id, _flags) \ staticstruct gpiod_lookup_table _name = { \
.dev_id = _dev_id, \
.table = { \
GPIO_LOOKUP(_key, _chip_hwnum, _con_id, _flags), \
{}, \
}, \
}
/* * Simple definition of a single GPIO under a con_id
*/ #define GPIO_LOOKUP(_key, _chip_hwnum, _con_id, _flags) \
GPIO_LOOKUP_IDX(_key, _chip_hwnum, _con_id, 0, _flags)
/* * Use this macro if you need to have several GPIOs under the same con_id. * Each GPIO needs to use a different index and can be accessed using * gpiod_get_index()
*/ #define GPIO_LOOKUP_IDX(_key, _chip_hwnum, _con_id, _idx, _flags) \
(struct gpiod_lookup) { \
.key = _key, \
.chip_hwnum = _chip_hwnum, \
.con_id = _con_id, \
.idx = _idx, \
.flags = _flags, \
}
/* * Simple definition of a single GPIO hog in an array.
*/ #define GPIO_HOG(_chip_label, _chip_hwnum, _line_name, _lflags, _dflags) \
(struct gpiod_hog) { \
.chip_label = _chip_label, \
.chip_hwnum = _chip_hwnum, \
.line_name = _line_name, \
.lflags = _lflags, \
.dflags = _dflags, \
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.