Messages in this thread | | | From | Stephen Warren <> | Date | Tue, 21 Feb 2012 09:23:54 -0800 | Subject | RE: [PATCH 04/20] pinctrl: Record a pin owner, not mux function, when requesting pins |
| |
Linus Walleij wrote at Monday, February 20, 2012 2:15 PM: > On Mon, Feb 20, 2012 at 7:45 AM, Stephen Warren <swarren@nvidia.com> wrote: > > > When pins are requested/acquired/got, some device becomes the owner of > > their mux setting. At this point, it isn't certain which mux function > > will be selected for the pin, since this may vary between each of the > > device's states in the pinctrl mapping table. As such, we should record > > the owning device, not what we think the initial mux setting will be, > > when requesting pins. > > > > This doesn't make a lot of difference right now since pinctrl_get gets > > only one single device/state combination, but this will make a difference > > when pinctrl_get gets all states, and pinctrl_select_state can switch > > between states. > > > > Signed-off-by: Stephen Warren <swarren@nvidia.com> > > Mostly a rename then, OK... > > > @@ -66,19 +65,14 @@ static int pin_request(struct pinctrl_dev *pctldev, > > goto out; > > } > > > > - if (!function) { > > - dev_err(pctldev->dev, "no function name given\n"); > > - return -EINVAL; > > - } > > - > > Why should it be allowed to have a NULL owner? There is a > debug print involving it above but ... maybe this is over-cautious?
My reasoning was that this is an internal function, so this isn't a user- supplied parameter we need to be paranoid about checking, and the places that call this function internally "obviously" don't pass NULL owner. Well, I suppose one place relies on the fact we checked elsewhere that map->dev_name != NULL.
Still, I can see a defensive programming argument for keeping that check, although I suspect if we apply that argument we should probably check a lot more things too throughout the code?
-- nvpublic
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |