diff options
author | Ben Dooks <ben-linux@fluff.org> | 2010-05-04 11:23:05 +0900 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2010-05-06 09:32:20 +0900 |
commit | f4146a65fbdc5274a437f77ff2f3b4889c0edd0e (patch) | |
tree | 5ac72ea26d072a9e7c64b8c76222d9e4bdd6273c /arch/arm/mach-s3c2410 | |
parent | 7ced5eab39809539e8fc7f3fb561bd3001d535e7 (diff) | |
download | linux-f4146a65fbdc5274a437f77ff2f3b4889c0edd0e.tar.gz linux-f4146a65fbdc5274a437f77ff2f3b4889c0edd0e.tar.bz2 linux-f4146a65fbdc5274a437f77ff2f3b4889c0edd0e.zip |
ARM: H1940: Change h1940-bluetooth to use gpiolib API
Change the h1940-bluetooth driver to use gpiolib to set the output state
of GPH1.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm/mach-s3c2410')
-rw-r--r-- | arch/arm/mach-s3c2410/h1940-bluetooth.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/arch/arm/mach-s3c2410/h1940-bluetooth.c b/arch/arm/mach-s3c2410/h1940-bluetooth.c index a3f3c7b1ca38..6d06b7e2579f 100644 --- a/arch/arm/mach-s3c2410/h1940-bluetooth.c +++ b/arch/arm/mach-s3c2410/h1940-bluetooth.c @@ -33,14 +33,15 @@ static void h1940bt_enable(int on) h1940_latch_control(0, H1940_LATCH_BLUETOOTH_POWER); /* Reset the chip */ mdelay(10); - s3c2410_gpio_setpin(S3C2410_GPH(1), 1); + + gpio_set_value(S3C2410_GPH(1), 1); mdelay(10); - s3c2410_gpio_setpin(S3C2410_GPH(1), 0); + gpio_set_value(S3C2410_GPH(1), 0); } else { - s3c2410_gpio_setpin(S3C2410_GPH(1), 1); + gpio_set_value(S3C2410_GPH(1), 1); mdelay(10); - s3c2410_gpio_setpin(S3C2410_GPH(1), 0); + gpio_set_value(S3C2410_GPH(1), 0); mdelay(10); h1940_latch_control(H1940_LATCH_BLUETOOTH_POWER, 0); } @@ -61,6 +62,12 @@ static int __devinit h1940bt_probe(struct platform_device *pdev) struct rfkill *rfk; int ret = 0; + ret = gpio_request(S3C2410_GPH(1), dev_name(&pdev->dev)); + if (ret) { + dev_err(&pdev->dev, "could not get GPH1\n");\ + return ret; + } + /* Configures BT serial port GPIOs */ s3c2410_gpio_cfgpin(S3C2410_GPH(0), S3C2410_GPH0_nCTS0); s3c2410_gpio_pullup(S3C2410_GPH(0), 1); @@ -100,6 +107,7 @@ static int h1940bt_remove(struct platform_device *pdev) struct rfkill *rfk = platform_get_drvdata(pdev); platform_set_drvdata(pdev, NULL); + gpio_free(S3C2410_GPH(1)); if (rfk) { rfkill_unregister(rfk); |