void
Device::init()
{
-#if 0
- printf("Hw::Device::plug(this=%p, name='%s', hid='%s')\n",
- this, name(), hid());
-#endif
+ if (0)
+ printf("Hw::Device::plug(this=%p, name='%s', hid='%s')\n",
+ this, name(), hid());
+
+ if (_flags & DF_dma_supported)
+ if (!dma_domain() && parent())
+ parent()->dma_domain_for(this);
+
int r = pm_init();
if (r < 0)
{
return c;
}
-int
-Device::set_property(cxx::String const &prop, Prop_val const &val)
-{
- if (prop == "hid")
- {
- if (val.type != Prop_val::String)
- return -E_inval;
-
- cxx::String const v = val.get_string();
- _hid = std::string(v.start(), v.start() + v.len());
- return E_ok;
- }
- else if (prop == "name")
- {
- if (val.type != Prop_val::String)
- return -E_inval;
-
- cxx::String const v = val.get_string();
- _name = std::string(v.start(), v.start() + v.len());
- return E_ok;
- }
- else if (prop == "adr")
- {
- if (val.type != Prop_val::Int)
- return -E_inval;
-
- _adr = val.val.integer;
- return E_ok;
- }
- else
- return -E_no_prop;
-}
-
bool
Device::match_cid(cxx::String const &cid) const
{
continue;
d_printf(DBG_WARN, "warning: conflicting virtual clients:\n"
- " %s\n"
- " %s\n",
+ " %s\n"
+ " %s\n",
(*j)->get_full_name().c_str(),
(*i)->get_full_name().c_str());