On 06/04/2012 12:22 PM, Jon Hunter wrote: > In order to migrate the dmtimer driver to support device-tree I found that it > was first necessary to clean-up the timer platform data. The goal of this > series is to simplify the timer platform data structure from ... > > struct dmtimer_platform_data { > int (*set_timer_src)(struct platform_device *pdev, int source); > int timer_ip_version; > u32 needs_manual_reset:1; > bool reserved; > bool loses_context; > int (*get_context_loss_count)(struct device *dev); > }; > > to ... > > struct dmtimer_platform_data { > int (*set_timer_src)(struct platform_device *pdev, int source); > u32 timer_capability; > }; > > ... where timer_capability is a bit mask that indicates the timer features > supported and uses the HWMOD timer capabilities flags described in > plat/dmtimer.h. For OMAP2+ devices this allows us to read the timer > capabilities from the HWMOD data and for OMAP1 devices the flags are simply > populated by the timer initialisation code. Eventually, the aim is to read the > timer capabilities from the device tree blob. > > This series includes some fixes as well as clean-up. For instance OMAP1 dmtimer > support is currently completely broken and so I have included a fix for this. > If it is preferred to split the series into fixes and clean-up I can do that. > > This series is based upon the current linux-omap master branch (3.5-rc1). I have > built both omap1 and omap2plus configurations as well as booted the respective > kernels on the omap5912 OSK (omap1), OMAP3430 Beagle and OMAP4460 PANDA. Forgot to add high-level changes for V2: V2: - Fix OMAP1 dmtimer support which currently broken. Requesting a timer fails because clk_get() is called and this is not support for OMAP1 devices. - Only use "set_timer_src" function pointer for OMAP1 devices. Testing: - On the above boards I have tested that I can request a timer and set the parent clock. Cheers Jon -- 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