/** * struct Pinctrl_dev-pin control class device * @node: node to include this PIN controller in the global Pin Controller list * @desc: The PIN controller descriptor supplied when initializing this pin * control Ler * @pin_desc_tree: Each pin descriptor to this PIN controller are stored in * this radix tree * @gpio_ranges: A list of gpio ranges it handled by this PIN controller, * ranges are added to this list at Runtime * @dev: The device entry for this PIN controller * @owner: module providing the PIN controller, used F or refcounting * @driver_data: Driver data for drivers registering to the PIN controller * subsystem &NBS p;* @p:result of Pinctrl_get () for this device * @hog_default: Default state for Pins hogged by this device * @hog_sleep: Pins hogged by this device * @mutex: mutexes taken on each PIN controller specific action * @device_root: DEbugfs root for this device */struct Pinctrl_dev { struct list_head node; struct Pinctrl_desc *desc Bsp;struct Radix_tree_root Pin_desc_tree; struct List_head gpio_ranges; struct device *dev; struct module *owner; void *driver_data; struct Pinctrl *p; struct pinctrl_state *hog_default; struct pinctrl_state *hog_sleep; struct mutex mutex; #ifdef CONFIG_DEBUG_FS struct dentry *device_root; #endif};