"Guruswamy, Senthilvadivu" <svadivu@xxxxxx> writes: [...] >> > From: Senthilvadivu Guruswamy <svadivu@xxxxxx> >> > >> > Looks up the HWMOD database for each of the given DSS HW IP >> > and builds omap_device which inturn does the platform device >> > register for each of DSS HW IP >> > >> > Signed-off-by: Senthilvadivu Guruswamy <svadivu@xxxxxx> >> >> [...] >> >> > + for (i = 0; i < 5; i++) { >> > + l = snprintf(oh_name[i], MAX_OMAP_DSS_HWMOD_NAME_LEN, >> > + oh_name[i]); >> > + WARN(l >= MAX_OMAP_DSS_HWMOD_NAME_LEN, >> > + "String buffer overflow in DSS device setup\n"); >> > + >> > + oh = omap_hwmod_lookup(oh_name[i]); >> > + if (!oh) { >> > + pr_err("Could not look up %s\n", oh_name[i]); >> > + return ; >> > + } >> > + strcpy(pdata.name, oh_name[i]); >> > + pdata.board_data = board_data; >> > + pdata.board_data->get_last_off_on_transaction_id = NULL; >> > + pdata.device_enable = omap_device_enable; >> > + pdata.device_idle = omap_device_idle; >> > + pdata.device_shutdown = omap_device_shutdown; >> >> Please use runtime PM API in driver instead of calling these using >> pdata function pointers. > > [Senthil] when I used pm_runtime API, the clocks were not getting enabled. > Probably the complete support is not yet in this pm branch. > Once available I would change to pm_runtime and discard the use_count variable too. Runtime PM is available and working in current pm-core branch (a.k.a. pm-wip/hwmods-omap4) Several other hwmod conversions are using that branch to get working runtime PM. Rather than use the pdata-> methods, please debug why runtime PM isn't working for your driver. Thanks, Kevin -- 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