@@ -185,6 +185,7 @@ static void psif_set_prescaler(struct psif *psif)
{
unsigned long prscv;
unsigned long rate = clk_get_rate(psif->pclk);
+ int retval;
/* PRSCV = Pulse length (100 us) * PSIF module frequency. */
prscv = 100 * (rate / 1000000UL);
@@ -195,7 +196,12 @@ static void psif_set_prescaler(struct psif *psif)
"prescaler set to max\n");
}
- clk_enable(psif->pclk);
+ retval = clk_enable(psif->pclk);
+ if (retval < 0) {
+ dev_err(&psif->pdev->dev,
+ "could not enable pclk, ret %d\n", retval);
+ return;
+ }
psif_writel(psif, PSR, prscv);
clk_disable(psif->pclk);
}
We should print the err if clk_enable failed. Signed-off-by: WEN Pingbo <pingbo.wen@linaro.org> --- drivers/input/serio/at32psif.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)