On Wed, 26 Aug 2015, Shenwei Wang wrote:
>  u32 imx_gpcv2_get_wakeup_source(u32 **sources)
>  {
> -     if (!imx_gpcv2_instance)
> +     struct gpcv2_irqchip_data *cd;
> +     void __iomem *reg;
> +     int i;
> +
> +     cd = imx_gpcv2_instance;
> +     if (!cd)
>               return 0;
>  
> +     for (i = 0; i < IMR_NUM; i++) {
> +             reg = cd->gpc_base + cd->cpu2wakeup + i * 4;
> +             cd->wakeup_sources[i] = readl_relaxed(reg);
> +     }
> +
>       if (sources)
> -             *sources = imx_gpcv2_instance->wakeup_sources;
> +             *sources = cd->wakeup_sources;
>  
>       return IMR_NUM;

You do not need the intermediate storage at all.

u32 imx_gpcv2_get_wakeup_source(u32 *sources)
{
        if (sources) {
                for (i = 0; i < IMR_NUM; i++) {
                        reg = cd->gpc_base + cd->cpu2wakeup + i * 4;
                        sources[i] = readl_relaxed(reg);
                }
        }
        ....

Hmm?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to