From d38757f4656028800e393c91bf3fec1986eb0200 Mon Sep 17 00:00:00 2001
From: Josh Blum <josh@joshknows.com>
Date: Wed, 29 Jun 2011 13:23:18 -0700
Subject: usrp: deleted a bunch on obsoleted files in usrp directory

---
 host/lib/usrp/CMakeLists.txt             |   3 -
 host/lib/usrp/dboard/db_basic_and_lf.cpp |   1 -
 host/lib/usrp/dboard/db_dbsrx.cpp        |   1 -
 host/lib/usrp/dboard/db_dbsrx2.cpp       |   1 -
 host/lib/usrp/dboard/db_rfx.cpp          |   1 -
 host/lib/usrp/dboard/db_sbx.cpp          |   1 -
 host/lib/usrp/dboard/db_tvrx.cpp         |   1 -
 host/lib/usrp/dboard/db_tvrx2.cpp        |   1 -
 host/lib/usrp/dboard/db_unknown.cpp      |   1 -
 host/lib/usrp/dboard/db_wbx_common.cpp   |   1 -
 host/lib/usrp/dboard/db_wbx_simple.cpp   |   1 -
 host/lib/usrp/dboard/db_xcvr2450.cpp     |   1 -
 host/lib/usrp/dboard_manager.cpp         |   1 -
 host/lib/usrp/dsp_utils.cpp              | 141 -------------------
 host/lib/usrp/misc_utils.cpp             | 225 -------------------------------
 host/lib/usrp/multi_usrp.cpp             |   1 -
 host/lib/usrp/tune_helper.cpp            | 147 --------------------
 host/lib/usrp2/io_impl.cpp               |   2 -
 18 files changed, 531 deletions(-)
 delete mode 100644 host/lib/usrp/dsp_utils.cpp
 delete mode 100644 host/lib/usrp/misc_utils.cpp
 delete mode 100644 host/lib/usrp/tune_helper.cpp

(limited to 'host/lib')

diff --git a/host/lib/usrp/CMakeLists.txt b/host/lib/usrp/CMakeLists.txt
index 554da369e..21e44509c 100644
--- a/host/lib/usrp/CMakeLists.txt
+++ b/host/lib/usrp/CMakeLists.txt
@@ -24,13 +24,10 @@ LIBUHD_APPEND_SOURCES(
     ${CMAKE_CURRENT_SOURCE_DIR}/dboard_id.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/dboard_iface.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/dboard_manager.cpp
-    ${CMAKE_CURRENT_SOURCE_DIR}/dsp_utils.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/gps_ctrl.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/mboard_eeprom.cpp
-    ${CMAKE_CURRENT_SOURCE_DIR}/misc_utils.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/multi_usrp.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/subdev_spec.cpp
-    ${CMAKE_CURRENT_SOURCE_DIR}/tune_helper.cpp
 )
 
 INCLUDE_SUBDIRECTORY(cores)
diff --git a/host/lib/usrp/dboard/db_basic_and_lf.cpp b/host/lib/usrp/dboard/db_basic_and_lf.cpp
index 05c989a97..ff93f1d89 100644
--- a/host/lib/usrp/dboard/db_basic_and_lf.cpp
+++ b/host/lib/usrp/dboard/db_basic_and_lf.cpp
@@ -15,7 +15,6 @@
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //
 
-#include <uhd/usrp/subdev_props.hpp>
 #include <uhd/types/dict.hpp>
 #include <uhd/types/ranges.hpp>
 #include <uhd/utils/assert_has.hpp>
diff --git a/host/lib/usrp/dboard/db_dbsrx.cpp b/host/lib/usrp/dboard/db_dbsrx.cpp
index cfe06db29..c65c52590 100644
--- a/host/lib/usrp/dboard/db_dbsrx.cpp
+++ b/host/lib/usrp/dboard/db_dbsrx.cpp
@@ -28,7 +28,6 @@
 #include <uhd/types/ranges.hpp>
 #include <uhd/types/sensors.hpp>
 #include <uhd/types/dict.hpp>
-#include <uhd/usrp/subdev_props.hpp>
 #include <uhd/usrp/dboard_base.hpp>
 #include <uhd/usrp/dboard_manager.hpp>
 #include <boost/assign/list_of.hpp>
diff --git a/host/lib/usrp/dboard/db_dbsrx2.cpp b/host/lib/usrp/dboard/db_dbsrx2.cpp
index aaced7a5d..93bab5aec 100644
--- a/host/lib/usrp/dboard/db_dbsrx2.cpp
+++ b/host/lib/usrp/dboard/db_dbsrx2.cpp
@@ -25,7 +25,6 @@
 #include <uhd/types/ranges.hpp>
 #include <uhd/types/sensors.hpp>
 #include <uhd/types/dict.hpp>
