Do minor refactoring

This commit is contained in:
Drahoslav 2017-11-14 17:06:00 +01:00
parent 896db2ee1c
commit 3e0491354c

20
rpio.go
View File

@ -265,24 +265,19 @@ func Open() (err error) {
var base int64 var base int64
// Open fd for rw mem access; try gpiomem first // Open fd for rw mem access; try gpiomem first
if file, err = os.OpenFile( file, err = os.OpenFile("/dev/gpiomem", os.O_RDWR|os.O_SYNC, 0)
"/dev/gpiomem", if !os.IsNotExist(err) {
os.O_RDWR|os.O_SYNC, return
0); os.IsNotExist(err) {
file, err = os.OpenFile(
"/dev/mem",
os.O_RDWR|os.O_SYNC,
0)
base = getGPIOBase()
} }
file, err = os.OpenFile("/dev/mem", os.O_RDWR|os.O_SYNC, 0)
if err != nil { if err != nil {
return return
} }
// FD can be closed after memory mapping // FD can be closed after memory mapping
defer file.Close() defer file.Close()
base = getGPIOBase()
memlock.Lock() memlock.Lock()
defer memlock.Unlock() defer memlock.Unlock()
@ -292,7 +287,8 @@ func Open() (err error) {
base, base,
memLength, memLength,
syscall.PROT_READ|syscall.PROT_WRITE, syscall.PROT_READ|syscall.PROT_WRITE,
syscall.MAP_SHARED) syscall.MAP_SHARED,
)
if err != nil { if err != nil {
return return