Preparing report...

Report for github.com/inversepath/tamago

A+    Excellent!    Found 53 issues across 91 files

Tweet

gofmt100%

Gofmt formats Go programs. We run gofmt -s on your code, where -s is for the "simplify" command

No problems detected. Good job!


go_vet100%

go vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string.

No problems detected. Good job!


gocyclo100%

Gocyclo calculates cyclomatic complexities of functions in Go source code. The cyclomatic complexity of a function is calculated according to the following rules: 1 is the base complexity of a function +1 for each 'if', 'for', 'case', '&&' or '||' Go Report Card warns on functions with cyclomatic complexity > 15.

No problems detected. Good job!


golint42%

Golint is a linter for Go source code.

    • tamago/arm/cache.go
    • Line 18: warning: don't use underscores in Go names; func read_actlr should be readActlr (golint)
    • Line 19: warning: don't use underscores in Go names; func write_actlr should be writeActlr (golint)
    • Line 20: warning: don't use underscores in Go names; func cache_enable should be cacheEnable (golint)
    • Line 21: warning: don't use underscores in Go names; func cache_disable should be cacheDisable (golint)
    • Line 22: warning: don't use underscores in Go names; func cache_flush_data should be cacheFlushData (golint)
    • Line 23: warning: don't use underscores in Go names; func cache_flush_instruction should be cacheFlushInstruction (golint)
    • tamago/arm/tz.go
    • Line 19: warning: don't use underscores in Go names; func read_scr should be readScr (golint)
    • Line 20: warning: don't use underscores in Go names; func write_nsacr should be writeNsacr (golint)
    • tamago/board/f-secure/usbarmory/mark-two/usbarmory.go
    • Line 21: warning: a blank import should be only in a main or test package, or have a comment justifying it (golint)
    • Line 23: warning: a blank import should be only in a main or test package, or have a comment justifying it (golint)
    • Line 26: warning: exported const OCOTP_MAC0 should have comment or be unexported (golint)
    • Line 29: warning: exported const REV_BETA should have comment (or a comment on this block) or be unexported (golint)
    • tamago/soc/imx6/i2c.go
    • Line 35: warning: don't use underscores in Go names; const I2Cx_IADR should be I2CxIADR (golint)
    • Line 36: warning: don't use underscores in Go names; const I2Cx_IFDR should be I2CxIFDR (golint)
    • Line 38: warning: don't use underscores in Go names; const I2Cx_I2CR should be I2CxI2CR (golint)
    • Line 45: warning: don't use underscores in Go names; const I2Cx_I2SR should be I2CxI2SR (golint)
    • Line 50: warning: don't use underscores in Go names; const I2Cx_I2DR should be I2CxI2DR (golint)
    • Line 130: warning: don't use underscores in Go names; var ipg_podf should be ipgPodf (golint)
    • tamago/soc/bcm2835/dma.go
    • Line 188: warning: exported type DMAController should have comment or be unexported (golint)
    • Line 206: warning: comment on exported type DMADebugInfo should be of the form "DMADebugInfo ..." (with optional leading article) (golint)
    • Line 209: warning: comment on exported type DMAStatus should be of the form "DMAStatus ..." (with optional leading article) (golint)
    • Line 215: warning: comment on exported method DMAController.Init should be of the form "Init ..." (golint)
    • Line 268: warning: comment on exported method DMAChannel.DebugInfo should be of the form "DebugInfo ..." (golint)
    • Line 278: warning: comment on exported method DMAChannel.Copy should be of the form "Copy ..." (golint)
    • Line 307: warning: comment on exported method DMADebugInfo.ReadLastNotSetError should be of the form "ReadLastNotSetError ..." (golint)
    • Line 312: warning: comment on exported method DMADebugInfo.FIFOError should be of the form "FIFOError ..." (golint)
    • Line 317: warning: comment on exported method DMADebugInfo.ReadError should be of the form "ReadError ..." (golint)
    • Line 322: warning: comment on exported method DMADebugInfo.OutstandingWrites should be of the form "OutstandingWrites ..." (golint)
    • Line 327: warning: comment on exported method DMADebugInfo.ID should be of the form "ID ..." (golint)
    • Line 337: warning: comment on exported method DMADebugInfo.Version should be of the form "Version ..." (golint)
    • Line 342: warning: comment on exported method DMADebugInfo.Lite should be of the form "Lite ..." (golint)
    • Line 362: warning: comment on exported method DMAStatus.Active should be of the form "Active ..." (golint)
    • Line 367: warning: comment on exported method DMAStatus.End should be of the form "End ..." (golint)
    • Line 372: warning: comment on exported method DMAStatus.Int should be of the form "Int ..." (golint)
    • Line 377: warning: comment on exported method DMAStatus.DReq should be of the form "DReq ..." (golint)
    • Line 382: warning: comment on exported method DMAStatus.Paused should be of the form "Paused ..." (golint)
    • Line 387: warning: comment on exported method DMAStatus.DReqStopsDMA should be of the form "DReqStopsDMA ..." (golint)
    • Line 392: warning: comment on exported method DMAStatus.WaitingForOutstandingWrites should be of the form "WaitingForOutstandingWrites ..." (golint)
    • Line 402: warning: comment on exported method DMAStatus.Priority should be of the form "Priority ..." (golint)
    • Line 407: warning: comment on exported method DMAStatus.PanicPriority should be of the form "PanicPriority ..." (golint)
    • Line 412: warning: comment on exported method DMAStatus.WaitForOutstandingWrites should be of the form "WaitForOutstandingWrites ..." (golint)
    • Line 417: warning: comment on exported method DMAStatus.DisableDebug should be of the form "DisableDebug ..." (golint)
    • tamago/internal/reg/reg16.go
    • Line 20: warning: exported function Get16 should have comment or be unexported (golint)
    • Line 25: warning: exported function Set16 should have comment or be unexported (golint)
    • Line 30: warning: exported function Clear16 should have comment or be unexported (golint)
    • Line 35: warning: exported function SetN16 should have comment or be unexported (golint)
    • Line 40: warning: exported function ClearN16 should have comment or be unexported (golint)
    • Line 45: warning: exported function Read16 should have comment or be unexported (golint)
    • Line 50: warning: exported function Write16 should have comment or be unexported (golint)
    • Line 55: warning: exported function WriteBack16 should have comment or be unexported (golint)
    • Line 60: warning: exported function Or16 should have comment or be unexported (golint)
    • tamago/soc/imx6/uart.go
    • Line 41: warning: don't use underscores in Go names; const UARTx_URXD should be UARTxURXD (golint)
    • Line 50: warning: don't use underscores in Go names; const UARTx_UTXD should be UARTxUTXD (golint)
    • Line 53: warning: don't use underscores in Go names; const UARTx_UCR1 should be UARTxUCR1 (golint)
    • Line 70: warning: don't use underscores in Go names; const UARTx_UCR2 should be UARTxUCR2 (golint)
    • Line 87: warning: don't use underscores in Go names; const UARTx_UCR3 should be UARTxUCR3 (golint)
    • Line 104: warning: don't use underscores in Go names; const UARTx_UCR4 should be UARTxUCR4 (golint)
    • Line 107: warning: don't use underscores in Go names; const UARTx_UFCR should be UARTxUFCR (golint)
    • Line 113: warning: don't use underscores in Go names; const UARTx_USR2 should be UARTxUSR2 (golint)
    • Line 116: warning: don't use underscores in Go names; const UARTx_UESC should be UARTxUESC (golint)
    • Line 117: warning: don't use underscores in Go names; const UARTx_UTIM should be UARTxUTIM (golint)
    • Line 118: warning: don't use underscores in Go names; const UARTx_UBIR should be UARTxUBIR (golint)
    • Line 119: warning: don't use underscores in Go names; const UARTx_UBMR should be UARTxUBMR (golint)
    • Line 121: warning: don't use underscores in Go names; const UARTx_UTS should be UARTxUTS (golint)
    • tamago/arm/features.go
    • Line 27: warning: don't use underscores in Go names; func read_idpfr0 should be readIdpfr0 (golint)
    • Line 28: warning: don't use underscores in Go names; func read_idpfr1 should be readIdpfr1 (golint)
    • tamago/arm/timer.go
    • Line 42: warning: don't use underscores in Go names; func read_gtc should be readGtc (golint)
    • Line 43: warning: don't use underscores in Go names; func read_cntfrq should be readCntfrq (golint)
    • Line 44: warning: don't use underscores in Go names; func write_cntfrq should be writeCntfrq (golint)
    • Line 45: warning: don't use underscores in Go names; func write_cntkctl should be writeCntkctl (golint)
    • Line 46: warning: don't use underscores in Go names; func read_cntpct should be readCntpct (golint)
    • tamago/soc/imx6/usdhc/usdhc.go
    • Line 68: warning: don't use underscores in Go names; const USDHCx_BLK_ATT should be USDHCxBLKATT (golint)
    • Line 72: warning: don't use underscores in Go names; const USDHCx_CMD_ARG should be USDHCxCMDARG (golint)
    • Line 74: warning: don't use underscores in Go names; const USDHCx_CMD_XFR_TYP should be USDHCxCMDXFRTYP (golint)
    • Line 82: warning: don't use underscores in Go names; const USDHCx_CMD_RSP0 should be USDHCxCMDRSP0 (golint)
    • Line 83: warning: don't use underscores in Go names; const USDHCx_CMD_RSP1 should be USDHCxCMDRSP1 (golint)
    • Line 84: warning: don't use underscores in Go names; const USDHCx_CMD_RSP2 should be USDHCxCMDRSP2 (golint)
    • Line 85: warning: don't use underscores in Go names; const USDHCx_CMD_RSP3 should be USDHCxCMDRSP3 (golint)
    • Line 87: warning: don't use underscores in Go names; const USDHCx_PRES_STATE should be USDHCxPRESSTATE (golint)
    • Line 95: warning: don't use underscores in Go names; const USDHCx_PROT_CTRL should be USDHCxPROTCTRL (golint)
    • Line 100: warning: don't use underscores in Go names; const USDHCx_SYS_CTRL should be USDHCxSYSCTRL (golint)
    • Line 109: warning: don't use underscores in Go names; const USDHCx_INT_STATUS should be USDHCxINTSTATUS (golint)
    • Line 122: warning: don't use underscores in Go names; const USDHCx_INT_STATUS_EN should be USDHCxINTSTATUSEN (golint)
    • Line 126: warning: don't use underscores in Go names; const USDHCx_INT_SIGNAL_EN should be USDHCxINTSIGNALEN (golint)
    • Line 129: warning: don't use underscores in Go names; const USDHCx_AUTOCMD12_ERR_STATUS should be USDHCxAUTOCMD12ERRSTATUS (golint)
    • Line 133: warning: don't use underscores in Go names; const USDHCx_WTMK_LVL should be USDHCxWTMKLVL (golint)
    • Line 137: warning: don't use underscores in Go names; const USDHCx_MIX_CTRL should be USDHCxMIXCTRL (golint)
    • Line 149: warning: don't use underscores in Go names; const USDHCx_ADMA_ERR_STATUS should be USDHCxADMAERRSTATUS (golint)
    • Line 150: warning: don't use underscores in Go names; const USDHCx_ADMA_SYS_ADDR should be USDHCxADMASYSADDR (golint)
    • Line 152: warning: don't use underscores in Go names; const USDHCx_VEND_SPEC should be USDHCxVENDSPEC (golint)
    • Line 156: warning: don't use underscores in Go names; const USDHCx_VEND_SPEC2 should be USDHCxVENDSPEC2 (golint)
    • Line 157: warning: don't use underscores in Go names; const VEND_SPEC2_TUNING_1bit_EN should be VENDSPEC2TUNING1bitEN (golint)
    • Line 158: warning: don't use underscores in Go names; const VEND_SPEC2_TUNING_8bit_EN should be VENDSPEC2TUNING8bitEN (golint)
    • Line 160: warning: don't use underscores in Go names; const USDHCx_TUNING_CTRL should be USDHCxTUNINGCTRL (golint)
    • Line 247: warning: don't use underscores in Go names; struct field blk_att should be blkAtt (golint)
    • Line 248: warning: don't use underscores in Go names; struct field wtmk_lvl should be wtmkLvl (golint)
    • Line 249: warning: don't use underscores in Go names; struct field cmd_arg should be cmdArg (golint)
    • Line 250: warning: don't use underscores in Go names; struct field cmd_xfr should be cmdXfr (golint)
    • Line 251: warning: don't use underscores in Go names; struct field cmd_rsp should be cmdRsp (golint)
    • Line 252: warning: don't use underscores in Go names; struct field prot_ctrl should be protCtrl (golint)
    • Line 253: warning: don't use underscores in Go names; struct field sys_ctrl should be sysCtrl (golint)
    • Line 254: warning: don't use underscores in Go names; struct field mix_ctrl should be mixCtrl (golint)
    • Line 255: warning: don't use underscores in Go names; struct field pres_state should be presState (golint)
    • Line 256: warning: don't use underscores in Go names; struct field int_status should be intStatus (golint)
    • Line 257: warning: don't use underscores in Go names; struct field int_status_en should be intStatusEn (golint)
    • Line 258: warning: don't use underscores in Go names; struct field int_signal_en should be intSignalEn (golint)
    • Line 259: warning: don't use underscores in Go names; struct field adma_sys_addr should be admaSysAddr (golint)
    • Line 260: warning: don't use underscores in Go names; struct field adma_err_status should be admaErrStatus (golint)
    • Line 261: warning: don't use underscores in Go names; struct field ac12_err_status should be ac12ErrStatus (golint)
    • Line 262: warning: don't use underscores in Go names; struct field vend_spec should be vendSpec (golint)
    • Line 263: warning: don't use underscores in Go names; struct field vend_spec2 should be vendSpec2 (golint)
    • Line 264: warning: don't use underscores in Go names; struct field tuning_ctrl should be tuningCtrl (golint)
    • Line 286: warning: don't use underscores in Go names; var podf_pos should be podfPos (golint)
    • Line 287: warning: don't use underscores in Go names; var clksel_pos should be clkselPos (golint)
    • Line 319: warning: don't use underscores in Go names; var podf_pos should be podfPos (golint)
    • Line 320: warning: don't use underscores in Go names; var clksel_pos should be clkselPos (golint)
    • Line 403: warning: don't use underscores in Go names; var tuning_block should be tuningBlock (golint)
    • Line 409: warning: don't use underscores in Go names; var ac12_err_status should be ac12ErrStatus (golint)
    • Line 642: warning: don't use underscores in Go names; var adma_err should be admaErr (golint)
    • tamago/soc/bcm2835/mailbox.go
    • Line 63: warning: exported type MailboxTag should have comment or be unexported (golint)
    • Line 68: warning: exported type MailboxMessage should have comment or be unexported (golint)
    • Line 78: warning: exported method MailboxMessage.Tag should have comment or be unexported (golint)
    • tamago/soc/imx6/imx6.go
    • Line 31: warning: a blank import should be only in a main or test package, or have a comment justifying it (golint)
    • Line 55: warning: comment on exported var Family should be of the form "Family ..." (golint)
    • Line 58: warning: comment on exported var Native should be of the form "Native ..." (golint)
    • tamago/arm/exception.go
    • Line 42: warning: don't use underscores in Go names; func set_exc_stack should be setExcStack (golint)
    • Line 43: warning: don't use underscores in Go names; func set_vbar should be setVbar (golint)
    • Line 44: warning: don't use underscores in Go names; func set_mvbar should be setMvbar (golint)
    • Line 54: warning: exported type ExceptionHandler should have comment or be unexported (golint)
    • Line 60: warning: exported type VectorTable should have comment or be unexported (golint)
    • tamago/internal/reg/reg32.go
    • Line 24: warning: exported function Get should have comment or be unexported (golint)
    • Line 31: warning: exported function Set should have comment or be unexported (golint)
    • Line 40: warning: exported function Clear should have comment or be unexported (golint)
    • Line 49: warning: exported function SetN should have comment or be unexported (golint)
    • Line 58: warning: exported function ClearN should have comment or be unexported (golint)
    • Line 67: warning: comment on exported function Move should be of the form "Move ..." (golint)
    • Line 70: warning: exported function Read should have comment or be unexported (golint)
    • Line 75: warning: exported function Write should have comment or be unexported (golint)
    • Line 80: warning: exported function WriteBack should have comment or be unexported (golint)
    • Line 89: warning: exported function Or should have comment or be unexported (golint)
    • tamago/soc/imx6/usb/bus.go
    • Line 31: warning: don't use underscores in Go names; const USB_ANALOG_USBx_CHRG_DETECT should be USBANALOGUSBxCHRGDETECT (golint)
    • Line 38: warning: don't use underscores in Go names; const USBPHYx_PWD should be USBPHYxPWD (golint)
    • Line 40: warning: don't use underscores in Go names; const USBPHYx_CTRL should be USBPHYxCTRL (golint)
    • Line 52: warning: don't use underscores in Go names; const USB_UOGx_USBCMD should be USBUOGxUSBCMD (golint)
    • Line 56: warning: don't use underscores in Go names; const USB_UOGx_USBSTS should be USBUOGxUSBSTS (golint)
    • Line 60: warning: don't use underscores in Go names; const USB_UOGx_DEVICEADDR should be USBUOGxDEVICEADDR (golint)
    • Line 64: warning: don't use underscores in Go names; const USB_UOGx_ENDPTLISTADDR should be USBUOGxENDPTLISTADDR (golint)
    • Line 67: warning: don't use underscores in Go names; const USB_UOGx_PORTSC1 should be USBUOGxPORTSC1 (golint)
    • Line 72: warning: don't use underscores in Go names; const USB_UOGx_OTGSC should be USBUOGxOTGSC (golint)
    • Line 75: warning: don't use underscores in Go names; const USB_UOGx_USBMODE should be USBUOGxUSBMODE (golint)
    • Line 82: warning: don't use underscores in Go names; const USB_UOGx_ENDPTSETUPSTAT should be USBUOGxENDPTSETUPSTAT (golint)
    • Line 84: warning: don't use underscores in Go names; const USB_UOGx_ENDPTPRIME should be USBUOGxENDPTPRIME (golint)
    • Line 88: warning: don't use underscores in Go names; const USB_UOGx_ENDPTFLUSH should be USBUOGxENDPTFLUSH (golint)
    • Line 92: warning: don't use underscores in Go names; const USB_UOGx_ENDPTSTAT should be USBUOGxENDPTSTAT (golint)
    • Line 94: warning: don't use underscores in Go names; const USB_UOGx_ENDPTCOMPLETE should be USBUOGxENDPTCOMPLETE (golint)
    • Line 98: warning: don't use underscores in Go names; const USB_UOGx_ENDPTCTRL should be USBUOGxENDPTCTRL (golint)
    • tamago/soc/imx6/usdhc/mmc.go
    • Line 168: warning: don't use underscores in Go names; method parameter c_size_mult should be cSizeMult (golint)
    • Line 168: warning: don't use underscores in Go names; method parameter c_size should be cSize (golint)
    • Line 168: warning: don't use underscores in Go names; method parameter read_bl_len should be readBlLen (golint)
    • Line 211: warning: don't use underscores in Go names; var bus_width should be busWidth (golint)
    • Line 213: warning: don't use underscores in Go names; var root_clk should be rootClk (golint)
    • Line 242: warning: don't use underscores in Go names; var c_size_mult should be cSizeMult (golint)
    • Line 244: warning: don't use underscores in Go names; var c_size should be cSize (golint)
    • Line 246: warning: don't use underscores in Go names; var read_bl_len should be readBlLen (golint)
    • tamago/board/nxp/mx6ullevk/mx6ullevk.go
    • Line 19: warning: a blank import should be only in a main or test package, or have a comment justifying it (golint)
    • Line 22: warning: a blank import should be only in a main or test package, or have a comment justifying it (golint)
    • tamago/arm/debug.go
    • Line 13: warning: don't use underscores in Go names; func read_dbgauthstatus should be readDbgauthstatus (golint)
    • tamago/soc/imx6/dcp/dcp.go
    • Line 52: warning: don't use underscores in Go names; const CHxSTAT_ERROR_CODE should be CHxSTATERRORCODE (golint)
    • Line 53: warning: don't use underscores in Go names; const CHxSTAT_ERROR_MASK should be CHxSTATERRORMASK (golint)
    • Line 99: warning: exported const WorkPacketLength should have comment or be unexported (golint)
    • tamago/arm/irq.go
    • Line 13: warning: don't use underscores in Go names; func irq_enable should be irqEnable (golint)
    • Line 14: warning: don't use underscores in Go names; func irq_disable should be irqDisable (golint)
    • tamago/soc/imx6/clock.go
    • Line 158: warning: don't use underscores in Go names; var div_select should be divSelect (golint)
    • Line 159: warning: don't use underscores in Go names; var arm_podf should be armPodf (golint)
    • Line 241: warning: don't use underscores in Go names; var div_pos should be divPos (golint)
    • Line 241: warning: don't use underscores in Go names; var gate_pos should be gatePos (golint)
    • Line 290: warning: don't use underscores in Go names; var div_pos should be divPos (golint)
    • tamago/soc/imx6/usdhc/sd.go
    • Line 259: warning: don't use underscores in Go names; var c_size_mult should be cSizeMult (golint)
    • Line 260: warning: don't use underscores in Go names; var c_size should be cSize (golint)
    • Line 261: warning: don't use underscores in Go names; var read_bl_len should be readBlLen (golint)
    • Line 268: warning: don't use underscores in Go names; var c_size should be cSize (golint)
    • Line 269: warning: don't use underscores in Go names; var read_bl_len should be readBlLen (golint)
    • Line 276: warning: don't use underscores in Go names; var c_size should be cSize (golint)
    • Line 277: warning: don't use underscores in Go names; var read_bl_len should be readBlLen (golint)
    • Line 325: warning: don't use underscores in Go names; var bus_width should be busWidth (golint)
    • Line 327: warning: don't use underscores in Go names; var root_clk should be rootClk (golint)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign94%

IneffAssign detects ineffectual assignments in Go code.

    • tamago/arm/mmu.go
    • Line 64: warning: MemRegion not declared by package runtime (ineffassign)
    • Line 96: warning: MemRegion not declared by package runtime (ineffassign)
    • tamago/soc/imx6/dcp/sha.go
    • Line 17: warning: no required module provides package golang.org/x/sync/semaphore; to add it: (ineffassign)
    • Line 17: warning: could not import golang.org/x/sync/semaphore (invalid package name: "") (ineffassign)

misspell98%

Misspell Finds commonly misspelled English words