-#include <uhd/usrp/subdev_props.hpp>
 #include <uhd/usrp/dboard_base.hpp>
 #include <uhd/usrp/dboard_manager.hpp>
 #include <boost/assign/list_of.hpp>
diff --git a/host/lib/usrp/dboard/db_rfx.cpp b/host/lib/usrp/dboard/db_rfx.cpp
index 61f9130d4..14129ef72 100644
--- a/host/lib/usrp/dboard/db_rfx.cpp
+++ b/host/lib/usrp/dboard/db_rfx.cpp
@@ -34,7 +34,6 @@
 
 #include "adf4360_regs.hpp"
 #include <uhd/types/dict.hpp>
-#include <uhd/usrp/subdev_props.hpp>
 #include <uhd/types/ranges.hpp>
 #include <uhd/types/sensors.hpp>
 #include <uhd/utils/assert_has.hpp>
diff --git a/host/lib/usrp/dboard/db_sbx.cpp b/host/lib/usrp/dboard/db_sbx.cpp
index 6ca89b81a..aa9556e77 100644
--- a/host/lib/usrp/dboard/db_sbx.cpp
+++ b/host/lib/usrp/dboard/db_sbx.cpp
@@ -74,7 +74,6 @@
 
 #include "adf4350_regs.hpp"
 #include <uhd/types/dict.hpp>
-#include <uhd/usrp/subdev_props.hpp>
 #include <uhd/types/ranges.hpp>
 #include <uhd/types/sensors.hpp>
 #include <uhd/utils/assert_has.hpp>
diff --git a/host/lib/usrp/dboard/db_tvrx.cpp b/host/lib/usrp/dboard/db_tvrx.cpp
index 1ff0fb785..3b8b276e0 100644
--- a/host/lib/usrp/dboard/db_tvrx.cpp
+++ b/host/lib/usrp/dboard/db_tvrx.cpp
@@ -35,7 +35,6 @@
 #include <uhd/types/ranges.hpp>
 #include <uhd/types/sensors.hpp>
 #include <uhd/types/dict.hpp>
-#include <uhd/usrp/subdev_props.hpp>
 #include <uhd/usrp/dboard_base.hpp>
 #include <uhd/usrp/dboard_manager.hpp>
 #include <boost/assign/list_of.hpp>
diff --git a/host/lib/usrp/dboard/db_tvrx2.cpp b/host/lib/usrp/dboard/db_tvrx2.cpp
index 39ff90d79..23f203b8c 100644
--- a/host/lib/usrp/dboard/db_tvrx2.cpp
+++ b/host/lib/usrp/dboard/db_tvrx2.cpp
@@ -59,7 +59,6 @@
 #include <uhd/types/ranges.hpp>
 #include <uhd/types/sensors.hpp>
 #include <uhd/types/dict.hpp>
-#include <uhd/usrp/subdev_props.hpp>
 #include <uhd/usrp/dboard_base.hpp>
 #include <uhd/usrp/dboard_manager.hpp>
 #include <boost/assign/list_of.hpp>
diff --git a/host/lib/usrp/dboard/db_unknown.cpp b/host/lib/usrp/dboard/db_unknown.cpp
index 19f0f1c71..0587d015c 100644
--- a/host/lib/usrp/dboard/db_unknown.cpp
+++ b/host/lib/usrp/dboard/db_unknown.cpp
@@ -15,7 +15,6 @@
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //
 
-#include <uhd/usrp/subdev_props.hpp>
 #include <uhd/types/ranges.hpp>
 #include <uhd/utils/assert_has.hpp>
 #include <uhd/utils/static.hpp>
diff --git a/host/lib/usrp/dboard/db_wbx_common.cpp b/host/lib/usrp/dboard/db_wbx_common.cpp
index 1a016e89c..81aba6426 100644
--- a/host/lib/usrp/dboard/db_wbx_common.cpp
+++ b/host/lib/usrp/dboard/db_wbx_common.cpp
@@ -61,7 +61,6 @@
 #include "adf4350_regs.hpp"
 #include <uhd/utils/log.hpp>
 #include <uhd/types/dict.hpp>
-#include <uhd/usrp/subdev_props.hpp>
 #include <uhd/types/ranges.hpp>
 #include <uhd/types/sensors.hpp>
 #include <uhd/utils/assert_has.hpp>
