On Wed, Oct 19, 2011 at 04:04:29PM -0700, Stephen Warren wrote:
> > @@ -113,6 +204,10 @@ extern struct pinctrl_dev *pinctrl_register(struct 
> > pinctrl_desc *pctldesc,
> ...
> > +extern int pin_config(struct pinctrl_dev *pctldev, int pin,
> > +                 enum pin_config_param param, unsigned long data);
> > +extern int pin_config_group(struct pinctrl_dev *pctldev, const char 
> > *pin_group,
> > +                       enum pin_config_param param, unsigned long data);
> 
> Hmmm. Do we really want to expose these as public APIs? I suppose it
> will allow us to start configuring all these parameters ASAP, but all
> previous discussion has been aimed at having the pinctrl core set up an
> initial set of values at boot-time using a board-supplied table (so no
> external API), and then we were still talking about how to manipulate
> the values at run-time. Do we really want to encode all this information
> into drivers calling these APIs?
> 
+1

We should not require device driver to call these APIs directly.  There
are so many pinctrl subsystem internal details left to its users.

The Stephen's proposal [1] about adding a new param into pinmux_enable()
to specify pin configuration is much preferred to me.

Regards,
Shawn

[1] http://article.gmane.org/gmane.linux.ports.arm.kernel/137341


_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to