From e36e169d6ca5476920ebe49ad532e40ea85d039b Mon Sep 17 00:00:00 2001 From: Tero Marttila Date: Thu, 23 Jun 2016 00:51:19 +0300 Subject: [PATCH 1/2] digitalPin: do not export if the /sys/class/gpio/... file already exists --- host/generic/digitalpin.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/host/generic/digitalpin.go b/host/generic/digitalpin.go index 80a81ea..b50c5db 100644 --- a/host/generic/digitalpin.go +++ b/host/generic/digitalpin.go @@ -62,7 +62,21 @@ func (p *digitalPin) init() error { return nil } +func (p *digitalPin) isExported() bool { + if _, err := os.Stat(p.basePath()); err == nil { + return true + } else if os.IsNotExist(err) { + return false + } else { + // unknown + return false + } +} + func (p *digitalPin) export() error { + if p.isExported() { + return nil + } exporter, err := os.OpenFile("/sys/class/gpio/export", os.O_WRONLY, os.ModeExclusive) if err != nil { return err From 780d9e92acefc982f3c9b4edb0e46202137f597c Mon Sep 17 00:00:00 2001 From: ssk Date: Tue, 3 Nov 2015 19:24:27 +0530 Subject: [PATCH 2/2] Fixed SPIController issue with missing fields --- host/generic/spibus.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/host/generic/spibus.go b/host/generic/spibus.go index ad3bcec..ef29c02 100644 --- a/host/generic/spibus.go +++ b/host/generic/spibus.go @@ -36,6 +36,8 @@ type spiIOCTransfer struct { speedHz uint32 delayus uint16 bitsPerWord uint8 + csChange uint8 + pad uint32 } type spiBus struct {