No subject
Fri Oct 22 17:57:35 EDT 2010
checking for the wakeup event. I also think it should be clear that
this is checking for IO-ring wakeups, not module wakeups.
Also, in PATCH 5/7, you're calling this hwmod API directly from a
driver. Drivers should not know anything about hwmods. Any
OMAP-specific hooks must be called through pdata function pointers.
Also, they should go through omap_device, which would then call
omap_hwmod.
Thinking more about this (and how you use it in PATCH 5/7), what is
needed is an omap_device level API to check if a wakeup occured for that
device. That function would check for either module-level wakeup or IO
pad wakeup. The driver should not need to care about how the wakeup
occurred.
> +{
> + if (oh->mux)
> + return omap_hwmod_mux_wakeup(oh->mux);
> + return -EINVAL;
> +}
> diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
> index fedd829..4100be0 100644
> --- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
> +++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
> @@ -588,6 +588,7 @@ int omap_hwmod_for_each_by_class(const char *classname,
> int omap_hwmod_set_postsetup_state(struct omap_hwmod *oh, u8 state);
> u32 omap_hwmod_get_context_loss_count(struct omap_hwmod *oh);
>
> +int omap_hmwod_pad_wakeup_status(struct omap_hwmod *oh);
> /*
> * Chip variant-specific hwmod init routines - XXX should be converted
> * to use initcalls once the initial boot ordering is straightened out
Kevin
More information about the linux-arm-kernel
mailing list