diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2015-01-12 02:45:55 +0300 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2015-01-14 16:21:38 +0300 |
commit | f684e4ac9f4bae4e6ecff92eef9645a44764fc04 (patch) | |
tree | 77455f29e17d3aa03e65aecdb505a850b4f10ce4 /include/linux/pinctrl | |
parent | 7382b6231591a76d061d04a420937bbc5e1c1106 (diff) | |
download | linux-f684e4ac9f4bae4e6ecff92eef9645a44764fc04.tar.xz |
pinctrl: pinconf-generic: loose DT dependence
New pin controllers such as ACPI-based may also have custom properties
to parse, and should be able to use generic pin config. Let's make the
code compile on !OF systems and rename members a bit to underscore it
is custom parameters and not necessarily DT parameters.
This fixes a build regression for x86_64 on the zeroday kernel builds.
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Reviewed-and-tested-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'include/linux/pinctrl')
-rw-r--r-- | include/linux/pinctrl/pinconf-generic.h | 2 | ||||
-rw-r--r-- | include/linux/pinctrl/pinctrl.h | 17 |
2 files changed, 11 insertions, 8 deletions
diff --git a/include/linux/pinctrl/pinconf-generic.h b/include/linux/pinctrl/pinconf-generic.h index 342409f7f3ec..fe65962b264f 100644 --- a/include/linux/pinctrl/pinconf-generic.h +++ b/include/linux/pinctrl/pinconf-generic.h @@ -162,7 +162,7 @@ static inline unsigned long pinconf_to_config_packed(enum pin_config_param param struct pinctrl_dev; struct pinctrl_map; -struct pinconf_generic_dt_params { +struct pinconf_generic_params { const char * const property; enum pin_config_param param; u32 default_value; diff --git a/include/linux/pinctrl/pinctrl.h b/include/linux/pinctrl/pinctrl.h index c58b3e11ba8e..66e4697516de 100644 --- a/include/linux/pinctrl/pinctrl.h +++ b/include/linux/pinctrl/pinctrl.h @@ -118,9 +118,12 @@ struct pinctrl_ops { * @confops: pin config operations vtable, if you support pin configuration in * your driver * @owner: module providing the pin controller, used for refcounting - * @num_dt_params: Number of driver-specific DT parameters - * @params: List of DT parameters - * @conf_items: Information how to print @params in debugfs + * @num_custom_params: Number of driver-specific custom parameters to be parsed + * from the hardware description + * @custom_params: List of driver_specific custom parameters to be parsed from + * the hardware description + * @custom_conf_items: Information how to print @params in debugfs, must be + * the same size as the @custom_params, i.e. @num_custom_params */ struct pinctrl_desc { const char *name; @@ -130,10 +133,10 @@ struct pinctrl_desc { const struct pinmux_ops *pmxops; const struct pinconf_ops *confops; struct module *owner; -#if defined(CONFIG_GENERIC_PINCONF) && defined(CONFIG_OF) - unsigned int num_dt_params; - const struct pinconf_generic_dt_params *params; - const struct pin_config_item *conf_items; +#ifdef CONFIG_GENERIC_PINCONF + unsigned int num_custom_params; + const struct pinconf_generic_params *custom_params; + const struct pin_config_item *custom_conf_items; #endif }; |