diff --git a/host/lib/usrp/dboard/db_wbx_simple.cpp b/host/lib/usrp/dboard/db_wbx_simple.cpp
index 602ce389d..ae466b08a 100644
--- a/host/lib/usrp/dboard/db_wbx_simple.cpp
+++ b/host/lib/usrp/dboard/db_wbx_simple.cpp
@@ -26,7 +26,6 @@
 #include <uhd/utils/static.hpp>
 #include <uhd/utils/assert_has.hpp>
 #include <uhd/usrp/dboard_manager.hpp>
-#include <uhd/usrp/subdev_props.hpp>
 #include <boost/assign/list_of.hpp>
 
 using namespace uhd;
diff --git a/host/lib/usrp/dboard/db_xcvr2450.cpp b/host/lib/usrp/dboard/db_xcvr2450.cpp
index fcd05ea04..b88eb2a95 100644
--- a/host/lib/usrp/dboard/db_xcvr2450.cpp
+++ b/host/lib/usrp/dboard/db_xcvr2450.cpp
@@ -56,7 +56,6 @@
 #include <uhd/types/ranges.hpp>
 #include <uhd/types/sensors.hpp>
 #include <uhd/types/dict.hpp>
-#include <uhd/usrp/subdev_props.hpp>
 #include <uhd/usrp/dboard_base.hpp>
 #include <uhd/usrp/dboard_manager.hpp>
 #include <boost/assign/list_of.hpp>
diff --git a/host/lib/usrp/dboard_manager.cpp b/host/lib/usrp/dboard_manager.cpp
index 5fa10f215..fae3d35b3 100644
--- a/host/lib/usrp/dboard_manager.cpp
+++ b/host/lib/usrp/dboard_manager.cpp
@@ -17,7 +17,6 @@
 
 #include "dboard_ctor_args.hpp"
 #include <uhd/usrp/dboard_manager.hpp>
-#include <uhd/usrp/subdev_props.hpp>
 #include <uhd/utils/msg.hpp>
 #include <uhd/utils/log.hpp>
 #include <uhd/utils/safe_call.hpp>
