[PATCH v4 2/2] Input: bcm-keypad: Add Broadcom keypad controller
sbranden at broadcom.com
Mon Mar 2 13:59:15 PST 2015
I understand what's missing now.
On 15-03-02 12:23 PM, Dmitry Torokhov wrote:
> Hi Scott,
>>> Hmm, also bcm_kp_start() and bcm_kp_stop() should check if kp->clk is
>>> valid before trying to enable/disable it.
>> I checked and other keyboard drivers do not check this. I return an
>> error in bcm_kp_start if the clk enable fails. On stop, if the clk
>> is not valid something is really, really wrong as well.
> The other drivers simply abort probe() if they can't get clock, you
> decided to allow probe() to finish and assume that clock is already
> enabled, leaving kp->clk == ERR_PTR(-ENOENT) in your version. If you try
> then calling clk_prepare_enable() with that pointer it is going to bomb,
> that is why I said you need to check pointer validity in bcm_kp_start()
> and bcm_kp_stop().
More information about the linux-arm-kernel