Hi Ludwig,

Well, it will be a challenge to smootly correct this.
There are 16 CPU's that use spi_transfer_byte(s) and 6 drivers.

I won't mind creating a PR, but of course I can only test it by building
examples for all boards that support SPI. And look at compile errors. Or are
there other procedures?

On 04-07-16 07:23, Ludwig Knüpfer wrote:
Hi Kees,

Unless there is a good reason to deviate from this guideline all violations 
should be corrected. This particular rule was added relatively recently, so it 
would not surprise me if not all occurrences in RIOT have been adapted yet.

Cheers,
Ludwig

Am 3. Juli 2016 22:50:10 MESZ, schrieb Kees Bakker <k...@sodaq.com>:
Hi,

The Coding Convention is clear about it.

"Guidelines for pointer types (as long as it is reasonable):

  * use |char *| for strings and only for strings
* use |uint8_t[]| as type for arbitrary byte buffers, but use |void *|
    to pass them around. |uint8_t[]| because we're dealing with bytes
    and not characters, |void *| to avoid unnecessary casting shall the
    need arise to have their content to have a certain type
  * use |uint8_t *| to pass "typed" byte buffers, e.g., link-layer
    addresses, where it avoids unnecessary temporary variable
  * use |void *| for generic typing"


In the SPI driver however the transfer functions use char * parameters,

but SPI is usually dealing with binary
information (bytes), not strings. This leads to unnecessary casts in
other parts of the code. (E.g. nvram_spi).

What is our policy about this? Are we going to correct this at some
point? Is it too late already (I hope not)?
_______________________________________________
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


--
Kees Bakker
Founder
SODAQ
M. 0031617737165
www.sodaq.com

_______________________________________________
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel

Reply via email to