diff --git a/tas2770-regmap.c b/tas2770-regmap.c
index bee81288d6bb0564fca5f308b2a37a85835c23e2..2570843485ae4acc1059682131c0038dece1f7c3 100644 (file)
--- a/tas2770-regmap.c
+++ b/tas2770-regmap.c
switch (reg) {
case TAS2770_Page: /* regmap implementation requires this */
case TAS2770_SoftwareReset: /* always clears after write */
+ case TAS2770_PowerControl:
case TAS2770_BrownOutPreventionReg0:/* has a self clearing bit */
case TAS2770_LiveInterruptReg0:
case TAS2770_LiveInterruptReg1:
dev_dbg(pTAS2770->dev, "ti,irq-gpio=%d", pTAS2770->mnIRQGPIO);
}
+ of_property_read_u32(np, "ti,left-slot", &pTAS2770->mnLeftSlot);
+ if (rc) {
+ dev_err(pTAS2770->dev, "Looking up %s property in node %s failed %d\n",
+ "ti,left-slot", np->full_name, rc);
+ } else {
+ dev_dbg(pTAS2770->dev, "ti,left-slot=%d",
+ pTAS2770->mnLeftSlot);
+ }
+
+ of_property_read_u32(np, "ti,right-slot", &pTAS2770->mnRightSlot);
+ if (rc) {
+ dev_err(pTAS2770->dev, "Looking up %s property in node %s failed %d\n",
+ "ti,right-slot", np->full_name, rc);
+ } else {
+ dev_dbg(pTAS2770->dev, "ti,right-slot=%d",
+ pTAS2770->mnRightSlot);
+ }
+
+ of_property_read_u32(np, "ti,imon-slot-no", &pTAS2770->mnImon_slot_no);
+ if (rc) {
+ dev_err(pTAS2770->dev, "Looking up %s property in node %s failed %d\n",
+ "ti,imon-slot-no", np->full_name, rc);
+ } else {
+ dev_dbg(pTAS2770->dev, "ti,imon-slot-no=%d",
+ pTAS2770->mnImon_slot_no);
+ }
+
+ of_property_read_u32(np, "ti,vmon-slot-no", &pTAS2770->mnVmon_slot_no);
+ if (rc) {
+ dev_err(pTAS2770->dev, "Looking up %s property in node %s failed %d\n",
+ "ti,vmon-slot-no", np->full_name, rc);
+ } else {
+ dev_dbg(pTAS2770->dev, "ti,vmon-slot-no=%d",
+ pTAS2770->mnVmon_slot_no);
+ }
+
return ret;
}
disable_irq_nosync(pTAS2770->mnIRQ);
INIT_DELAYED_WORK(&pTAS2770->irq_work, irq_work_routine);
}
-
+ pTAS2770->mnAddr = client->addr;
+ pTAS2770->adapter = client->adapter;
pTAS2770->hw_reset = tas2770_hw_reset;
pTAS2770->enableIRQ = tas2770_enableIRQ;
pTAS2770->runtime_suspend = tas2770_runtime_suspend;
pTAS2770->runtime_resume = tas2770_runtime_resume;
+ pTAS2770->mnCh_size = 0;
+ pTAS2770->mnSlot_width = 0;
+
+ tas2770_hw_reset(pTAS2770);
+
mutex_init(&pTAS2770->dev_lock);
if (nResult < 0)
goto destroy_mutex;