Hi Wolfgang, On Fri, Jan 10, 2020 at 3:35 PM Wolfgang Wallner <wolfgang.wall...@br-automation.com> wrote: > > The function pcr_clrsetbits32() expects a device with a P2SB parent > device. > > The currently passed device 'dev' is a gpio-controller with a device > 'pinctrl' as parent. This does not match the expectations of > pcr_clrsetbits32(). But he 'pinctrl'-device has a P2SB as parent.
typo: the 'pinctrl' device > > Pass the 'pinctrl' device instead of the 'dev' device to > pcr_clrsetbits32(). > > Signed-off-by: Wolfgang Wallner <wolfgang.wall...@br-automation.com> > --- > > drivers/gpio/intel_gpio.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpio/intel_gpio.c b/drivers/gpio/intel_gpio.c > index 4bf1c9ddc4..db63115628 100644 > --- a/drivers/gpio/intel_gpio.c > +++ b/drivers/gpio/intel_gpio.c > @@ -39,7 +39,7 @@ static int intel_gpio_direction_output(struct udevice *dev, > uint offset, > struct udevice *pinctrl = dev_get_parent(dev); > uint config_offset = intel_pinctrl_get_config_reg_addr(pinctrl, > offset); > > - pcr_clrsetbits32(dev, config_offset, > + pcr_clrsetbits32(pinctrl, config_offset, > PAD_CFG0_MODE_MASK | PAD_CFG0_RX_STATE | > PAD_CFG0_TX_DISABLE, > PAD_CFG0_MODE_GPIO | PAD_CFG0_RX_DISABLE | Reviewed-by: Bin Meng <bmeng...@gmail.com> But I think we should also fix intel_gpio_set_value() where dev is passed instead of pinctrl. Regards, Bin