From 1b095edd7bc18a8e0b116771b3b76e2ef2efaa03 Mon Sep 17 00:00:00 2001 From: xilun Date: Thu, 12 Jul 2012 19:39:36 +0200 Subject: source version used for build ad5aec5e1 in binary_lkm --- xivovp/base.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'xivovp/base.c') diff --git a/xivovp/base.c b/xivovp/base.c index a945612..772908d 100644 --- a/xivovp/base.c +++ b/xivovp/base.c @@ -118,6 +118,7 @@ struct xivovp_line { static struct xivovp { struct dahdi_span span; + struct dahdi_device *ddev; struct timer_list vp_tick_timer; struct xivovp_line line[NB_LINES]; @@ -643,9 +644,12 @@ static int span_init(void) dahdi_copy_string(xivovp.span.desc, "FXO/FXS driver for Avencall's XiVO IPBX OpenHardware " "platform", sizeof(xivovp.span.desc)); - xivovp.span.manufacturer = "Avencall"; - dahdi_copy_string(xivovp.span.devicetype, "Ve890", - sizeof(xivovp.span.devicetype)); + + xivovp.ddev = dahdi_create_device(); + // BUGBUG + xivovp.ddev->manufacturer = "Avencall"; + xivovp.ddev->devicetype = kasprintf(GFP_KERNEL, "Ve890"); + xivovp.span.ops = &xivovp_span_ops; xivovp.span.channels = NB_LINES; xivovp.span.chans = xivovp.chans; @@ -678,9 +682,7 @@ static int span_init(void) spin_lock_init(&l->lock); } - init_waitqueue_head(&xivovp.span.maintq); /* still dunno what this is */ - - if (dahdi_register(&xivovp.span, /*prefmaster*/ 0)) { + if (dahdi_register_device(xivovp.ddev, &the_spi_pci_dev->dev)) { printk(KERN_WARNING DRV_NAME ": couldn't register span.\n"); return -EINVAL; } @@ -733,7 +735,6 @@ vp_init(void) VpSetOption(NULL, NULL, VP_OPTION_ID_GLOBAL_DEBUG_SELECT, &debug_select); - vpst = VpMakeDeviceObject( VP_DEV_890_SERIES, /* deviceId */ 0, @@ -856,7 +857,7 @@ test_evb_ve890_init(void) return 0; err_vp_init: - dahdi_unregister(&xivovp.span); + dahdi_unregister_device(xivovp.ddev); #endif err_dahdi_init: xivovp_cleanup(); @@ -875,7 +876,8 @@ xivovp_port0_configured_cb(void *data) printk(KERN_ERR "%s START\n", __func__); if ((rc = xivo_tdm_config_port(xivovp.tdm_port, - LE89316_MEGREZ_PROTO_XIVO_CONFIG)) + LE89316_MEGREZ_PROTO_XIVO_CONFIG, + NULL)) < 0) { printk(KERN_CRIT "%s: xivo_tdm_config_port returned %d\n", __func__, rc); @@ -899,7 +901,7 @@ xivovp_port0_configured_cb(void *data) return; err_vp_init: - dahdi_unregister(&xivovp.span); + dahdi_unregister_device(xivovp.ddev); err_config_port: xivovp_cleanup(); tlp_spidev_exit(); @@ -938,7 +940,7 @@ test_evb_ve890_exit(void) { printk(KERN_INFO DRV_NAME ": %s\n", __func__); - dahdi_unregister(&xivovp.span); + dahdi_unregister_device(xivovp.ddev); del_timer_sync(&xivovp.vp_tick_timer); /* XXX : TODO update upstream Linux doc of del_timer_sync */ -- cgit v1.2.3