diff options
author | Beomho Seo <beomho.seo@samsung.com> | 2014-08-08 17:22:43 +0900 |
---|---|---|
committer | Chanho Park <cometzero@review.tizen.org> | 2014-08-12 19:14:49 -0700 |
commit | 828340e880afd93c357c3851803e4b8c60fca8ff (patch) | |
tree | d21f1e4da0b341ef337a8634e7aefc0ee71a52bc | |
parent | 9c3de785bae753c04cb4d94501965f3d89718b3e (diff) | |
download | linux-3.10-828340e880afd93c357c3851803e4b8c60fca8ff.tar.gz linux-3.10-828340e880afd93c357c3851803e4b8c60fca8ff.tar.bz2 linux-3.10-828340e880afd93c357c3851803e4b8c60fca8ff.zip |
net: rfkill-gpio: Add handle clock for rfkill gpio
WORKAROUND: Temporary workaround for bluetooth enable.
This patch add clk parse and clk get function for using bluetooth.
Change-Id: Id72770e73c8b5cc895ad6a2e331899380beca7b7
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
-rw-r--r-- | net/rfkill/rfkill-gpio.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c index 9e746cbfef7..68c34bc3e85 100644 --- a/net/rfkill/rfkill-gpio.c +++ b/net/rfkill/rfkill-gpio.c @@ -44,6 +44,7 @@ struct bt_lpm_timer { struct rfkill_gpio_data { const char *name; + const char *clk_name; enum rfkill_type type; int reset_gpio; int shutdown_gpio; @@ -172,6 +173,7 @@ static int rfkill_gpio_dt_probe(struct device *dev, rfkill->name = np->name; of_property_read_string(np, "rfkill-name", &rfkill->name); + of_property_read_string(np, "clock-names", &rfkill->clk_name); of_property_read_u32(np, "rfkill-type", &rfkill->type); rfkill->shutdown_gpio = of_get_named_gpio(np, "shutdown-gpio", 0); rfkill->wake_gpio = of_get_named_gpio(np, "wake-gpio", 0); @@ -212,7 +214,6 @@ static int rfkill_gpio_probe(struct platform_device *pdev) { struct rfkill_gpio_platform_data *pdata = pdev->dev.platform_data; struct rfkill_gpio_data *rfkill; - const char *clk_name = NULL; int ret = 0; int len = 0; @@ -225,7 +226,7 @@ static int rfkill_gpio_probe(struct platform_device *pdev) if (ret) return ret; } else if (pdata) { - clk_name = pdata->power_clk_name; + rfkill->clk_name = pdata->power_clk_name; rfkill->name = pdata->name; rfkill->type = pdata->type; rfkill->reset_gpio = pdata->reset_gpio; @@ -264,7 +265,7 @@ static int rfkill_gpio_probe(struct platform_device *pdev) snprintf(rfkill->reset_name, len + 6 , "%s_reset", rfkill->name); snprintf(rfkill->shutdown_name, len + 9, "%s_shutdown", rfkill->name); - rfkill->clk = devm_clk_get(&pdev->dev, clk_name); + rfkill->clk = devm_clk_get(&pdev->dev, rfkill->clk_name); if (gpio_is_valid(rfkill->reset_gpio)) { ret = devm_gpio_request_one(&pdev->dev, rfkill->reset_gpio, |