arm: tegra: Support for kernel command audio_codec
Laxman Dewangan [Sun, 18 Sep 2011 11:19:10 +0000 (16:19 +0530)]
Adding the handler to parse the kernel command "audio_codec".

bug 876544

Reviewed-on: http://git-master/r/56623
(cherry picked from commit b82c518354864c7dba03beea3c576edfab428efd)

Change-Id: Icb42164ea1276f4f5af941b8ba2f80076759af8b
Reviewed-on: http://git-master/r/57779
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>

Rebase-Id: Rf3a0eed42103ef830c9697da42eb685fde6f6fe9

arch/arm/mach-tegra/board.h
arch/arm/mach-tegra/common.c

index b7524f7..e3d905f 100644 (file)
@@ -109,6 +109,11 @@ enum panel_type {
        panel_type_dsi,
 };
 
+enum audio_codec_type {
+       audio_codec_none,
+       audio_codec_wm8903,
+};
+
 void tegra_get_board_info(struct board_info *);
 void tegra_get_pmu_board_info(struct board_info *bi);
 
@@ -116,5 +121,6 @@ int get_core_edp(void);
 enum panel_type get_panel_type(void);
 int tegra_get_modem_id(void);
 enum power_supply_type get_power_supply_type(void);
+enum audio_codec_type get_audio_codec_type(void);
 
 #endif
index f110d25..4b5c12a 100644 (file)
@@ -133,6 +133,7 @@ void tegra_assert_system_reset(char mode, const char *cmd)
 }
 static int modem_id;
 static int debug_uart_port_id;
+static enum audio_codec_type audio_codec_name;
 
 void tegra_init_cache(u32 tag_latency, u32 data_latency)
 {
@@ -386,6 +387,24 @@ int get_tegra_uart_debug_port_id(void)
 }
 __setup("debug_uartport=", tegra_debug_uartport);
 
+static int __init tegra_audio_codec_type(char *info)
+{
+       char *p = info;
+       if (!strncmp(p, "wm8903", 6))
+               audio_codec_name = audio_codec_wm8903;
+       else
+               audio_codec_name = audio_codec_none;
+
+       return 1;
+}
+
+enum audio_codec_type get_audio_codec_type(void)
+{
+       return audio_codec_name;
+}
+__setup("audio_codec=", tegra_audio_codec_type);
+
+
 void tegra_get_board_info(struct board_info *bi)
 {
        bi->board_id = (system_serial_high >> 16) & 0xFFFF;