Re: [PATCH 2/2] ARM: AM43XX: HWMOD: Add rtc hwmod

From: Paul Walmsley
Date: Thu Feb 18 2016 - 01:42:37 EST


Hi Keerthy

On Thu, 18 Feb 2016, Keerthy wrote:

> The patch adds rtc hwmod. RTC module The RTC module is physically
> present on the AM438x SoC used on AM43X-EPOS-EVM, but it is permanently
> disabled. A secure RTC is used instead on these devices, where needed.
> . Hence adding it selectively using a seprate list to get RTC Module
> functional on the other am43x SoCs used on am437x-gp-evm and
> am437x-sk-evm.
>
> Signed-off-by: Keerthy <j-keerthy@xxxxxx>
> ---
>
> No Public TRM is available for AM438x SoC as of now.
>
> arch/arm/mach-omap2/omap_hwmod_43xx_data.c | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
> index e97a894..fcffaf8 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
> @@ -1020,9 +1020,21 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
> NULL,
> };
>
> +static struct omap_hwmod_ocp_if *am43xx_rtc_hwmod_ocp_ifs[] __initdata = {
> + &am33xx_l4_wkup__rtc,
> + NULL,
> +};
> +
> int __init am43xx_hwmod_init(void)
> {
> + int ret;
> +
> omap_hwmod_am43xx_reg();
> omap_hwmod_init();
> - return omap_hwmod_register_links(am43xx_hwmod_ocp_ifs);
> + ret = omap_hwmod_register_links(am43xx_hwmod_ocp_ifs);
> +
> + if (!(of_machine_is_compatible("ti,am438x")))
> + ret = omap_hwmod_register_links(am43xx_rtc_hwmod_ocp_ifs);
> +
> + return ret;
> }

Could you please invert the test of this case such that the RTC hwmod is
only registered on AM43xx SoCs where it is specifically known to be
enabled?

That way, if another AM43xx SoC comes out that doesn't have the RTC
module, it won't inadvertently be registered. This seems like a safer
approach.

- Paul