public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@suse.de>
To: linux-kernel@vger.kernel.org
Cc: Tzafrir Cohen <tzafrir@cohens.org.il>,
	Greg Kroah-Hartman <gregkh@suse.de>
Subject: [PATCH 17/42] Staging: echo: A separate oslec.h for external interface
Date: Wed, 22 Oct 2008 10:28:58 -0700	[thread overview]
Message-ID: <1224696563-5170-17-git-send-email-gregkh@suse.de> (raw)
In-Reply-To: <20081022172203.GA4000@kroah.com>

From: Tzafrir Cohen <tzafrir@cohens.org.il>

Split out the external interface to a separate file called oslec.h .

Give the struct a name while we're at it.

Signed-off-by: Tzafrir Cohen <tzafrir@cohens.org.il>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 drivers/staging/echo/echo.h  |   53 +------------------------
 drivers/staging/echo/oslec.h |   86 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 89 insertions(+), 50 deletions(-)
 create mode 100644 drivers/staging/echo/oslec.h

diff --git a/drivers/staging/echo/echo.h b/drivers/staging/echo/echo.h
index 7a91b43..5c8b515 100644
--- a/drivers/staging/echo/echo.h
+++ b/drivers/staging/echo/echo.h
@@ -118,21 +118,13 @@ a minor burden.
 */
 
 #include "fir.h"
-
-/* Mask bits for the adaption mode */
-#define ECHO_CAN_USE_ADAPTION	0x01
-#define ECHO_CAN_USE_NLP	0x02
-#define ECHO_CAN_USE_CNG	0x04
-#define ECHO_CAN_USE_CLIP	0x08
-#define ECHO_CAN_USE_TX_HPF	0x10
-#define ECHO_CAN_USE_RX_HPF	0x20
-#define ECHO_CAN_DISABLE	0x40
+#include "oslec.h"
 
 /*!
     G.168 echo canceller descriptor. This defines the working state for a line
     echo canceller.
 */
-typedef struct
+struct echo_can_state
 {
 	int16_t tx,rx;
 	int16_t clean;
@@ -176,45 +168,6 @@ typedef struct
 
 	/* snapshot sample of coeffs used for development */
 	int16_t *snapshot;
-} echo_can_state_t;
-
-/*! Create a voice echo canceller context.
-    \param len The length of the canceller, in samples.
-    \return The new canceller context, or NULL if the canceller could not be created.
-*/
-echo_can_state_t *echo_can_create(int len, int adaption_mode);
-
-/*! Free a voice echo canceller context.
-    \param ec The echo canceller context.
-*/
-void echo_can_free(echo_can_state_t *ec);
-
-/*! Flush (reinitialise) a voice echo canceller context.
-    \param ec The echo canceller context.
-*/
-void echo_can_flush(echo_can_state_t *ec);
-
-/*! Set the adaption mode of a voice echo canceller context.
-    \param ec The echo canceller context.
-    \param adapt The mode.
-*/
-void echo_can_adaption_mode(echo_can_state_t *ec, int adaption_mode);
-
-void echo_can_snapshot(echo_can_state_t *ec);
-
-/*! Process a sample through a voice echo canceller.
-    \param ec The echo canceller context.
-    \param tx The transmitted audio sample.
-    \param rx The received audio sample.
-    \return The clean (echo cancelled) received sample.
-*/
-int16_t echo_can_update(echo_can_state_t *ec, int16_t tx, int16_t rx);
-
-/*! Process to high pass filter the tx signal.
-    \param ec The echo canceller context.
-    \param tx The transmitted auio sample.
-    \return The HP filtered transmit sample, send this to your D/A.
-*/
-int16_t echo_can_hpf_tx(echo_can_state_t *ec, int16_t tx);
+};
 
 #endif	/* __ECHO_H */
