diff options
author | Beomho Seo <beomho.seo@samsung.com> | 2014-05-15 12:41:55 +0900 |
---|---|---|
committer | Beomho Seo <beomho.seo@samsung.com> | 2014-05-15 12:41:55 +0900 |
commit | 45d31955828a12a83d415df59a32ce5f4e4ba647 (patch) | |
tree | ef28ec1275f920bf68e9d3bcaa946bdd587bd977 | |
parent | 97d1a07837b00606d21e9e84a4f2f3ba5fc176bb (diff) | |
download | linux-3.10-devel/tizen.tar.gz linux-3.10-devel/tizen.tar.bz2 linux-3.10-devel/tizen.zip |
WORKAROUND: ARM: dts: add clock property on bt device nodedevel/tizen
WORKAROUND: Temporary workaround for bluetooth enable.
This patch add clock property on rfkill_bt device node.
And then, add parse function in rfkill-gpio driver.
Change-Id: I8928cf73284c5e56f8b5671cdb8485ac39b7f0e7
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
-rw-r--r-- | arch/arm/boot/dts/exynos4412-trats2.dts | 2 | ||||
-rw-r--r-- | net/rfkill/rfkill-gpio.c | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts b/arch/arm/boot/dts/exynos4412-trats2.dts index a995b2af577..a45b8d2346a 100644 --- a/arch/arm/boot/dts/exynos4412-trats2.dts +++ b/arch/arm/boot/dts/exynos4412-trats2.dts @@ -428,6 +428,8 @@ wake-gpio = <&gpx3 1 0>; host-wake-gpio = <&gpx2 6 0>; reset-gpio = <0>; + clocks = <&max77686 2>; + clock-names = "32khz_pmic"; }; i2c_ak8975: i2c-gpio-0 { 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, |