diff --git a/host/lib/usrp/dsp_utils.cpp b/host/lib/usrp/dsp_utils.cpp
deleted file mode 100644
index 2686e895b..000000000
--- a/host/lib/usrp/dsp_utils.cpp
+++ /dev/null
@@ -1,141 +0,0 @@
-//
-// Copyright 2010-2011 Ettus Research LLC
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// 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, see <http://www.gnu.org/licenses/>.
-//
-
-#include <uhd/usrp/dsp_utils.hpp>
-#include <uhd/types/dict.hpp>
-#include <uhd/exception.hpp>
-#include <boost/assign/list_of.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/math/special_functions/round.hpp>
-#include <boost/math/special_functions/sign.hpp>
-#include <algorithm>
-#include <cmath>
-
-using namespace uhd;
-using namespace uhd::usrp;
-
-template <class T> T ceil_log2(T num){
-    return std::ceil(std::log(num)/std::log(T(2)));
-}
-
-/*!
- *     3                   2                   1                   0
- *   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
- *  +-------------------------------+-------+-------+-------+-------+
- *  |                                               | DDC0Q | DDC0I |
- *  +-------------------------------+-------+-------+-------+-------+
- */
-boost::uint32_t dsp_type1::calc_rx_mux_word(subdev_conn_t subdev_conn){
-    switch(subdev_conn){
-    case SUBDEV_CONN_COMPLEX_IQ: return (0x1 << 4) | (0x0 << 0); //DDC0Q=ADC0Q, DDC0I=ADC0I
-    case SUBDEV_CONN_COMPLEX_QI: return (0x0 << 4) | (0x1 << 0); //DDC0Q=ADC0I, DDC0I=ADC0Q
-    case SUBDEV_CONN_REAL_I:     return (0xf << 4) | (0x0 << 0); //DDC0Q=ZERO,  DDC0I=ADC0I
-    case SUBDEV_CONN_REAL_Q:     return (0xf << 4) | (0x1 << 0); //DDC0Q=ZERO,  DDC0I=ADC0Q
-    default:                     UHD_THROW_INVALID_CODE_PATH();
-    }
-}
-
-/*!
- *     3                   2                   1                   0
- *   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
- *  +-------------------------------+-------+-------+-------+-------+
- *  |                                               | DAC0Q | DAC0I |
- *  +-------------------------------+-------+-------+-------+-------+
- */
-boost::uint32_t dsp_type1::calc_tx_mux_word(subdev_conn_t subdev_conn){
-    switch(subdev_conn){
-    case SUBDEV_CONN_COMPLEX_IQ: return (0x1 << 4) | (0x0 << 0); //DAC0Q=DUC0Q, DAC0I=DUC0I
-    case SUBDEV_CONN_COMPLEX_QI: return (0x0 << 4) | (0x1 << 0); //DAC0Q=DUC0I, DAC0I=DUC0Q
-    case SUBDEV_CONN_REAL_I:     return (0xf << 4) | (0x0 << 0); //DAC0Q=ZERO,  DAC0I=DUC0I
-    case SUBDEV_CONN_REAL_Q:     return (0x0 << 4) | (0xf << 0); //DAC0Q=DUC0I, DAC0I=ZERO
-    default:                     UHD_THROW_INVALID_CODE_PATH();
-    }
-}
-
-boost::uint32_t dsp_type1::calc_cordic_word_and_update(
-    double &freq, double codec_rate
-){
-    //correct for outside of rate (wrap around)
-    freq = std::fmod(freq, codec_rate);
-    if (std::abs(freq) > codec_rate/2.0)
-        freq -= boost::math::sign(freq)*codec_rate;
-
-    //calculate the freq register word (signed)
-    UHD_ASSERT_THROW(std::abs(freq) <= codec_rate/2.0);
-    static const double scale_factor = std::pow(2.0, 32);
-    boost::int32_t freq_word = boost::int32_t(boost::math::round((freq / codec_rate) * scale_factor));
-
-    //update the actual frequency
-    freq = (double(freq_word) / scale_factor) * codec_rate;
-
-    return boost::uint32_t(freq_word);
-}
-
-boost::uint32_t dsp_type1::calc_cic_filter_word(unsigned rate){
-    int hb0 = 0, hb1 = 0;
-    if (not (rate & 0x1)){
-        hb0 = 1;
-        rate /= 2;
-    }
-    if (not (rate & 0x1)){
-        hb1 = 1;
-        rate /= 2;
-    }
-    return (hb1 << 9) | (hb0 << 8) | (rate & 0xff);
-}
-
-boost::uint32_t dsp_type1::calc_iq_scale_word(
-    boost::int16_t i, boost::int16_t q
-){
-    return (boost::uint32_t(i) << 16) | (boost::uint32_t(q) << 0);
-}
-
-boost::uint32_t dsp_type1::calc_iq_scale_word(unsigned rate){
-    // Calculate CIC interpolation (i.e., without halfband interpolators)
-    unsigned tmp_rate = calc_cic_filter_word(rate) & 0xff;
-
-    // Calculate closest multiplier constant to reverse gain absent scale multipliers
-    double rate_cubed = std::pow(double(tmp_rate), 3);
-    boost::int16_t scale = boost::math::iround((4096*std::pow(2, ceil_log2(rate_cubed)))/(1.65*rate_cubed));
-    return calc_iq_scale_word(scale, scale);
-}
-
-boost::uint32_t dsp_type1::calc_stream_cmd_word(const stream_cmd_t &stream_cmd){
-    UHD_ASSERT_THROW(stream_cmd.num_samps <= 0x3fffffff);
-
-    //setup the mode to instruction flags
-    typedef boost::tuple<bool, bool, bool> inst_t;
-    static const uhd::dict<stream_cmd_t::stream_mode_t, inst_t> mode_to_inst = boost::assign::map_list_of
-                                                            //reload, chain, samps
-        (stream_cmd_t::STREAM_MODE_START_CONTINUOUS,   inst_t(true,  true,  false))
-        (stream_cmd_t::STREAM_MODE_STOP_CONTINUOUS,    inst_t(false, false, false))
-        (stream_cmd_t::STREAM_MODE_NUM_SAMPS_AND_DONE, inst_t(false, false, true))
-        (stream_cmd_t::STREAM_MODE_NUM_SAMPS_AND_MORE, inst_t(false, true,  true))
-    ;
-
-    //setup the instruction flag values
-    bool inst_reload, inst_chain, inst_samps;
-    boost::tie(inst_reload, inst_chain, inst_samps) = mode_to_inst[stream_cmd.stream_mode];
-
-    //calculate the word from flags and length
-    boost::uint32_t word = 0;
-    word |= boost::uint32_t((stream_cmd.stream_now)? 1 : 0) << 31;
-    word |= boost::uint32_t((inst_chain)?            1 : 0) << 30;
-    word |= boost::uint32_t((inst_reload)?           1 : 0) << 29;
-    word |= (inst_samps)? stream_cmd.num_samps : ((inst_chain)? 1 : 0);
-    return word;
-}
diff --git a/host/lib/usrp/misc_utils.cpp b/host/lib/usrp/misc_utils.cpp
deleted file mode 100644
index ddcad41cf..000000000
--- a/host/lib/usrp/misc_utils.cpp
+++ /dev/null
@@ -1,225 +0,0 @@
-//
-// Copyright 2010-2011 Ettus Research LLC
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// 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, see <http://www.gnu.org/licenses/>.
-//
-
-#include <uhd/usrp/misc_utils.hpp>
-#include <uhd/utils/assert_has.hpp>
-#include <uhd/utils/algorithm.hpp>
-#include <uhd/utils/gain_group.hpp>
-#include <uhd/usrp/dboard_eeprom.hpp>
-#include <uhd/usrp/subdev_props.hpp>
-#include <uhd/usrp/mboard_props.hpp>
-#include <uhd/usrp/dboard_props.hpp>
-#include <uhd/usrp/codec_props.hpp>
-#include <boost/bind.hpp>
-#include <boost/foreach.hpp>
-#include <boost/format.hpp>
-
-using namespace uhd;
-using namespace uhd::usrp;
-
-/***********************************************************************
- * codec gain group helper functions:
- *    do this so we dont have to bind a templated function
- **********************************************************************/
-static gain_range_t get_codec_gain_range(wax::obj codec, const std::string &name){
-    return codec[named_prop_t(CODEC_PROP_GAIN_RANGE, name)].as<gain_range_t>();
-}
-
-static double get_codec_gain_i(wax::obj codec, const std::string &name){
-    return codec[named_prop_t(CODEC_PROP_GAIN_I, name)].as<double>();
-}
-
-static double get_codec_gain_q(wax::obj codec, const std::string &name){
-    return codec[named_prop_t(CODEC_PROP_GAIN_Q, name)].as<double>();
-}
-
-static void set_codec_gain_both(wax::obj codec, const std::string &name, double gain){
-    codec[named_prop_t(CODEC_PROP_GAIN_I, name)] = gain;
-    codec[named_prop_t(CODEC_PROP_GAIN_Q, name)] = gain;
-}
-
-static void set_codec_gain_i(wax::obj codec, const std::string &name, double gain){
-    codec[named_prop_t(CODEC_PROP_GAIN_I, name)] = gain;
-}
-
-static void set_codec_gain_q(wax::obj codec, const std::string &name, double gain){
-    codec[named_prop_t(CODEC_PROP_GAIN_Q, name)] = gain;
-}
-
-/***********************************************************************
- * subdev gain group helper functions:
- *    do this so we dont have to bind a templated function
- **********************************************************************/
-static double get_subdev_gain(wax::obj subdev, const std::string &name){
-    return subdev[named_prop_t(SUBDEV_PROP_GAIN, name)].as<double>();
-}
-
-static gain_range_t get_subdev_gain_range(wax::obj subdev, const std::string &name){
-    return subdev[named_prop_t(SUBDEV_PROP_GAIN_RANGE, name)].as<gain_range_t>();
-}
-
-static void set_subdev_gain(wax::obj subdev, const std::string &name, double gain){
-    subdev[named_prop_t(SUBDEV_PROP_GAIN, name)] = gain;
-}
-
-/***********************************************************************
- * gain group factory function for usrp
- **********************************************************************/
-gain_group::sptr usrp::make_gain_group(
-    const dboard_id_t &dboard_id,
-    wax::obj subdev, wax::obj codec,
-    gain_group_policy_t gain_group_policy
-){
-    const size_t subdev_gain_priority = 1;
-    const size_t codec_gain_priority = (gain_group_policy == GAIN_GROUP_POLICY_RX)?
-        (subdev_gain_priority - 1): //RX policy, codec gains fill last (lower priority)
-        (subdev_gain_priority + 1); //TX policy, codec gains fill first (higher priority)
-    const std::string subdev_prefix = dboard_id.to_cname() + "-";
-    const std::string codec_prefix = (gain_group_policy == GAIN_GROUP_POLICY_RX)? "ADC-" : "DAC-";
-
-    gain_group::sptr gg = gain_group::make();
-    gain_fcns_t fcns;
-    //add all the subdev gains first (antenna to dsp order)
-    BOOST_FOREACH(const std::string &name, subdev[SUBDEV_PROP_GAIN_NAMES].as<prop_names_t>()){
-        fcns.get_range = boost::bind(&get_subdev_gain_range, subdev, name);
-        fcns.get_value = boost::bind(&get_subdev_gain, subdev, name);
-        fcns.set_value = boost::bind(&set_subdev_gain, subdev, name, _1);
-        gg->register_fcns(subdev_prefix+name, fcns, subdev_gain_priority);
-    }
-    //add all the codec gains last (antenna to dsp order)
-    BOOST_FOREACH(const std::string &name, codec[CODEC_PROP_GAIN_NAMES].as<prop_names_t>()){
-        fcns.get_range = boost::bind(&get_codec_gain_range, codec, name);
-
-        //register the value functions depending upon the connection type
-        switch(subdev[SUBDEV_PROP_CONNECTION].as<subdev_conn_t>()){
-        case SUBDEV_CONN_COMPLEX_IQ:
-        case SUBDEV_CONN_COMPLEX_QI:
-            fcns.get_value = boost::bind(&get_codec_gain_i, codec, name); //same as Q
-            fcns.set_value = boost::bind(&set_codec_gain_both, codec, name, _1); //sets both
-            break;
-
-        case SUBDEV_CONN_REAL_I:
-            fcns.get_value = boost::bind(&get_codec_gain_i, codec, name);
-            fcns.set_value = boost::bind(&set_codec_gain_i, codec, name, _1);
-            break;
-
-        case SUBDEV_CONN_REAL_Q:
-            fcns.get_value = boost::bind(&get_codec_gain_q, codec, name);
-            fcns.set_value = boost::bind(&set_codec_gain_q, codec, name, _1);
-            break;
-        }
-        gg->register_fcns(codec_prefix+name, fcns, codec_gain_priority);
-    }
-    return gg;
-}
-
-/***********************************************************************
- * verify subdev specs
- **********************************************************************/
-static void verify_xx_subdev_spec(
-    mboard_prop_t dboard_names_prop,
-    mboard_prop_t dboard_prop,
-    subdev_spec_t &subdev_spec,
-    wax::obj mboard,
-    std::string xx_type
-){
-    try{
-        prop_names_t dboard_names = mboard[dboard_names_prop].as<prop_names_t>();
-        UHD_ASSERT_THROW(dboard_names.size() > 0); //well i hope there is a dboard
-
-        //the subdevice specification is empty: handle automatic
-        if (subdev_spec.empty()){
-            BOOST_FOREACH(const std::string &db_name, dboard_names){
-                wax::obj dboard = mboard[named_prop_t(dboard_prop, db_name)];
-
-                //if the dboard slot is populated, take the first subdevice
-                if (dboard[DBOARD_PROP_DBOARD_EEPROM].as<dboard_eeprom_t>().id != dboard_id_t::none()){
-                    std::string sd_name = dboard[DBOARD_PROP_SUBDEV_NAMES].as<prop_names_t>().front();
-                    subdev_spec.push_back(subdev_spec_pair_t(db_name, sd_name));
-                    break;
-                }
-            }
-
-            //didnt find any populated dboards: add the first subdevice
-            if (subdev_spec.empty()){
-                std::string db_name = dboard_names.front();
-                wax::obj dboard = mboard[named_prop_t(dboard_prop, db_name)];
-                std::string sd_name = dboard[DBOARD_PROP_SUBDEV_NAMES].as<prop_names_t>().front();
-                subdev_spec.push_back(subdev_spec_pair_t(db_name, sd_name));
-            }
-        }
-
-        //sanity check that the dboard/subdevice names exist for this mboard
-        BOOST_FOREACH(subdev_spec_pair_t &pair, subdev_spec){
-            //empty db name means select dboard automatically
-            if (pair.db_name.empty()){
-                if (dboard_names.size() != 1) throw uhd::value_error(
-                    "A daughterboard name must be provided for multi-slot motherboards: " + subdev_spec.to_string()
-                );
-                pair.db_name = dboard_names.front();
-            }
-            uhd::assert_has(dboard_names, pair.db_name, xx_type + " dboard name");
-            wax::obj dboard = mboard[named_prop_t(dboard_prop, pair.db_name)];
-            prop_names_t subdev_names = dboard[DBOARD_PROP_SUBDEV_NAMES].as<prop_names_t>();
-
-            //empty sd name means select the subdev automatically
-            if (pair.sd_name.empty()){
-                if (subdev_names.size() != 1) throw uhd::value_error(
-                    "A subdevice name must be provided for multi-subdev daughterboards: " + subdev_spec.to_string()
-                );
-                pair.sd_name = subdev_names.front();
-            }
-            uhd::assert_has(subdev_names, pair.sd_name, xx_type + " subdev name");
-        }
-    }catch(const std::exception &e){
-        throw uhd::value_error(str(boost::format(
-            "Validate %s subdev spec failed: %s\n    %s"
-        ) % xx_type % subdev_spec.to_string() % e.what()));
-    }
-
-    //now use the subdev spec to enable the subdevices in use and vice-versa
-    BOOST_FOREACH(const std::string &db_name, mboard[dboard_names_prop].as<prop_names_t>()){
-        wax::obj dboard = mboard[named_prop_t(dboard_prop, db_name)];
-        BOOST_FOREACH(const std::string &sd_name, dboard[DBOARD_PROP_SUBDEV_NAMES].as<prop_names_t>()){
-            try{
-                bool enable = uhd::has(subdev_spec, subdev_spec_pair_t(db_name, sd_name));
-                dboard[named_prop_t(DBOARD_PROP_SUBDEV, sd_name)][SUBDEV_PROP_ENABLED] = enable;
-            }
-            catch(const std::exception &e){
-                throw uhd::runtime_error(str(boost::format(
-                    "Cannot set enabled property on subdevice %s:%s\n    %s"
-                ) % db_name % sd_name % e.what()));
-            }
-        }
-    }
-}
-
-void usrp::verify_rx_subdev_spec(subdev_spec_t &subdev_spec, wax::obj mboard){
-    return verify_xx_subdev_spec(
-        MBOARD_PROP_RX_DBOARD_NAMES,
-        MBOARD_PROP_RX_DBOARD,
-        subdev_spec, mboard, "rx"
-    );
-}
-
-void usrp::verify_tx_subdev_spec(subdev_spec_t &subdev_spec, wax::obj mboard){
-    return verify_xx_subdev_spec(
-        MBOARD_PROP_TX_DBOARD_NAMES,
-        MBOARD_PROP_TX_DBOARD,
-        subdev_spec, mboard, "tx"
-    );
-}
diff --git a/host/lib/usrp/multi_usrp.cpp b/host/lib/usrp/multi_usrp.cpp
index e60a706ad..b62fc8b7f 100644
--- a/host/lib/usrp/multi_usrp.cpp
+++ b/host/lib/usrp/multi_usrp.cpp
@@ -17,7 +17,6 @@
 
 #include <uhd/property_tree.hpp>
 #include <uhd/usrp/multi_usrp.hpp>
