Tomasz / Stephen, On Wed, May 15, 2013 at 5:55 PM, Doug Anderson <dianders@xxxxxxxxxx> wrote: >> Also after reading Stephen's reply, I'm wondering if hogging wouldn't >> solve the problem indeed. (It might have to be fixed on pinctrl-samsung >> first, as last time I tried to use it, it caused some errors from pinctrl >> core, but haven't time to track them down, as it wasn't anything important >> at that time). > > I will give it a shot tomorrow morning and see how it looks. I'll > also evaluate Stephen's suggestions then once I've see how it looks > with the current bindings... I wrote this out and it had some nice properties (it was a little more concise), but had the downside that there's no reference from the GPIO usage back to the pinmux. I'd rather have the reference there in the hopes that it will help others get things right when they make changes to the dts file (they'll notice the reference and know that they need to change that too). ...so I think the summary is: I'm OK with keeping what we have. It may be a little awkward in some ways but it's definitely worth it to get all of the benefits of the pinmux / GPIO separation. :) For the curious of what my prototype looked like (feel free to ignore--I'm not planning on keeping this and I didn't actually try testing it), I've included it below. This is just the bit from "cros5250-common" (the common file shared among several similar boards), so I'd need something similar in "exynos5250-snow"). pinctrl@11400000 { /* Default states for hogs follow */ nopull_inputs_cros5250_a: nopull-inputs-cros5250-a { samsung,pins = "gpx1-2", /* trackpad */ "gpx1-3", /* gpio-keys - power */ "gpx3-2"; /* max77686 */ samsung,pin-function = <0>; samsung,pin-pud = <0>; samsung,pin-drv = <0>; }; pulldown_inputs_cros5250-a: pulldown-inputs-cros5250_a { samsung,pins = "gpx3-7"; /* hdmi */ samsung,pin-function = <0>; samsung,pin-pud = <1>; samsung,pin-drv = <0>; }; simple_outputs_cros5250-a: simple-outputs-cros5250_a { samsung,pins = "gpx0-1", /* wifi-en */ "gpx0-2", /* wifi-rst */ "gpx1-7"; /* max98095-en */ samsung,pin-function = <1>; samsung,pin-pud = <0>; samsung,pin-drv = <0>; } pinctrl-names = "default"; pinctrl-0 = <&nopull_inputs_cros5250_a &pulldown_inputs_cros5250_a &simple_outputs_cros5250_a>; }; pinctrl@13400000 { simple_outputs_cros5250-b: simple-outputs-cros5250_b { samsung,pins = "gpe1-0" /* hsic reset */; samsung,pin-function = <1>; samsung,pin-pud = <0>; samsung,pin-drv = <0>; }; pinctrl-names = "default"; pinctrl-0 = <&simple_outputs_cros5250_b>; }; -Doug -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html