Re: [PATCH v4 07/11] rtc: isl1208: Add isl1208_set_xtoscb()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Biju,

On Thu, May 18, 2023 at 1:37 PM Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote:
> As per the HW manual, setting of XTOSCB bit as follws

... set the XTOSCB bit as follows:

> If using an external clock signal, set the XTOSCB bit as 1 to
> disable the crystal oscillator.
>
> If using an external crystal, the XTOSCB bit needs to be set at 0
> to enable the crystal oscillator.
>
> Add isl1208_set_xtoscb() to set XTOSCB bit based on the clock-names
> property. Fallback is enabling the internal crystal oscillator.
>
> While at it, introduce a variable "sr" for reading status register

the status register

> in probe() as it is reused for writing.
>
> Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
> ---
> v4:
>  * New patch.

Thanks for your patch!

> --- a/drivers/rtc/rtc-isl1208.c
> +++ b/drivers/rtc/rtc-isl1208.c

> @@ -837,6 +852,13 @@ isl1208_probe(struct i2c_client *client)
>                 isl1208->config = (struct isl1208_config *)id->driver_data;
>         }
>
> +       xin = devm_clk_get(&client->dev, "xin");
> +       if (IS_ERR(xin)) {
> +               clkin = devm_clk_get(&client->dev, "clkin");
> +               if (!IS_ERR(clkin))
> +                       int_osc_en = false;
> +       }

devm_clk_get_optional()
(doesn't devm_clk_get() print an error message?)

And check for NULL to find out if a clock is present.
IS_ERR() is a real error condition to be propagated.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



[Index of Archives]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux