diff options
author | Gary Bisson <gary.bisson@boundarydevices.com> | 2016-12-02 17:35:19 +0100 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2016-12-30 14:26:01 +0100 |
commit | a51c158bf0f7cab3bd593586801a1a8b51c7c741 (patch) | |
tree | 192ea35a6fb4c805fd726675d849926fcb808626 /drivers/pinctrl/freescale/pinctrl-imx.h | |
parent | b28742be4709929ac6f25ae1f7256e61ed0817a0 (diff) | |
download | lwn-a51c158bf0f7cab3bd593586801a1a8b51c7c741.tar.gz lwn-a51c158bf0f7cab3bd593586801a1a8b51c7c741.zip |
pinctrl: imx: use radix trees for groups and functions
This change is inspired from the pinctrl-single architecture.
The problem with current implementation is that it isn't possible
to add/remove functions and/or groups dynamically. The radix tree
offers an easy way to do so. The intent is to offer a follow-up
patch later that will enable the use of pinctrl nodes in dt-overlays.
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/freescale/pinctrl-imx.h')
-rw-r--r-- | drivers/pinctrl/freescale/pinctrl-imx.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/pinctrl/freescale/pinctrl-imx.h b/drivers/pinctrl/freescale/pinctrl-imx.h index 8af8aa2897ab..62aa8f8f57e9 100644 --- a/drivers/pinctrl/freescale/pinctrl-imx.h +++ b/drivers/pinctrl/freescale/pinctrl-imx.h @@ -76,13 +76,14 @@ struct imx_pinctrl_soc_info { const struct pinctrl_pin_desc *pins; unsigned int npins; struct imx_pin_reg *pin_regs; - struct imx_pin_group *groups; unsigned int ngroups; unsigned int group_index; - struct imx_pmx_func *functions; unsigned int nfunctions; unsigned int flags; const char *gpr_compatible; + struct radix_tree_root ftree; + struct radix_tree_root pgtree; + struct mutex mutex; }; #define SHARE_MUX_CONF_REG 0x1 |