packages (LINUX_2_6_38): kernel/alsa-driver-linuxant.patch - update to appl...

glen glen at pld-linux.org
Sat Aug 13 20:56:49 CEST 2011


Author: glen                         Date: Sat Aug 13 18:56:48 2011 GMT
Module: packages                      Tag: LINUX_2_6_38
---- Log message:
- update to apply on 26.38.8

---- Files affected:
packages/kernel:
   alsa-driver-linuxant.patch (1.1 -> 1.1.2.1) 

---- Diffs:

================================================================
Index: packages/kernel/alsa-driver-linuxant.patch
diff -u packages/kernel/alsa-driver-linuxant.patch:1.1 packages/kernel/alsa-driver-linuxant.patch:1.1.2.1
--- packages/kernel/alsa-driver-linuxant.patch:1.1	Sat Aug 13 11:07:09 2011
+++ packages/kernel/alsa-driver-linuxant.patch	Sat Aug 13 20:56:43 2011
@@ -169,9 +169,8 @@
  	snd_card_free(pci_get_drvdata(pci));
  	pci_set_drvdata(pci, NULL);
  }
-diff -urN --show-c-function alsa-driver-git20100411/alsa-kernel/pci/hda/patch_conexant.c alsa-driver-git20100411-hda/alsa-kernel/pci/hda/patch_conexant.c
---- alsa-driver-git20100411/alsa-kernel/pci/hda/patch_conexant.c	2010-04-11 13:42:02.000000000 -0400
-+++ alsa-driver-git20100411-hda/alsa-kernel/pci/hda/patch_conexant.c	2010-04-13 20:41:48.000000000 -0400
+--- kernel-2.6.38.8/sound/pci/hda/patch_conexant.c	2011-08-13 17:43:26.302928790 +0300
++++ kernel-2.6.38.8/sound/pci/hda/patch_conexant.c	2011-08-13 17:42:03.552387527 +0300
 @@ -1,10 +1,12 @@
  /*
 - * HD audio interface patch for Conexant HDA audio codec
@@ -201,7 +200,7 @@
  struct conexant_jack {
  
  	hda_nid_t nid;
-@@ -99,7 +109,7 @@
+@@ -107,7 +117,7 @@
  	int num_channel_mode;
  
  	/* PCM information */
@@ -210,10 +209,10 @@
  
  	unsigned int spdif_route;
  
-@@ -131,6 +141,14 @@
- 	unsigned int dc_enable;
- 	unsigned int dc_input_bias; /* offset into cxt5066_olpc_dc_bias */
+@@ -146,6 +156,14 @@
  	unsigned int mic_boost; /* offset into cxt5066_analog_mic_boost */
+ 
+ 	unsigned int beep_amp;
 +
 +	/* HSF modem */
 +	void *modem_devnode;
@@ -225,7 +224,7 @@
  };
  
  static int conexant_playback_pcm_open(struct hda_pcm_stream *hinfo,
-@@ -221,6 +239,42 @@
+@@ -236,6 +254,42 @@
  	return 0;
  }
  
@@ -268,7 +267,7 @@
  
  
  static struct hda_pcm_stream conexant_pcm_analog_playback = {
-@@ -301,33 +355,50 @@
+@@ -316,33 +370,50 @@
  	},
  };
  
@@ -336,9 +335,9 @@
  		info->pcm_type = HDA_PCM_TYPE_SPDIF;
  		info->stream[SNDRV_PCM_STREAM_PLAYBACK] =
  			conexant_pcm_digital_playback;
-@@ -339,6 +410,23 @@
- 			info->stream[SNDRV_PCM_STREAM_CAPTURE].nid =
- 				spec->dig_in_nid;
+@@ -453,6 +524,23 @@
+ 			}
+ 			jacks++;
  		}
 +
 +		info++;
@@ -358,9 +357,9 @@
 +		info++;
 +		codec->num_pcms++;
  	}
+ }
  
- 	return 0;
-@@ -476,20 +564,68 @@
+@@ -499,20 +587,68 @@
  }
  #endif
  
@@ -431,7 +430,7 @@
  	if (spec->jacks.list) {
  		struct conexant_jack *jacks = spec->jacks.list;
  		int i;
-@@ -501,9 +637,114 @@
+@@ -524,9 +660,114 @@
  	}
  #endif
  	snd_hda_detach_beep_device(codec);
