* Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> [120503 22:08]: > > In my mind in the driver we do not have to care how to list > register/unregister the group. We just need to be able to do this > > pinctrl_register_group(...) > > or > > pinctrl_unregistewr_group(...) > > On at91 we have this type of controller Ah I see. Yeah makes sense. Also I think we should let the pinctrl core eventually manage the pins more too. Right now the pins are a static array in the driver, which makes things unnecessarily complex for the DT case. It would be nice to also have something like pinctrl_register/unregister_pin instead of requiring them all be registered while registering with the framework initially. But all that can be improved later on once we get the binding down.. > one pin can have multiple function and each function can be on different pin > and we need to program and represent each of them one by one > > And each pin have different parameter > > so I was thinking to do like on gpio > > uart { > pin = < &pioA 12 {pararms} > > > } Hmm I assume the "12" above the gpio number? > and use macro as basicaly we are just this > > and this can be applied to tegra too as you will just refer the pin in this hw > pin block I was thinking of adding gpio eventually as a separate attribute with something like the following. Here cam_d10 pin is used as gpio109: cam_d10.gpio_109 { pinctrl-simple,cells = <0xfa 0x104>; /* OMAP_PIN_INPUT | OMAP_MUX_MODE4 */ gpio = <&gpio4 13 0>; /* gpio109 */ }; The reasoning for this is that as we may not care about the gpio number for all pins, it should be optional. Would that work for you? Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html