* Ladislav Michl <ladis@xxxxxxxxxxxxxx> [171212 18:06]: > On Tue, Dec 12, 2017 at 09:00:54AM -0800, Tony Lindgren wrote: > > Hmm what do you mean? We don't want to export tons of custom functions from > > the timers in and then be in trouble when at some point we have a Linux > > generic hw timer framework. We already had to deal with these custom > > exports earlier with conversion to multiarch and then again with > > device tree. > > > > For now, it's best to pass the timer information to the pwm driver in > > platform data. In the long run that will be much easier to deal with than > > fixing random drivers tinkering with the timer registers directly. > > All that register access would happen only in drivers/clocksource/timer-dm.c? > So platform data will hold all function pointers needed for event capture > and the pwm driver will do only interface to pwm framework. Yes please. > > Ideally the pwm driver would just do a request_irq from the dmtimer code > > where dmtimer code would implement an interrupt controller. That would > > be already most fo the Linux generic hardware timer framework right there :) > > I do not follow. Each general-purpose timer module has its own interrupt line, > so claiming that irq directly using request_irq seems enough. Could you > explain interrupt controller idea a bit more? Well let's assume we have drivers/clocksource/timer-dm.c implement an irq controller. Then the pwm driver would just do: pwm9: dmtimer-pwm { compatible = "ti,omap-dmtimer-pwm"; #pwm-cells = <3>; ti,timers = <&timer9>; ti,clock-source = <0x00>; /* timer_sys_ck */ interrupts-extended = <&timer9 IRQ_TYPE_SOMETHING>; }; Then you can do whatever you need to in the pwm driver with enable_irq/disable_irq + a handler? If reading the line status is needed.. Then maybe the GPIO framework needs to have hardware timer support instead? Anyways, just thinking out loud how we could have a Linux generic hardware timer framework that drivers like pwm could then use. 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