RE: [PATCH 2/2] pinmux: Unify pin type from signed to unsigned.

From: Stephen Warren
Date: Thu Oct 27 2011 - 11:59:50 EST


Belisko Marek wrote at Thursday, October 27, 2011 12:13 AM:
> On Wed, Oct 26, 2011 at 11:06 PM, David Rientjes <rientjes@xxxxxxxxxx> wrote:
> > On Wed, 26 Oct 2011, Marek Belisko wrote:
> >
> >> diff --git a/include/linux/pinctrl/pinctrl.h b/include/linux/pinctrl/pinctrl.h
> >> index 3605e94..34c33c7 100644
> >> --- a/include/linux/pinctrl/pinctrl.h
> >> +++ b/include/linux/pinctrl/pinctrl.h
> >> @@ -112,7 +112,7 @@ struct pinctrl_desc {
> >> Âextern struct pinctrl_dev *pinctrl_register(struct pinctrl_desc *pctldesc,
> >> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â struct device *dev, void *driver_data);
> >> Âextern void pinctrl_unregister(struct pinctrl_dev *pctldev);
> >> -extern bool pin_is_valid(struct pinctrl_dev *pctldev, int pin);
> >> +extern bool pin_is_valid(struct pinctrl_dev *pctldev, unsigned int pin);
> >> Âextern void pinctrl_add_gpio_range(struct pinctrl_dev *pctldev,
> >> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â struct pinctrl_gpio_range *range);
> >> Âextern void pinctrl_remove_gpio_range(struct pinctrl_dev *pctldev,
> >> @@ -123,7 +123,7 @@ extern void *pinctrl_dev_get_drvdata(struct pinctrl_dev *pctldev);
> >>
> >>
> >> Â/* Sufficiently stupid default function when pinctrl is not in use */
> >> -static inline bool pin_is_valid(struct pinctrl_dev *pctldev, int pin)
> >> +static inline bool pin_is_valid(struct pinctrl_dev *pctldev, unsigned int pin)
> >> Â{
> >> Â Â Â return pin >= 0;
> >> Â}
> >
> >
> > So this would just become return true, right?
>
> Right I've overlooked it. Will send update version.

I wonder if the type shouldn't be signed consistently rather than unsigned,
since a signed value, -1, is typically used to indicate "invalid pin".

I wonder if the dummy pin_is_valid() should actually return false rather
than true; that's what <linux/gpio.h> does, but asm-generic/gpio.h always
returns true, like your updated pinctrl patch would.

Looking at include/linux/gpio.h, gpiolib has the same issue with signed/
unsigned inconsistency. Whatever solution we pick for pinctrl should be
consistent with gpiolib; Grant should comment here.

--
nvpublic

N‹§²æìr¸›yúèšØb²X¬¶ÇvØ^–)Þ{.nÇ+‰·¥Š{±‘êçzX§¶›¡Ü}©ž²ÆzÚ&j:+v‰¨¾«‘êçzZ+€Ê+zf£¢·hšˆ§~†­†Ûiÿûàz¹®w¥¢¸?™¨è­Ú&¢)ßf”ù^jÇy§m…á@A«a¶Úÿ 0¶ìh®å’i