diff options
author | Dinh Nguyen <dinguyen@altera.com> | 2013-12-13 17:38:28 -0500 |
---|---|---|
committer | Mike Turquette <mturquette@linaro.org> | 2014-02-18 17:08:08 -0500 |
commit | b7cec13f082fcc6e690559657d3f5493ea6eecb7 (patch) | |
tree | ec9610445a8013733e869744d442a6b67dad0ab3 | |
parent | 6a7e71221d4e6cd185a51e2659f279da67f2e22d (diff) |
clk: socfpga: Look for the GPIO_DB_CLK by its offset
After the patch:
"clk: socfpga: Map the clk manager base address in the clock driver"
The clk->name field in socfpga_clk_recalc_rate() was getting cleared. Replace
looking for the GPIO_DB_CLK by its divider offset instead.
Also rename the define SOCFPGA_DB_CLK_OFFSET -> SOCFPGA_GPIO_DB_CLK_OFFSET, as
this represents the GPIO_DB_CLK.
Signed-off-by: Dinh Nguyen <dinguyen@altera.com>
-rw-r--r-- | drivers/clk/socfpga/clk.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/clk/socfpga/clk.c b/drivers/clk/socfpga/clk.c index 4fb52e1fc848..cba21a0823b6 100644 --- a/drivers/clk/socfpga/clk.c +++ b/drivers/clk/socfpga/clk.c | |||
@@ -51,7 +51,7 @@ | |||
51 | #define SOCFPGA_NAND_CLK "nand_clk" | 51 | #define SOCFPGA_NAND_CLK "nand_clk" |
52 | #define SOCFPGA_NAND_X_CLK "nand_x_clk" | 52 | #define SOCFPGA_NAND_X_CLK "nand_x_clk" |
53 | #define SOCFPGA_MMC_CLK "sdmmc_clk" | 53 | #define SOCFPGA_MMC_CLK "sdmmc_clk" |
54 | #define SOCFPGA_DB_CLK "gpio_db_clk" | 54 | #define SOCFPGA_GPIO_DB_CLK_OFFSET 0xA8 |
55 | 55 | ||
56 | #define div_mask(width) ((1 << (width)) - 1) | 56 | #define div_mask(width) ((1 << (width)) - 1) |
57 | #define streq(a, b) (strcmp((a), (b)) == 0) | 57 | #define streq(a, b) (strcmp((a), (b)) == 0) |
@@ -234,7 +234,8 @@ static unsigned long socfpga_clk_recalc_rate(struct clk_hw *hwclk, | |||
234 | else if (socfpgaclk->div_reg) { | 234 | else if (socfpgaclk->div_reg) { |
235 | val = readl(socfpgaclk->div_reg) >> socfpgaclk->shift; | 235 | val = readl(socfpgaclk->div_reg) >> socfpgaclk->shift; |
236 | val &= div_mask(socfpgaclk->width); | 236 | val &= div_mask(socfpgaclk->width); |
237 | if (streq(hwclk->init->name, SOCFPGA_DB_CLK)) | 237 | /* Check for GPIO_DB_CLK by its offset */ |
238 | if ((int)socfpgaclk->div_reg & SOCFPGA_GPIO_DB_CLK_OFFSET) | ||
238 | div = val + 1; | 239 | div = val + 1; |
239 | else | 240 | else |
240 | div = (1 << val); | 241 | div = (1 << val); |