* adds a rewrite of the tapi drivers + sip app. this is the result of lars' gsoc 2010 project, Thanks !

SVN-Revision: 23840
This commit is contained in:
John Crispin
2010-11-03 19:12:34 +00:00
parent 72ae8452cd
commit a8b2a07f37
79 changed files with 8271 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/tapi/tapi.h>
#include "vmmc.h"
#include "vmmc-port.h"
#include "vmmc-alm.h"
#include "vmmc-sig.h"
int vmmc_port_ring(struct tapi_device *tdev, struct tapi_port *port, bool ring)
{
struct vmmc *vmmc = tdev_to_vmmc(tdev);
return vmmc_alm_set_state(&vmmc->ports[port->id].alm,
ring ? VMMC_ALM_STATE_RING : VMMC_ALM_STATE_ONHOOK);
}
int vmmc_port_send_dtmf_event(struct tapi_device *tdev,
struct tapi_port *port, struct tapi_dtmf_event *event)
{
return 0;
}
struct vmmc_port *vmmc_port_init(struct vmmc *vmmc, struct vmmc_port *port,
struct tapi_port *tport, unsigned int id)
{
vmmc_alm_init(&port->alm, vmmc, id);
vmmc_sig_init(&port->sig, vmmc, id);
port->sig_pin = vmmc_module_get_pin(&port->sig.module);
vmmc_module_set_pin_input(&port->sig.module, port->sig_pin,
&port->alm.module);
vmmc_module_sync(&port->sig.module);
vmmc_alm_set_state(&port->alm, VMMC_ALM_STATE_ONHOOK);
tport->id = id;
tapi_endpoint_set_data(&tport->ep, &port->alm.module);
return port;
}
void vmmc_port_put(struct vmmc *vmmc, struct vmmc_port *port)
{
vmmc_module_put_pin(&port->sig.module, port->sig_pin);
}