Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751690AbbFXI5H (ORCPT ); Wed, 24 Jun 2015 04:57:07 -0400 Received: from mail-pd0-f180.google.com ([209.85.192.180]:34088 "EHLO mail-pd0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750916AbbFXI5C (ORCPT ); Wed, 24 Jun 2015 04:57:02 -0400 Date: Wed, 24 Jun 2015 14:26:58 +0530 From: Viresh Kumar To: Pi-Cheng Chen Cc: Mike Turquette , Matthias Brugger , Mark Rutland , "devicetree@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Linux Kernel Mailing List , "linux-pm@vger.kernel.org" , Linaro Kernel Mailman List , linux-mediatek@lists.infradead.org Subject: Re: [PATCH 2/2] cpufreq: mediatek: Add MT8173 cpufreq driver Message-ID: <20150624085658.GF27188@linux> References: <1433766561-1330-1-git-send-email-pi-cheng.chen@linaro.org> <1433766561-1330-3-git-send-email-pi-cheng.chen@linaro.org> <20150622114511.GA28340@linux> <20150624005759.GA6424@linux> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1318 Lines: 33 On 24-06-15, 16:44, Pi-Cheng Chen wrote: > One reason to put those initialization and resource allocation in probe is > that it's easier to handle the return value -PROBE_DEFER from clock > and regulator framework when trying to get clocks and regulators > consumed by cpufreq driver. This is the sequence of events if you move these things to ->init(). - your driver's probe() -> cpufreq_register_driver() -> init() -> clk/reg get, failed, return -EPROBE_DEFER And the failure here will be propagated to probe(). So, it should work IMHO. > The other reason is when the whole system is resuming from suspend, > the other subsystem e.g. i2c on which cpufreq driver depends might not > ready yet during cpufreq driver initialization. In this case, the cpufreq > driver will be blocked when trying to get resources e.g. regulator on i2c > bus, and the whole system will stuck for seconds. That's something else you must investigate on. This dependency should be resolved in some other way, I thought DT might have taken care of such dependencies. -- viresh -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/