From a5dc0911293d4bdc7e1a0c5a2e3abd80ee51b857 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Sun, 30 Jun 2013 03:47:33 -0700 Subject: i2c: Change the type of the data parameter to uint8_t. Data is intended to be a byte array, so it should be described by a type which has a fixed size equal to an 8 bit byte. Also, the data passed to write shouldn't be modified and can be const. Change-Id: I6466303d962998f6c37c2d4006a39c2d79a235c1 Signed-off-by: Gabe Black Reviewed-on: http://review.coreboot.org/3721 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- src/cpu/samsung/exynos5250/i2c.c | 6 +++--- src/cpu/samsung/exynos5420/i2c.c | 13 +++++++------ src/include/device/i2c.h | 6 ++++-- 3 files changed, 14 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/cpu/samsung/exynos5250/i2c.c b/src/cpu/samsung/exynos5250/i2c.c index 723cee6ce1..e83ab57014 100644 --- a/src/cpu/samsung/exynos5250/i2c.c +++ b/src/cpu/samsung/exynos5250/i2c.c @@ -347,7 +347,7 @@ static int i2c_transfer(struct s3c24x0_i2c *i2c, } int i2c_read(unsigned bus, unsigned chip, unsigned addr, - unsigned alen, unsigned char *buf, unsigned len) + unsigned alen, uint8_t *buf, unsigned len) { struct s3c24x0_i2c_bus *i2c; unsigned char xaddr[4]; @@ -376,7 +376,7 @@ int i2c_read(unsigned bus, unsigned chip, unsigned addr, } int i2c_write(unsigned bus, unsigned chip, unsigned addr, - unsigned alen, unsigned char *buf, unsigned len) + unsigned alen, const uint8_t *buf, unsigned len) { struct s3c24x0_i2c_bus *i2c; unsigned char xaddr[4]; @@ -397,7 +397,7 @@ int i2c_write(unsigned bus, unsigned chip, unsigned addr, i2c = &i2c_buses[bus]; ret = i2c_transfer(i2c->regs, I2C_WRITE, chip << 1, &xaddr[4 - alen], - alen, buf, len); + alen, (void *)buf, len); return ret != 0; } diff --git a/src/cpu/samsung/exynos5420/i2c.c b/src/cpu/samsung/exynos5420/i2c.c index acb5bcf7cc..226862802a 100644 --- a/src/cpu/samsung/exynos5420/i2c.c +++ b/src/cpu/samsung/exynos5420/i2c.c @@ -408,7 +408,8 @@ static int hsi2c_wait_for_transfer(struct exynos5_hsi2c *i2c) return 0; } -static int hsi2c_senddata(struct exynos5_hsi2c *i2c, uint8_t *data, int len) +static int hsi2c_senddata(struct exynos5_hsi2c *i2c, const uint8_t *data, + int len) { while (!hsi2c_check_transfer(i2c) && len) { if (!(read32(&i2c->usi_fifo_stat) & HSI2C_TX_FIFO_FULL)) { @@ -434,7 +435,7 @@ static int hsi2c_write(struct exynos5_hsi2c *i2c, unsigned char chip, unsigned char addr[], unsigned char alen, - unsigned char data[], + const uint8_t data[], unsigned short len) { uint32_t i2c_auto_conf; @@ -470,7 +471,7 @@ static int hsi2c_read(struct exynos5_hsi2c *i2c, unsigned char chip, unsigned char addr[], unsigned char alen, - unsigned char data[], + uint8_t data[], unsigned short len, int check) { @@ -632,7 +633,7 @@ bailout: } int i2c_read(unsigned bus, unsigned chip, unsigned addr, - unsigned alen, unsigned char *buf, unsigned len) + unsigned alen, uint8_t *buf, unsigned len) { struct s3c24x0_i2c_bus *i2c; unsigned char xaddr[4]; @@ -667,7 +668,7 @@ int i2c_read(unsigned bus, unsigned chip, unsigned addr, } int i2c_write(unsigned bus, unsigned chip, unsigned addr, - unsigned alen, unsigned char *buf, unsigned len) + unsigned alen, const uint8_t *buf, unsigned len) { struct s3c24x0_i2c_bus *i2c; unsigned char xaddr[4]; @@ -692,7 +693,7 @@ int i2c_write(unsigned bus, unsigned chip, unsigned addr, alen, buf, len); else ret = i2c_transfer(i2c->regs, I2C_WRITE, chip << 1, - &xaddr[4 - alen], alen, buf, len); + &xaddr[4 - alen], alen, (void *)buf, len); if (ret != 0) { diff --git a/src/include/device/i2c.h b/src/include/device/i2c.h index d880a7bbae..997d201341 100644 --- a/src/include/device/i2c.h +++ b/src/include/device/i2c.h @@ -20,10 +20,12 @@ #ifndef _DEVICE_I2C_H_ #define _DEVICE_I2C_H_ +#include + /* note: chip is the 7-bit I2C address */ int i2c_read(unsigned bus, unsigned chip, unsigned addr, - unsigned alen, unsigned char *buf, unsigned len); + unsigned alen, uint8_t *buf, unsigned len); int i2c_write(unsigned bus, unsigned chip, unsigned addr, - unsigned alen, unsigned char *buf, unsigned len); + unsigned alen, const uint8_t *buf, unsigned len); #endif /* _DEVICE_I2C_H_ */ -- cgit v1.2.3