[PATCH v4 2/4] pinctrl: Add NVIDIA Tegra XUSB pad controller support
Mikko Perttunen
mperttunen at nvidia.com
Wed Jun 18 02:53:31 PDT 2014
On 17/06/14 15:07, Thierry Reding wrote:
> +static int tegra_xusb_padctl_pinconf_group_get(struct pinctrl_dev *pinctrl,
> + unsigned int group,
> + unsigned long *config)
> +{
> + struct tegra_xusb_padctl *padctl = pinctrl_dev_get_drvdata(pinctrl);
> + const struct tegra_xusb_padctl_lane *lane;
> + enum tegra_xusb_padctl_param param;
> + u32 value;
> +
> + param = TEGRA_XUSB_PADCTL_UNPACK_PARAM(*config);
> + lane = &padctl->soc->lanes[group];
> +
> + switch (param) {
> + case TEGRA_XUSB_PADCTL_IDDQ:
> + value = padctl_readl(padctl, lane->offset);
> + value = (value >> lane->iddq) & 0x1;
> + *config = TEGRA_XUSB_PADCTL_PACK(param, value);
> + break;
> +
> + default:
> + dev_err(padctl->dev, "invalid configuration parameter: %04x\n",
> + param);
> + return -ENOTSUPP;
> + }
> +
> + return 0;
> +}
I guess `value' should also be negated here?
More information about the linux-arm-kernel
mailing list