Skip to content

Commit

Permalink
ARM: tegra: paz00: enable WiFi rfkill when booting from device tree
Browse files Browse the repository at this point in the history
There currently aren't bindings for a WiFi rfkill button, and defining
a good binding is non-trivial. Manually register this "device" when
booting from device tree, in order to bring DT support to the same
feature level as board files, which will in turn allow board files to be
deprecated.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
  • Loading branch information
Stephen Warren committed Jun 20, 2012
1 parent a12c0ef commit b64a02c
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 1 deletion.
10 changes: 10 additions & 0 deletions arch/arm/mach-tegra/board-dt-tegra20.c
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,13 @@ static void __init harmony_init(void)
}
#endif

#ifdef CONFIG_MACH_PAZ00
static void __init paz00_init(void)
{
tegra_paz00_wifikill_init();
}
#endif

static struct {
char *machine;
void (*init)(void);
Expand All @@ -136,6 +143,9 @@ static struct {
#ifdef CONFIG_MACH_HARMONY
{ "nvidia,harmony", harmony_init },
#endif
#ifdef CONFIG_MACH_PAZ00
{ "compal,paz00", paz00_init },
#endif
};

static void __init tegra_dt_init_late(void)
Expand Down
7 changes: 6 additions & 1 deletion arch/arm/mach-tegra/board-paz00.c
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,6 @@ static struct platform_device *paz00_devices[] __initdata = {
&debug_uart,
&tegra_sdhci_device4,
&tegra_sdhci_device1,
&wifi_rfkill_device,
&leds_gpio,
&gpio_keys_device,
};
Expand Down Expand Up @@ -201,6 +200,11 @@ static struct tegra_sdhci_platform_data sdhci_pdata4 = {
.is_8bit = 1,
};

void __init tegra_paz00_wifikill_init(void)
{
platform_device_register(&wifi_rfkill_device);
}

static void __init tegra_paz00_init(void)
{
tegra_clk_init_from_table(paz00_clk_init_table);
Expand All @@ -211,6 +215,7 @@ static void __init tegra_paz00_init(void)
tegra_sdhci_device4.dev.platform_data = &sdhci_pdata4;

platform_add_devices(paz00_devices, ARRAY_SIZE(paz00_devices));
tegra_paz00_wifikill_init();

paz00_i2c_init();
paz00_usb_init();
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/mach-tegra/board.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,5 +53,7 @@ int __init harmony_pcie_init(void);
static inline int harmony_pcie_init(void) { return 0; }
#endif

void __init tegra_paz00_wifikill_init(void);

extern struct sys_timer tegra_timer;
#endif

0 comments on commit b64a02c

Please sign in to comment.