diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2015-08-22 14:57:59 -0700 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2015-08-22 14:57:59 -0700 |
commit | e3dbc572fe11a5231568e106fa3dcedd1d1bec0f (patch) | |
tree | 5e15ee35c77e75d51cb550cb3cb0f6ecafa7b508 /drivers/net/can/c_can/c_can.c | |
parent | ce8c669e446371c1eb21b0566f6dfcb70ef3a435 (diff) | |
parent | c63517c2e3810071359af926f621c1f784388c3f (diff) | |
download | talos-op-linux-e3dbc572fe11a5231568e106fa3dcedd1d1bec0f.tar.gz talos-op-linux-e3dbc572fe11a5231568e106fa3dcedd1d1bec0f.zip |
Merge tag 'signed-kvm-ppc-next' of git://github.com/agraf/linux-2.6 into kvm-queue
Patch queue for ppc - 2015-08-22
Highlights for KVM PPC this time around:
- Book3S: A few bug fixes
- Book3S: Allow micro-threading on POWER8
Diffstat (limited to 'drivers/net/can/c_can/c_can.c')
-rw-r--r-- | drivers/net/can/c_can/c_can.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/can/c_can/c_can.c b/drivers/net/can/c_can/c_can.c index 041525d2595c..5d214d135332 100644 --- a/drivers/net/can/c_can/c_can.c +++ b/drivers/net/can/c_can/c_can.c @@ -592,6 +592,7 @@ static int c_can_start(struct net_device *dev) { struct c_can_priv *priv = netdev_priv(dev); int err; + struct pinctrl *p; /* basic c_can configuration */ err = c_can_chip_config(dev); @@ -604,8 +605,13 @@ static int c_can_start(struct net_device *dev) priv->can.state = CAN_STATE_ERROR_ACTIVE; - /* activate pins */ - pinctrl_pm_select_default_state(dev->dev.parent); + /* Attempt to use "active" if available else use "default" */ + p = pinctrl_get_select(priv->device, "active"); + if (!IS_ERR(p)) + pinctrl_put(p); + else + pinctrl_pm_select_default_state(priv->device); + return 0; } |