> +static int mipi_csis_clk_get(struct csi_state *state)
> +{
> +     struct device *dev = &state->pdev->dev;
> +     int ret = true;

Better to leave ret unitialized.

> +
> +     state->mipi_clk = devm_clk_get(dev, "mipi");
> +     if (IS_ERR(state->mipi_clk)) {
> +             dev_err(dev, "Could not get mipi csi clock\n");
> +             return -ENODEV;
> +     }
> +
> +     state->phy_clk = devm_clk_get(dev, "phy");
> +     if (IS_ERR(state->phy_clk)) {
> +             dev_err(dev, "Could not get mipi phy clock\n");
> +             return -ENODEV;
> +     }
> +
> +     /* Set clock rate */
> +     if (state->clk_frequency)
> +             ret = clk_set_rate(state->mipi_clk, state->clk_frequency);
> +     else
> +             dev_warn(dev, "No clock frequency specified!\n");
> +     if (ret < 0) {
> +             dev_err(dev, "set rate=%d failed: %d\n", state->clk_frequency,
> +                     ret);
> +             return -EINVAL;

Preserve the error code.

> +     }
> +
> +     return ret;

This could be "return 0;" (let's not return true).  It might be nicer
like:

        if (!state->clk_frequency) {
                dev_warn(dev, "No clock frequency specified!\n");
                return 0;
        }

        ret = clk_set_rate(state->mipi_clk, state->clk_frequency);
        if (ret < 0)
                dev_err(dev, "set rate=%d failed: %d\n", state->clk_frequency,
                        ret);

        return ret;


> +}
> +

[ snip ]

> +static irqreturn_t mipi_csis_irq_handler(int irq, void *dev_id)
> +{
> +     struct csi_state *state = dev_id;
> +     unsigned long flags;
> +     u32 status;
> +     int i;
> +
> +     status = mipi_csis_read(state, MIPI_CSIS_INTSRC);
> +
> +     spin_lock_irqsave(&state->slock, flags);
> +
> +     /* Update the event/error counters */
> +     if ((status & MIPI_CSIS_INTSRC_ERRORS) || 1) {
                                                 ^^^
Was this supposed to make it into the published code?

> +             for (i = 0; i < MIPI_CSIS_NUM_EVENTS; i++) {
> +                     if (!(status & state->events[i].mask))
> +                             continue;
> +                     state->events[i].counter++;
> +             }
> +     }
> +     spin_unlock_irqrestore(&state->slock, flags);
> +
> +     mipi_csis_write(state, MIPI_CSIS_INTSRC, status);
> +
> +     return IRQ_HANDLED;
> +}
> +

regards,
dan carpenter


_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to