diff --git a/drivers/staging/echo/oslec.h b/drivers/staging/echo/oslec.h
new file mode 100644
index 0000000..913fc51
--- /dev/null
+++ b/drivers/staging/echo/oslec.h
@@ -0,0 +1,86 @@
+/*
+ *  OSLEC - A line echo canceller.  This code is being developed
+ *          against and partially complies with G168. Using code from SpanDSP
+ *
+ * Written by Steve Underwood <steveu@coppice.org>
+ *         and David Rowe <david_at_rowetel_dot_com>
+ *
+ * Copyright (C) 2001 Steve Underwood and 2007-2008 David Rowe
+ *
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2, as
+ * published by the Free Software Foundation.
+ *
+ * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef __OSLEC_H
+#define __OSLEC_H
+
+/* TODO: document interface */
+
+/* Mask bits for the adaption mode */
+#define ECHO_CAN_USE_ADAPTION	0x01
+#define ECHO_CAN_USE_NLP	0x02
+#define ECHO_CAN_USE_CNG	0x04
+#define ECHO_CAN_USE_CLIP	0x08
+#define ECHO_CAN_USE_TX_HPF	0x10
+#define ECHO_CAN_USE_RX_HPF	0x20
+#define ECHO_CAN_DISABLE	0x40
+
+/*!
+    G.168 echo canceller descriptor. This defines the working state for a line
+    echo canceller.
+*/
+typedef struct echo_can_state echo_can_state_t;
+
+/*! Create a voice echo canceller context.
+    \param len The length of the canceller, in samples.
+    \return The new canceller context, or NULL if the canceller could not be created.
+*/
+echo_can_state_t *echo_can_create(int len, int adaption_mode);
+
+/*! Free a voice echo canceller context.
+    \param ec The echo canceller context.
+*/
+void echo_can_free(echo_can_state_t *ec);
+
+/*! Flush (reinitialise) a voice echo canceller context.
+    \param ec The echo canceller context.
+*/
+void echo_can_flush(echo_can_state_t *ec);
+
+/*! Set the adaption mode of a voice echo canceller context.
+    \param ec The echo canceller context.
+    \param adapt The mode.
+*/
+void echo_can_adaption_mode(echo_can_state_t *ec, int adaption_mode);
+
+void echo_can_snapshot(echo_can_state_t *ec);
+
+/*! Process a sample through a voice echo canceller.
+    \param ec The echo canceller context.
+    \param tx The transmitted audio sample.
+    \param rx The received audio sample.
+    \return The clean (echo cancelled) received sample.
+*/
+int16_t echo_can_update(echo_can_state_t *ec, int16_t tx, int16_t rx);
+
+/*! Process to high pass filter the tx signal.
+    \param ec The echo canceller context.
+    \param tx The transmitted auio sample.
+    \return The HP filtered transmit sample, send this to your D/A.
+*/
+int16_t echo_can_hpf_tx(echo_can_state_t *ec, int16_t tx);
+
+#endif	/* __OSLEC_H */
-- 
1.6.0.2


  parent reply	other threads:[~2008-10-22 17:39 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-22 17:22 [GIT PATCH] more STAGING patches for 2.6.28 Greg KH
2008-10-22 17:28 ` [PATCH 01/42] Staging: add pcc-acpi driver Greg Kroah-Hartman
2008-10-22 18:37   ` Len Brown
2008-10-22 18:48     ` Greg KH
2008-10-23  2:49       ` Len Brown
2008-10-23  4:55         ` Greg KH
2008-10-23 19:26         ` [GIT PATCH] delete pcc_acpi Len Brown
2008-10-23 20:22           ` Greg KH
2008-10-22 17:28 ` [PATCH 02/42] Staging: W35UND should depend on USB Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 03/42] linux-next: build failure Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 04/42] Staging: document 4k stack problem for winbond driver Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 05/42] Staging: Fix leak in drivers/staging/at76_usb.c Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 06/42] staging: fix potential build error in slicoss driver Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 07/42] staging: balance parenthesis in wlan-ng headers Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 08/42] Staging: Fixes for me4000 pci data collection driver Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 09/42] Staging: SLICOSS: remove duplicated #include's Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 10/42] Staging: et131x: " Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 11/42] Staging: wlan-ng: prism2: remove duplicated #include Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 12/42] staging: wlan-ng: prism2: remove more " Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 13/42] Staging: go7007: remove unused #include <version.h> Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 14/42] Staging: SLICOSS: " Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 15/42] Staging: w35und: remove some typedefs Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 16/42] Staging: sxg: replace __FUNCTION__ with __func__ Greg Kroah-Hartman
2008-10-22 17:28 ` Greg Kroah-Hartman [this message]
2008-10-22 17:28 ` [PATCH 18/42] Staging: echo: Export interface functions. Add module headers Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 19/42] Staging: echo: Replace echo_can_state_t with struct echo_can_state Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 20/42] Staging: echo: Changed preffix from echo_can_ to oslec_ Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 21/42] Staging: echo: Replace __BLACKFIN__ASM__ with __bfin__ Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 22/42] Staging: echo: fix kmalloc()/kfree() uses Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 23/42] Staging: echo: remove dead code Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 24/42] Staging: echo: remove __cplusplus macro magic Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 25/42] Staging: echo: remove annoying "end of function" markers Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 26/42] Staging: wlan-ng: fix build error if wireless networking is not enabled Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 27/42] Staging: add poch driver Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 28/42] Staging: remove remaining uses of __FUNCTION__ Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 29/42] Staging: Clean up sxg driver Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 30/42] Staging: pcc-acpi: update to latest version Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 31/42] Staging: PCC-ACPI: Fix all checkpatch errors Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 32/42] Staging: SLICOSS: Free multicast list at driver exit Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 33/42] Staging: Lindent the echo driver Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 34/42] Staging: sxg: clean up C99 comments Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 35/42] Staging: sxg: fix up unused function warnings Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 36/42] Staging: sxg: fix compiler warnings Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 37/42] Staging: w35und: remove spinlock wrappers Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 38/42] Staging: w35und: use gotos for error handling Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 39/42] Staging: w35und: module init cleanup Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 40/42] Staging: wbusb: fix a bunch of compiler warnings Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 41/42] Staging: me4000: remove some " Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 42/42] Staging: usbip: fix build warning on 64bit kernels Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1224696563-5170-17-git-send-email-gregkh@suse.de \
    --to=gregkh@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tzafrir@cohens.org.il \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox