From 2ee0cbc899841db1daf57c81cc2205707094c7ca Mon Sep 17 00:00:00 2001 From: Kunal Powar Date: Thu, 10 Apr 2014 07:29:06 +0530 Subject: [PATCH] i2c: fixed missing init call --- host/generic/i2cbus.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/host/generic/i2cbus.go b/host/generic/i2cbus.go index 526d2db..bb5a348 100644 --- a/host/generic/i2cbus.go +++ b/host/generic/i2cbus.go @@ -79,6 +79,10 @@ func (b *i2cBus) ReadByte(addr byte) (byte, error) { b.mu.Lock() defer b.mu.Unlock() + if err := b.init(); err != nil { + return 0, err + } + if err := b.setAddress(addr); err != nil { return 0, err } @@ -97,6 +101,10 @@ func (b *i2cBus) WriteByte(addr, value byte) error { b.mu.Lock() defer b.mu.Unlock() + if err := b.init(); err != nil { + return err + } + if err := b.setAddress(addr); err != nil { return err } @@ -114,6 +122,10 @@ func (b *i2cBus) WriteBytes(addr byte, value []byte) error { b.mu.Lock() defer b.mu.Unlock() + if err := b.init(); err != nil { + return err + } + if err := b.setAddress(addr); err != nil { return err } @@ -138,6 +150,10 @@ func (b *i2cBus) ReadFromReg(addr, reg byte, value []byte) error { b.mu.Lock() defer b.mu.Unlock() + if err := b.init(); err != nil { + return err + } + if err := b.setAddress(addr); err != nil { return err } @@ -187,6 +203,10 @@ func (b *i2cBus) WriteToReg(addr, reg byte, value []byte) error { b.mu.Lock() defer b.mu.Unlock() + if err := b.init(); err != nil { + return err + } + if err := b.setAddress(addr); err != nil { return err } @@ -217,6 +237,10 @@ func (b *i2cBus) WriteByteToReg(addr, reg, value byte) error { b.mu.Lock() defer b.mu.Unlock() + if err := b.init(); err != nil { + return err + } + if err := b.setAddress(addr); err != nil { return err } @@ -248,6 +272,10 @@ func (b *i2cBus) WriteWordToReg(addr, reg byte, value uint16) error { b.mu.Lock() defer b.mu.Unlock() + if err := b.init(); err != nil { + return err + } + if err := b.setAddress(addr); err != nil { return err }