alsa-lib-1.0.18-avr32-bad-inline.patch 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. diff -urN alsa-lib-1.0.18-0rig//src/pcm/pcm_local.h alsa-lib-1.0.18/src/pcm/pcm_local.h
  2. --- alsa-lib-1.0.18-0rig//src/pcm/pcm_local.h 2009-01-31 11:02:12.000000000 +0100
  3. +++ alsa-lib-1.0.18/src/pcm/pcm_local.h 2009-01-31 11:03:24.000000000 +0100
  4. @@ -611,6 +611,13 @@
  5. snd_pcm_hw_param_t var);
  6. int _snd_pcm_hw_param_set(snd_pcm_hw_params_t *params,
  7. snd_pcm_hw_param_t var, unsigned int val, int dir);
  8. +
  9. +#if defined(AVR32_INLINE_BUG)
  10. +int _snd_pcm_hw_params_set_format(snd_pcm_hw_params_t *params,
  11. + snd_pcm_format_t val);
  12. +int _snd_pcm_hw_params_set_subformat(snd_pcm_hw_params_t *params,
  13. + snd_pcm_subformat_t val);
  14. +#else
  15. static inline int _snd_pcm_hw_params_set_format(snd_pcm_hw_params_t *params,
  16. snd_pcm_format_t val)
  17. {
  18. @@ -624,7 +631,7 @@
  19. return _snd_pcm_hw_param_set(params, SND_PCM_HW_PARAM_SUBFORMAT,
  20. (unsigned long) val, 0);
  21. }
  22. -
  23. +#endif
  24. int _snd_pcm_hw_param_set_min(snd_pcm_hw_params_t *params,
  25. snd_pcm_hw_param_t var, unsigned int val, int dir);
  26. int _snd_pcm_hw_param_set_max(snd_pcm_hw_params_t *params,
  27. diff -urN alsa-lib-1.0.18-0rig//src/pcm/pcm_route.c alsa-lib-1.0.18/src/pcm/pcm_route.c
  28. --- alsa-lib-1.0.18-0rig//src/pcm/pcm_route.c 2009-01-31 11:02:12.000000000 +0100
  29. +++ alsa-lib-1.0.18/src/pcm/pcm_route.c 2009-01-31 11:03:18.000000000 +0100
  30. @@ -26,6 +26,7 @@
  31. *
  32. */
  33. +
  34. #include <byteswap.h>
  35. #include <math.h>
  36. #include "pcm_local.h"
  37. @@ -106,6 +107,23 @@
  38. #endif /* DOC_HIDDEN */
  39. +
  40. +#if defined(AVR32_INLINE_BUG)
  41. +int _snd_pcm_hw_params_set_format(snd_pcm_hw_params_t *params,
  42. + snd_pcm_format_t val)
  43. +{
  44. + return _snd_pcm_hw_param_set(params, SND_PCM_HW_PARAM_FORMAT,
  45. + (unsigned long) val, 0);
  46. +}
  47. +
  48. +int _snd_pcm_hw_params_set_subformat(snd_pcm_hw_params_t *params,
  49. + snd_pcm_subformat_t val)
  50. +{
  51. + return _snd_pcm_hw_param_set(params, SND_PCM_HW_PARAM_SUBFORMAT,
  52. + (unsigned long) val, 0);
  53. +}
  54. +#endif
  55. +
  56. static void snd_pcm_route_convert1_zero(const snd_pcm_channel_area_t *dst_area,
  57. snd_pcm_uframes_t dst_offset,
  58. const snd_pcm_channel_area_t *src_areas ATTRIBUTE_UNUSED,
  59. @@ -483,6 +501,8 @@
  60. snd_pcm_uframes_t frames,
  61. snd_pcm_route_params_t *params)
  62. {
  63. +#if defined(AVR32_INLINE_BUG)
  64. +#endif
  65. unsigned int dst_channel;
  66. snd_pcm_route_ttable_dst_t *dstp;
  67. const snd_pcm_channel_area_t *dst_area;
  68. @@ -551,8 +571,20 @@
  69. _snd_pcm_hw_param_set_mask(sparams, SND_PCM_HW_PARAM_ACCESS,
  70. &saccess_mask);
  71. if (route->sformat != SND_PCM_FORMAT_UNKNOWN) {
  72. +#if defined(AVR32_INLINE_BUG)
  73. +/* Start of of problem */
  74. +#endif
  75. _snd_pcm_hw_params_set_format(sparams, route->sformat);
  76. _snd_pcm_hw_params_set_subformat(sparams, SND_PCM_SUBFORMAT_STD);
  77. +#if 0
  78. + _snd_pcm_hw_param_set(sparams, SND_PCM_HW_PARAM_FORMAT,
  79. + (unsigned long) route->sformat, 0);
  80. + _snd_pcm_hw_param_set(sparams, SND_PCM_HW_PARAM_SUBFORMAT,
  81. + (unsigned long) SND_PCM_SUBFORMAT_STD, 0);
  82. +#endif
  83. +#if defined(AVR32_INLINE_BUG)
  84. +/* End of problem */
  85. +#endif
  86. }
  87. if (route->schannels >= 0) {
  88. _snd_pcm_hw_param_set(sparams, SND_PCM_HW_PARAM_CHANNELS,