forked from Minki/linux
ARM: tegra: paz00: enable WiFi rfkill when booting from device tree
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>
This commit is contained in:
parent
a12c0efc7a
commit
b64a02c6fa
@ -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);
|
||||
@ -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)
|
||||
|
@ -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,
|
||||
};
|
||||
@ -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);
|
||||
@ -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();
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user