i2c: fixed missing init call

This commit is contained in:
Kunal Powar 2014-04-10 07:29:06 +05:30
parent 5c0ae1c83a
commit 2ee0cbc899
1 changed files with 28 additions and 0 deletions

View File

@ -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
}