diff options
author | Nicolas Ferre <nicolas.ferre@atmel.com> | 2015-03-31 15:02:03 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-03-31 16:51:17 -0400 |
commit | c69618b3e4f220f4990b91596d40ea3c4cdc938a (patch) | |
tree | 08ed269c3126186d5fb9bb2c0bdfecfe5f0435f8 /drivers/net/ethernet/cadence/macb.h | |
parent | ad78347f06581e445790343bc1d9e34375f11fd4 (diff) | |
download | linux-c69618b3e4f220f4990b91596d40ea3c4cdc938a.tar.bz2 |
net/macb: fix probe sequence to setup clocks earlier
As accessing the peripheral registers need the clocks to be set, we have to
enable them as soon as possible. Their configuration depend on the type of
device used and determined by the DT compatible string. That lead to add
another initialization function in the DT configuration structure.
As the device private structure length depend on an information read in the
registers, we have to store the clock pointers in temporary variables before
feeding the structure fields.
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/cadence/macb.h')
-rw-r--r-- | drivers/net/ethernet/cadence/macb.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cadence/macb.h index 0b6afac91bfe..5f9950e84c5e 100644 --- a/drivers/net/ethernet/cadence/macb.h +++ b/drivers/net/ethernet/cadence/macb.h @@ -754,6 +754,8 @@ struct macb_or_gem_ops { struct macb_config { u32 caps; unsigned int dma_burst_length; + int (*clk_init)(struct platform_device *pdev, struct clk **pclk, + struct clk **hclk, struct clk **tx_clk); int (*init)(struct platform_device *pdev); }; |