[U-Boot] [PATCH 1/6] driver:i2c:s3c24x0: adapt driver to new i2c
Heiko Schocher
hs at denx.de
Mon Nov 18 08:19:11 CET 2013
Hello Piotr,
Am 18.11.2013 08:10, schrieb Piotr Wilczek:
> Hello Heiko,
>
>> -----Original Message-----
>> From: Heiko Schocher [mailto:hs at denx.de]
>> Sent: Monday, November 18, 2013 7:18 AM
>> To: Piotr Wilczek
>> Cc: u-boot at lists.denx.de; Minkyu Kang; Kyungmin Park
>> Subject: Re: [PATCH 1/6] driver:i2c:s3c24x0: adapt driver to new i2c
>>
>> Hello Piotr,
>>
>> Am 13.11.2013 15:31, schrieb Piotr Wilczek:
>>> The s3c24x0 i2c driver is adapted to new i2c framework.
>>>
>>> Signed-off-by: Piotr Wilczek<p.wilczek at samsung.com>
>>> Signed-off-by: Kyungmin Park<kyungmin.park at samsung.com>
>>> Cc: Minkyu Kang<mk7.kang at samsung.com>
>>> Cc: Heiko Schocher<hs at denx.de>
>>> ---
>>> drivers/i2c/Makefile | 2 +-
>>> drivers/i2c/s3c24x0_i2c.c | 157 +++++++++++++++++++++++++++++-----
>> -----------
>>> 2 files changed, 101 insertions(+), 58 deletions(-)
>>
>> Thanks for your work! Ne real issues with your patch, but can you
>> squash your patchset in one patch, as we not want to lost "git bisect"
>> functionality.
> Ok.
>
>>
>> Beside of this, only minor comments:
>>
>> [...]
>>> diff --git a/drivers/i2c/s3c24x0_i2c.c b/drivers/i2c/s3c24x0_i2c.c
>>> index f77a9d1..0051cac 100644
>>> --- a/drivers/i2c/s3c24x0_i2c.c
>>> +++ b/drivers/i2c/s3c24x0_i2c.c
[...]
>>> @@ -254,17 +252,17 @@ static void ReadWriteByte(struct s3c24x0_i2c
>> *i2c)
>>> writel(readl(&i2c->iiccon)& ~I2CCON_IRPND,&i2c->iiccon);
>>> }
>>>
>>> -static struct s3c24x0_i2c *get_base_i2c(void)
>>> +static struct s3c24x0_i2c *get_base_i2c(int bus)
>>> {
>>> #ifdef CONFIG_EXYNOS4
>>> struct s3c24x0_i2c *i2c = (struct s3c24x0_i2c
>> *)(samsung_get_base_i2c()
>>> +
> (EXYNOS4_I2C_SPACING
>>> - * g_current_bus));
>>> + * bus));
>>> return i2c;
>>> #elif defined CONFIG_EXYNOS5
>>> struct s3c24x0_i2c *i2c = (struct s3c24x0_i2c
>> *)(samsung_get_base_i2c()
>>> +
> (EXYNOS5_I2C_SPACING
>>> - * g_current_bus));
>>> + * bus));
>>> return i2c;
>>> #else
>>> return s3c24x0_get_base_i2c();
>>> @@ -298,7 +296,6 @@ static void i2c_ch_init(struct s3c24x0_i2c *i2c,
>> int speed, int slaveadd)
>>> writel(I2C_MODE_MT | I2C_TXRX_ENA,&i2c->iicstat);
>>> }
>>>
>>> -#ifdef CONFIG_I2C_MULTI_BUS
>>> static int hsi2c_get_clk_details(struct s3c24x0_i2c_bus *i2c_bus)
>>> {
>>> struct exynos5_hsi2c *hsregs = i2c_bus->hsregs; @@ -307,8 +304,10
>>> @@ static int hsi2c_get_clk_details(struct s3c24x0_i2c_bus *i2c_bus)
>>> unsigned int i = 0, utemp0 = 0, utemp1 = 0;
>>> unsigned int t_ftl_cycle;
>>>
>>> -#if defined CONFIG_EXYNOS5
>>> +#if (defined CONFIG_EXYNOS4 || defined CONFIG_EXYNOS5)
>>> clkin = get_i2c_clk();
>>> +#else
>>> + clkin = get_PCLK();
>>> #endif
>>
>> What has this change to do with the new i2c framework?
> Actually it is related to commit shaid: 296a461
> Without this change I get the uninitialized variable warning for Exynos 4.
> I can make a separate patch fix for this change if you prefer.
Yes, please.
bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
More information about the U-Boot
mailing list