@@ -547,19 +546,25 @@
  static struct snd_kcontrol_new cxt_capture_mixers[] = {
  	{
  		.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
-@@ -587,9 +828,46 @@
+@@ -644,11 +885,14 @@
  	.build_controls = conexant_build_controls,
  	.build_pcms = conexant_build_pcms,
  	.init = conexant_init,
 +	.exit = conexant_exit,
  	.free = conexant_free,
-+	.unsol_event = conexant_unsol_event,
-+#ifdef CONFIG_PM
-+	.suspend = conexant_suspend,
+ #ifdef CONFIG_SND_HDA_POWER_SAVE
+ 	.suspend = conexant_suspend,
 +	.resume = conexant_resume,
-+#endif
+ #endif
+ 	.reboot_notify = snd_hda_shutup_pins,
++	.unsol_event = conexant_unsol_event,
  };
  
+ #ifdef CONFIG_SND_HDA_INPUT_BEEP
+@@ -658,6 +902,37 @@
+ #define set_beep_amp(spec, nid, idx, dir) /* NOP */
+ #endif
+ 
 +static int patch_cxthsfmodem(struct hda_codec *codec)
 +{
 +	struct conexant_spec *spec;
@@ -594,7 +599,7 @@
  /*
   * EAPD control
   * the private value = nid | (invert << 8)
-@@ -762,13 +1040,15 @@
+@@ -830,13 +1105,15 @@
  static void cxt5045_hp_automic(struct hda_codec *codec)
  {
  	static struct hda_verb mic_jack_on[] = {
@@ -614,7 +619,7 @@
  		{}
  	};
  	unsigned int present;
-@@ -798,14 +1078,19 @@
+@@ -866,14 +1143,19 @@
  static void cxt5045_hp_unsol_event(struct hda_codec *codec,
  				   unsigned int res)
  {
@@ -636,23 +641,7 @@
  
  	}
  }
-@@ -1209,6 +1494,15 @@
- 		break;
- 	}
- 
-+	if(codec->mfg) {
-+		int (*cnxthwhda_probe)(void *codec, struct device *hwDev, void **ppDevNode);
-+		cnxthwhda_probe = (void*)symbol_request(cnxthwhda_probe);
-+		if(cnxthwhda_probe)
-+			symbol_put(cnxthwhda_probe);
-+		else
-+			printk(KERN_ERR"%s: Conexant HSF modem detected but driver not present\n", __FUNCTION__);
-+	}
-+
- 	return 0;
- }
- 
-@@ -1247,7 +1541,7 @@
+@@ -1321,7 +1603,7 @@
  	 * the headphone jack
  	 */
  	bits = (!spec->hp_present && spec->cur_eapd) ? 0 : HDA_AMP_MUTE;
@@ -661,7 +650,7 @@
  	 * pin widgets unlike other codecs.  In this case, we need to
  	 * set index 0x01 for the volume from the mixer amp 0x19.
  	 */
-@@ -1591,6 +1885,16 @@
+@@ -1665,6 +1947,16 @@
  		codec->patch_ops.unsol_event = cxt5047_hp_unsol_event;
  #endif	
  	}
@@ -678,7 +667,23 @@
  	spec->vmaster_nid = 0x13;
  
  	switch (codec->subsystem_id >> 16) {
-@@ -1707,6 +2011,9 @@
+@@ -1681,6 +1973,15 @@
+ 		break;
+ 	}
+ 
++	if(codec->mfg) {
++		int (*cnxthwhda_probe)(void *codec, struct device *hwDev, void **ppDevNode);
++		cnxthwhda_probe = (void*)symbol_request(cnxthwhda_probe);
++		if(cnxthwhda_probe)
++			symbol_put(cnxthwhda_probe);
++		else
++			printk(KERN_ERR"%s: Conexant HSF modem detected but driver not present\n", __FUNCTION__);
++	}
++
+ 	return 0;
+ }
+ 
+@@ -1786,6 +2087,9 @@
  	case CXT5051_PORTC_EVENT:
  		cxt5051_portc_automic(codec);
  		break;
@@ -688,7 +693,7 @@
  	}
  	conexant_report_jack(codec, nid);
  }
-@@ -1902,6 +2209,7 @@
+@@ -1990,6 +2294,7 @@
  		cxt5051_portb_automic(codec);
  		cxt5051_portc_automic(codec);
  	}
@@ -696,9 +701,9 @@
  	return 0;
  }
  
-@@ -1997,6 +2305,15 @@
- 		break;
- 	}
+@@ -2102,6 +2407,15 @@
+ 	if (spec->beep_amp)
+ 		snd_hda_attach_beep_device(codec, spec->beep_amp);
  
 +	if(codec->mfg) {
 +		int (*cnxthwhda_probe)(void *codec, struct device *hwDev, void **ppDevNode);
@@ -712,7 +717,7 @@
  	return 0;
  }
  
-@@ -3100,6 +3417,423 @@
+@@ -3927,6 +4241,423 @@
  /*
   */
  
@@ -1136,10 +1141,10 @@
  static struct hda_codec_preset snd_hda_preset_conexant[] = {
  	{ .id = 0x14f15045, .name = "CX20549 (Venice)",
  	  .patch = patch_cxt5045 },
-@@ -3113,18 +3847,28 @@
- 	  .patch = patch_cxt5066 },
- 	{ .id = 0x14f15069, .name = "CX20585",
- 	  .patch = patch_cxt5066 },
+@@ -3960,6 +4691,12 @@
+ 	  .patch = patch_conexant_auto },
+ 	{ .id = 0x14f150b9, .name = "CX20665",
+ 	  .patch = patch_conexant_auto },
 +	{ .id = 0x14f12bfa, .mfg = 2, .name = "HSF",
 +	  .patch = patch_cxthsfmodem },
 +	{ .id = 0x14f12c06, .mfg = 2, .name = "HSF",
@@ -1149,13 +1154,10 @@
  	{} /* terminator */
  };
  
-+
- MODULE_ALIAS("snd-hda-codec-id:14f15045");
- MODULE_ALIAS("snd-hda-codec-id:14f15047");
- MODULE_ALIAS("snd-hda-codec-id:14f15051");
- MODULE_ALIAS("snd-hda-codec-id:14f15066");
- MODULE_ALIAS("snd-hda-codec-id:14f15067");
- MODULE_ALIAS("snd-hda-codec-id:14f15069");
+@@ -3979,9 +4716,12 @@
+ MODULE_ALIAS("snd-hda-codec-id:14f150ac");
+ MODULE_ALIAS("snd-hda-codec-id:14f150b8");
+ MODULE_ALIAS("snd-hda-codec-id:14f150b9");
 +MODULE_ALIAS("snd-hda-codec-id:14f12bfa");
 +MODULE_ALIAS("snd-hda-codec-id:14f12c06");
 +MODULE_ALIAS("snd-hda-codec-id:14f1*");
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/alsa-driver-linuxant.patch?r1=1.1&r2=1.1.2.1&f=u



More information about the pld-cvs-commit mailing list