Re: [PATCH 14/14] ARM: kirkwood: use devicetree to init sata_mv
From: Jason <hidden>
Date: 2012-03-07 18:52:04
Also in:
linux-arm-kernel
On Wed, Mar 07, 2012 at 06:40:09PM +0000, Arnd Bergmann wrote:
On Wednesday 07 March 2012, Jason Cooper wrote:quoted
@@ -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.