[PATCH 14/14] ARM: kirkwood: use devicetree to init sata_mv
Jason
jason at lakedaemon.net
Thu Mar 8 05:52:04 EST 2012
On Wed, Mar 07, 2012 at 06:40:09PM +0000, Arnd Bergmann wrote:
> On Wednesday 07 March 2012, Jason Cooper wrote:
> > @@ -504,6 +504,16 @@ static int __init kirkwood_clock_gate(void)
> > kirkwood_clk_ctrl |= CGC_USB0;
> > of_node_put(np);
> > }
> > +
> > + np = of_find_compatible_node(NULL, NULL, "mrvl,orion-sata");
> > + if (np && of_device_is_available(np)) {
> > + int nr_ports;
> > + kirkwood_clk_ctrl |= CGC_SATA0;
> > + of_property_read_u32(np, "nr-ports", &nr_ports);
> > + if (nr_ports > 1)
> > + kirkwood_clk_ctrl |= CGC_SATA1;
> > + of_node_put(np);
> > + }
> > #endif
> >
> > /* For SATA: first shutdown the phy */
>
> Is it guaranteed that it's always the first port that gets used if there
> is only one? If not, this might turn on the wrong one.
This is the same logic as mach-kirkwood/common.c:176
void __init kirkwood_sata_init(struct mv_sata_platform_data *sata_data)
{
kirkwood_clk_ctrl |= CGC_SATA0;
if (sata_data->n_ports > 1)
kirkwood_clk_ctrl |= CGC_SATA1;
orion_sata_init(sata_data, SATA_PHYS_BASE, IRQ_KIRKWOOD_SATA);
}
So, I don't think I'm introducing a regression.
thx,
Jason.
More information about the devicetree-discuss
mailing list