Hi Chris,

CC Woflram

On Fri, Jan 13, 2017 at 6:56 PM, Chris Brandt <chris.bra...@renesas.com> wrote:
> On Friday, January 13, 2017, Geert Uytterhoeven wrote:
>> > In sh_mobile_sdhi.c, can we change sh_mobile_sdhi_probe() so that if
>> > there are 2 clocks specified (in DT or platform data), it
>> > automatically enables the 2nd clock (forever) and just uses the 1st
>> clock as the on/off clock?
>>
>> Of course the driver can handle the second interrupt, if you update the
>> binding, and add support code for that...
>
> Of course my idea is that I would only have to update the bindings for
> RZ/A1...not any other device.
>
> My only question is, today sh_mobile_sdhi.c uses this:
>
>    priv->clk = devm_clk_get(&pdev->dev, NULL);
>
> to get the clock. But if there is a 2nd clock...how do I know the
> string id name to look to replace NULL with??

That should be specified in the bindings. "NULL" will get you the first clock.

> Or...for the RZ/A1 dtsi, should I just give the 2 clocks names:
>
>                 clocks = <&mstp12_clks R7S72100_CLK_SDHI00,
>                                 &mstp12_clks R7S72100_CLK_SDHI01>;
>                 clock-names = "core", "cd";

Something like that.
If devm_clk_get(&pdev->dev, "core") fails, you can assume a single clock
and retry with NULL.

> and then in the code do:
>
>         struct *cd_clk;
>         cd_clk = devm_clk_get(&pdev->dev, "cd");
>         if (cd_clk) {
>                 clk_prepare_enable(cd_clk);
>         }
>
>   (this simple 1-line fix patch is getting a lot more complicated)

Disclaimer: I don't know how/if the SDHI core manages clocks, and may
interfere. Adding Wolfram.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

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

Reply via email to