On Wed, Jun 07, 2017 at 05:27:50PM +0200, Alexandre Belloni wrote: > On 07/06/2017 at 16:17:35 +0200, Daniel Lezcano wrote: > > > You mean you don't like how it is used? Or you don't think having the > > > timer full name is useful? > > > > The field is not needed, the only place where it is used is where we affect > > it. > > > > It is used in tcb_clksrc_register: > > tc.clksrc.name = tc.name;
Yes, but tc.name is only in the scope of the function, so there is no need to include this field in the structure, just a working buffer in the function is enough. > > > The main reason is that RobH doesn't want to have the use (clocksource > > > or clockevent) of the timer in the DT so when probing a timer, I need to > > > know whether I already have a clocksource to decide when it is time to > > > register a clockevent. > > > > Yes, we had this discussion some weeks ago. > > > > This registered hack forces the DT to define first the clocksource, then the > > clockevent. > > > > So, I suggest you fold the timer definition into a single one like the other > > drivers. > > I was going to agree but this is not flexible enough because the > quadrature decoder always uses the first two channels. So on some > products, we may have: > - TCB0: > o channels 0,1: qdec > o channel 2: clocksource > > - TCB1: > o channels 0,1: qdec > o channel 2: clockevent > > This avoids wasting TCB channels. Ok. In this case you can check if the interrupt is specified for the node, if yes, then it is a clockevent. -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog