summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorHal Feng <hal.feng@starfivetech.com>2023-03-28 09:35:32 +0300
committerHal Feng <hal.feng@starfivetech.com>2023-03-28 12:44:17 +0300
commitbf37dcc53806f21f1e64912d5dfd00b99cb8d105 (patch)
treef8356ce4f3c90e7bd6b696a831360f986a62678a /drivers
parent1d5b9282049d5872755a82b0a9cc9c7c8710b75e (diff)
downloadu-boot-bf37dcc53806f21f1e64912d5dfd00b99cb8d105.tar.xz
pinctrl: starfive: Fix the crash problem when using gpio cmd
starfive_pinctrl_priv struct is a priv of the parent device (pinctrl device), not the gpio device. Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
Diffstat (limited to 'drivers')
-rwxr-xr-xdrivers/pinctrl/starfive/pinctrl-starfive.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/pinctrl/starfive/pinctrl-starfive.c b/drivers/pinctrl/starfive/pinctrl-starfive.c
index 6e69654550..fc72699a2c 100755
--- a/drivers/pinctrl/starfive/pinctrl-starfive.c
+++ b/drivers/pinctrl/starfive/pinctrl-starfive.c
@@ -278,7 +278,7 @@ const struct pinctrl_ops starfive_pinctrl_ops = {
static int starfive_gpio_direction_input(struct udevice *dev, unsigned int off)
{
struct udevice *pdev = dev->parent;
- struct starfive_pinctrl_priv *priv = dev_get_priv(dev);
+ struct starfive_pinctrl_priv *priv = dev_get_priv(pdev);
struct starfive_pinctrl_soc_info *info = priv->info;
/* enable input and schmitt trigger */
@@ -297,7 +297,7 @@ static int starfive_gpio_direction_output(struct udevice *dev,
unsigned int off, int val)
{
struct udevice *pdev = dev->parent;
- struct starfive_pinctrl_priv *priv = dev_get_priv(dev);
+ struct starfive_pinctrl_priv *priv = dev_get_priv(pdev);
struct starfive_pinctrl_soc_info *info = priv->info;
if (info->set_one_pinmux)