rendered paste bodydiff -Naur oss-v4.1-build080226-old/kernel/drv/hdaudio/hdaudio_codecids.h oss-v4.1-build080226-new/kernel/drv/hdaudio/hdaudio_codecids.h--- oss-v4.1-build080226-old/kernel/drv/hdaudio/hdaudio_codecids.h 2008-02-26 06:13:36.000000000 -0300+++ oss-v4.1-build080226-new/kernel/drv/hdaudio/hdaudio_codecids.h 2008-03-10 01:59:34.000000000 -0300@@ -1022,6 +1022,7 @@ extern int hdaudio_scaleoP_mixer_init (int dev, hdaudio_mixer_t * mixer, int cad, int top_group); extern int hdaudio_abit_AA8_mixer_init (int dev, hdaudio_mixer_t * mixer, int cad, int top_group); extern int hdaudio_ferrari5k_mixer_init (int dev, hdaudio_mixer_t * mixer, int cad, int top_group);+extern int hdaudio_travelmate4060_mixer_init (int dev, hdaudio_mixer_t * mixer, int cad, int top_group); extern int hdaudio_vaio_vgn_mixer_init (int dev, hdaudio_mixer_t * mixer, int cad, int top_group); static const codec_desc_t subdevices[] = {@@ -1039,6 +1040,7 @@ {0x10250000, "Ferrari5k/ALC883", VF_ALC88X_HACK, (char **) &alc883remap, 0, hdaudio_ferrari5k_mixer_init, 0x10ec0883, 0x1025010a}, {0x10250000, "Acer_aspire5052/ALC883", VF_ALC88X_HACK, (char **) &alc883remap, 0, hdaudio_ferrari5k_mixer_init, 0x10ec0883, 0x1025010f},+ {0x1025160d, "Acer_travelmate4060/ALC260", VF_NONE, (char **) &alc260remap, 0, hdaudio_travelmate4060_mixer_init, 0x10ec0260, 0x1025008f}, /* **** Sony Vaio VGN-AR51 ***diff -Naur oss-v4.1-build080226-old/kernel/drv/hdaudio/hdaudio_travelmate4060.c oss-v4.1-build080226-new/kernel/drv/hdaudio/hdaudio_travelmate4060.c--- oss-v4.1-build080226-old/kernel/drv/hdaudio/hdaudio_travelmate4060.c 1969-12-31 21:00:00.000000000 -0300+++ oss-v4.1-build080226-new/kernel/drv/hdaudio/hdaudio_travelmate4060.c 2008-03-12 20:23:07.000000000 -0300@@ -0,0 +1,37 @@+/*+ *+ * This file is part of Open Sound System.+ *+ * Copyright (C) 2008 Paulo Matias <matias@dotbsd.org>+ *+ * I hereby grant permanent and irrevocable permission for+ * 4Front Technologies to use and sublicense this code+ * unrestrictedly.+ * + * Permission is granted for third parties to use this code+ * under the terms of either BSD, GPL v2 or CDDL licenses.+ *+ */+/* Codec index is 0 */+/* Codec vendor 10ec:0260 */+/* HD codec revision 1.0 (4.0) (0x00100400) */+/* Subsystem ID 1025160d */+#include "hdaudio_cfg.h"+#include "hdaudio.h"+#include "hdaudio_codec.h"+#include "hdaudio_dedicated.h"+#include "hdaudio_mixers.h"++int+hdaudio_travelmate4060_mixer_init (int dev, hdaudio_mixer_t * mixer, int cad, int top_group)+{+ DDB(cmn_err(CE_CONT, "hdaudio_travelmate4060_mixer_init got called.\n"));++ /* Acer TravelMate 4060 and similar Aspire series, with ALC260 codec, need+ * that we init GPIO to get internal speaker and headphone jack working. */+ corb_write(mixer, cad, 0x01, 0, SET_GPIO_ENABLE, 1);+ corb_write(mixer, cad, 0x01, 0, SET_GPIO_DIR, 1);+ corb_write(mixer, cad, 0x01, 0, SET_GPIO_DATA, 1);+ + return hdaudio_generic_mixer_init(dev, mixer, cad, top_group);+}