aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/tosa.c
diff options
context:
space:
mode:
authorDmitry Baryshkov <dbaryshkov@gmail.com>2008-07-05 04:02:48 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-07-07 08:22:10 -0400
commit16b32fd0a35b30cbd67395cfcbd360354db44f39 (patch)
tree1d4ded0a19ea134a8dd29e33fec07b8712b4f6d7 /arch/arm/mach-pxa/tosa.c
parent5289fecda021828af85fccc8cc2613a85d0fcf52 (diff)
[ARM] 5150/1: Tosa: support built-in bluetooth power-up
The driver is pretty much generic and will be later shared with a few other devices, like hx4700 ipaq. Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-pxa/tosa.c')
-rw-r--r--arch/arm/mach-pxa/tosa.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c
index fa903e7ae624..5a9d329f5045 100644
--- a/arch/arm/mach-pxa/tosa.c
+++ b/arch/arm/mach-pxa/tosa.c
@@ -31,6 +31,7 @@
31#include <linux/input.h> 31#include <linux/input.h>
32#include <linux/gpio.h> 32#include <linux/gpio.h>
33#include <linux/pda_power.h> 33#include <linux/pda_power.h>
34#include <linux/rfkill.h>
34 35
35#include <asm/setup.h> 36#include <asm/setup.h>
36#include <asm/mach-types.h> 37#include <asm/mach-types.h>
@@ -40,6 +41,7 @@
40#include <asm/arch/i2c.h> 41#include <asm/arch/i2c.h>
41#include <asm/arch/mmc.h> 42#include <asm/arch/mmc.h>
42#include <asm/arch/udc.h> 43#include <asm/arch/udc.h>
44#include <asm/arch/tosa_bt.h>
43 45
44#include <asm/mach/arch.h> 46#include <asm/mach/arch.h>
45#include <asm/arch/tosa.h> 47#include <asm/arch/tosa.h>
@@ -562,7 +564,7 @@ static struct gpio_led tosa_gpio_leds[] = {
562 }, 564 },
563 { 565 {
564 .name = "tosa:blue:bluetooth", 566 .name = "tosa:blue:bluetooth",
565 .default_trigger = "none", 567 .default_trigger = "tosa-bt",
566 .gpio = TOSA_GPIO_BT_LED, 568 .gpio = TOSA_GPIO_BT_LED,
567 }, 569 },
568}; 570};
@@ -732,6 +734,18 @@ static struct platform_device tc6393xb_device = {
732 .resource = tc6393xb_resources, 734 .resource = tc6393xb_resources,
733}; 735};
734 736
737static struct tosa_bt_data tosa_bt_data = {
738 .gpio_pwr = TOSA_GPIO_BT_PWR_EN,
739 .gpio_reset = TOSA_GPIO_BT_RESET,
740};
741
742static struct platform_device tosa_bt_device = {
743 .name = "tosa-bt",
744 .id = -1,
745 .dev.platform_data = &tosa_bt_data,
746};
747
748
735static struct platform_device *devices[] __initdata = { 749static struct platform_device *devices[] __initdata = {
736 &tosascoop_device, 750 &tosascoop_device,
737 &tosascoop_jc_device, 751 &tosascoop_jc_device,
@@ -740,6 +754,7 @@ static struct platform_device *devices[] __initdata = {
740 &tosakbd_device, 754 &tosakbd_device,
741 &tosa_gpio_keys_device, 755 &tosa_gpio_keys_device,
742 &tosaled_device, 756 &tosaled_device,
757 &tosa_bt_device,
743}; 758};
744 759
745static void tosa_poweroff(void) 760static void tosa_poweroff(void)