Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / media / usb / pvrusb2 / pvrusb2-wm8775.c
diff --git a/kernel/drivers/media/usb/pvrusb2/pvrusb2-wm8775.c b/kernel/drivers/media/usb/pvrusb2/pvrusb2-wm8775.c
new file mode 100644 (file)
index 0000000..f1df94a
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ *
+ *
+ *  Copyright (C) 2005 Mike Isely <isely@pobox.com>
+ *  Copyright (C) 2004 Aurelien Alleaume <slts@free.fr>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+/*
+
+   This source file is specifically designed to interface with the
+   wm8775.
+
+*/
+
+#include "pvrusb2-wm8775.h"
+
+
+#include "pvrusb2-hdw-internal.h"
+#include "pvrusb2-debug.h"
+#include <linux/videodev2.h>
+#include <media/v4l2-common.h>
+#include <linux/errno.h>
+
+void pvr2_wm8775_subdev_update(struct pvr2_hdw *hdw, struct v4l2_subdev *sd)
+{
+       if (hdw->input_dirty || hdw->force_dirty) {
+               u32 input;
+
+               switch (hdw->input_val) {
+               case PVR2_CVAL_INPUT_RADIO:
+                       input = 1;
+                       break;
+               default:
+                       /* All other cases just use the second input */
+                       input = 2;
+                       break;
+               }
+               pvr2_trace(PVR2_TRACE_CHIPS, "subdev wm8775"
+                          " set_input(val=%d route=0x%x)",
+                          hdw->input_val, input);
+
+               sd->ops->audio->s_routing(sd, input, 0, 0);
+       }
+}