Re: [PATCH v3 7/7] clk: at91: add sam9x60 pmc driver

From: Alexandre Belloni
Date: Thu Apr 25 2019 - 16:31:45 EST


On 25/04/2019 12:38:55-0700, Stephen Boyd wrote:
> Quoting Alexandre Belloni (2019-04-02 05:50:56)
> > diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c
> > new file mode 100644
> > index 000000000000..22bf51c55bdc
> > --- /dev/null
> > +++ b/drivers/clk/at91/sam9x60.c
> > @@ -0,0 +1,307 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +#include <linux/clk-provider.h>
> > +#include <linux/mfd/syscon.h>
> > +#include <linux/slab.h>
> > +
> > +#include <dt-bindings/clock/at91.h>
> > +
> > +#include "pmc.h"
> > +
> > +DEFINE_SPINLOCK(pmc_pll_lock);
> > +
> > +static const struct clk_master_characteristics mck_characteristics = {
> > + .output = { .min = 140000000, .max = 200000000 },
> > + .divisors = { 1, 2, 4, 3 },
> > + .have_div3_pres = 1,
> > +};
> > +
> > +static const struct clk_master_layout sam9x60_master_layout = {
> > + .mask = 0x373,
> > + .pres_shift = 4,
> > + .offset = 0x28,
> > +};
> > +
> > +static struct clk_range plla_outputs[] = {
>
> const?
>

Right, can you fix that up or should I send a new version?

> > + { .min = 300000000, .max = 600000000 },
> > +};
> [...]
> > +
> > +}
> > +
> > +CLK_OF_DECLARE_DRIVER(sam9x60_pmc, "microchip,sam9x60-pmc", sam9x60_pmc_setup);
> > --
>
> Can't be platform device?
>

IIRC two clocks are used by the clocksource and having it as a platform
device make the clocksource driver fail with -EPROBE_DEFER.


--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com