-#include <uhd/usrp/tune_helper.hpp>
 #include <uhd/usrp/mboard_iface.hpp>
 #include <uhd/utils/msg.hpp>
 #include <uhd/exception.hpp>
diff --git a/host/lib/usrp/tune_helper.cpp b/host/lib/usrp/tune_helper.cpp
deleted file mode 100644
index 264e6c04b..000000000
--- a/host/lib/usrp/tune_helper.cpp
+++ /dev/null
@@ -1,147 +0,0 @@
-//
-// Copyright 2010-2011 Ettus Research LLC
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// 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, see <http://www.gnu.org/licenses/>.
-//
-
-#include <uhd/usrp/tune_helper.hpp>
-#include <uhd/usrp/subdev_props.hpp>
-#include <uhd/usrp/dsp_props.hpp>
-#include <uhd/usrp/dboard_iface.hpp> //unit_t
-#include <uhd/utils/algorithm.hpp>
-#include <cmath>
-
-using namespace uhd;
-using namespace uhd::usrp;
-
-/***********************************************************************
- * Tune Helper Functions
- **********************************************************************/
-static tune_result_t tune_xx_subdev_and_dsp(
-    dboard_iface::unit_t unit,
-    wax::obj subdev, wax::obj dsp,
-    const tune_request_t &tune_request
-){
-    wax::obj subdev_freq_proxy = subdev[SUBDEV_PROP_FREQ];
-    wax::obj dsp_freq_proxy = dsp[DSP_PROP_FREQ_SHIFT];
-
-    //------------------------------------------------------------------
-    //-- calculate the LO offset, only used with automatic policy
-    //------------------------------------------------------------------
-    double lo_offset = 0.0;
-    if (subdev[SUBDEV_PROP_USE_LO_OFFSET].as<bool>()){
-        //If the local oscillator will be in the passband, use an offset.
-        //But constrain the LO offset by the width of the filter bandwidth.
-        double rate = dsp[DSP_PROP_HOST_RATE].as<double>();
-        double bw = subdev[SUBDEV_PROP_BANDWIDTH].as<double>();
-        if (bw > rate) lo_offset = std::min((bw - rate)/2, rate/2);
-    }
-
-    //------------------------------------------------------------------
-    //-- set the RF frequency depending upon the policy
-    //------------------------------------------------------------------
-    double target_rf_freq = 0.0;
-    switch (tune_request.rf_freq_policy){
-    case tune_request_t::POLICY_AUTO:
-        target_rf_freq = tune_request.target_freq + lo_offset;
-        subdev_freq_proxy = target_rf_freq;
-        break;
-
-    case tune_request_t::POLICY_MANUAL:
-        target_rf_freq = tune_request.rf_freq;
-        subdev_freq_proxy = target_rf_freq;
-        break;
-
-    case tune_request_t::POLICY_NONE: break; //does not set
-    }
-    double actual_rf_freq = subdev_freq_proxy.as<double>();
-
-    //------------------------------------------------------------------
-    //-- calculate the dsp freq, only used with automatic policy
-    //------------------------------------------------------------------
-    double target_dsp_freq = actual_rf_freq - tune_request.target_freq;
-
-    //invert the sign on the dsp freq given the following conditions
-    if (unit == dboard_iface::UNIT_TX) target_dsp_freq *= -1.0;
-
-    //------------------------------------------------------------------
-    //-- set the dsp frequency depending upon the dsp frequency policy
-    //------------------------------------------------------------------
-    switch (tune_request.dsp_freq_policy){
-    case tune_request_t::POLICY_AUTO:
-        dsp_freq_proxy = target_dsp_freq;
-        break;
-
-    case tune_request_t::POLICY_MANUAL:
-        target_dsp_freq = tune_request.dsp_freq;
-        dsp_freq_proxy = target_dsp_freq;
-        break;
-
-    case tune_request_t::POLICY_NONE: break; //does not set
-    }
-    double actual_dsp_freq = dsp_freq_proxy.as<double>();
-
-    //------------------------------------------------------------------
-    //-- load and return the tune result
-    //------------------------------------------------------------------
-    tune_result_t tune_result;
-    tune_result.target_rf_freq = target_rf_freq;
-    tune_result.actual_rf_freq = actual_rf_freq;
-    tune_result.target_dsp_freq = target_dsp_freq;
-    tune_result.actual_dsp_freq = actual_dsp_freq;
-    return tune_result;
-}
-
-static double derive_freq_from_xx_subdev_and_dsp(
-    dboard_iface::unit_t unit, wax::obj subdev, wax::obj dsp
-){
-    //extract actual dsp and IF frequencies
-    double actual_rf_freq = subdev[SUBDEV_PROP_FREQ].as<double>();
-    double actual_dsp_freq = dsp[DSP_PROP_FREQ_SHIFT].as<double>();
-
-    //invert the sign on the dsp freq given the following conditions
-    if (unit == dboard_iface::UNIT_TX) actual_dsp_freq *= -1.0;
-
-    return actual_rf_freq - actual_dsp_freq;
-}
-
-/***********************************************************************
- * RX Tune
- **********************************************************************/
-tune_result_t usrp::tune_rx_subdev_and_dsp(
-    wax::obj subdev, wax::obj ddc, const tune_request_t &tune_request
-){
-    return tune_xx_subdev_and_dsp(dboard_iface::UNIT_RX, subdev, ddc, tune_request);
-}
-
-double usrp::derive_freq_from_rx_subdev_and_dsp(
-    wax::obj subdev, wax::obj ddc
-){
-    return derive_freq_from_xx_subdev_and_dsp(dboard_iface::UNIT_RX, subdev, ddc);
-}
-
-/***********************************************************************
- * TX Tune
- **********************************************************************/
-tune_result_t usrp::tune_tx_subdev_and_dsp(
-    wax::obj subdev, wax::obj duc, const tune_request_t &tune_request
-){
-    return tune_xx_subdev_and_dsp(dboard_iface::UNIT_TX, subdev, duc, tune_request);
-}
-
-double usrp::derive_freq_from_tx_subdev_and_dsp(
-    wax::obj subdev, wax::obj duc
-){
-    return derive_freq_from_xx_subdev_and_dsp(dboard_iface::UNIT_TX, subdev, duc);
-}
diff --git a/host/lib/usrp2/io_impl.cpp b/host/lib/usrp2/io_impl.cpp
index a8ca0cd3a..64c099ff6 100644
--- a/host/lib/usrp2/io_impl.cpp
+++ b/host/lib/usrp2/io_impl.cpp
@@ -22,8 +22,6 @@
 #include <uhd/utils/log.hpp>
 #include <uhd/utils/msg.hpp>
 #include <uhd/exception.hpp>
-#include <uhd/usrp/mboard_props.hpp>
-#include <uhd/usrp/dsp_props.hpp>
 #include <uhd/utils/byteswap.hpp>
 #include <uhd/utils/thread_priority.hpp>
 #include <uhd/transport/bounded_buffer.hpp>
-- 
cgit v1.2.3