[U-Boot] [PATCH 4/6 v2] i2c: designware_i2c: Prepare for DM driver conversion

Stefan Roese
2016-04-13T08:10:17Z

Hi Bin,

(added Simon to Cc)

On 13.04.2016 10:05, Bin Meng wrote:
> Hi Heiko,
>
> On Wed, Apr 13, 2016 at 3:39 PM, Heiko Schocher <hs@denx.de> wrote:
>> Hello Stefan,
>>
>>
>> Am 13.04.2016 um 09:05 schrieb Stefan Roese:
>>>
>>> Hi Heiko,
>>>
>>> On 13.04.2016 09:00, Heiko Schocher wrote:
>>>>
>>>> Am 13.04.2016 um 07:56 schrieb Stefan Roese:
>>>>>
>>>>> Hi Heiko,
>>>>>
>>>>> On 13.04.2016 07:49, Heiko Schocher wrote:
>>>>>>
>>>>>> Hello Stefan,
>>>>>>
>>>>>> Am 12.04.2016 um 15:22 schrieb Stefan Roese:
>>>>>>>
>>>>>>> Hi Heiko,
>>>>>>>
>>>>>>> On 28.03.2016 09:33, Heiko Schocher wrote:
>>>>>>>>
>>>>>>>> Am 23.03.2016 um 06:46 schrieb Stefan Roese:
>>>>>>>>>
>>>>>>>>> This patch prepares the designware I2C driver for the DM conversion.
>>>>>>>>> This is mainly done by removing struct i2c_adapter from the
>>>>>>>>> functions
>>>>>>>>> that shall be used by the DM driver version as well.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Stefan Roese <sr@denx.de>
>>>>>>>>> Cc: Simon Glass <sjg@chromium.org>
>>>>>>>>> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
>>>>>>>>> Cc: Marek Vasut <marex@denx.de>
>>>>>>>>> Cc: Heiko Schocher <hs@denx.de>
>>>>>>>>> ---
>>>>>>>>> v2:
>>>>>>>>> - Added Reviewed-by from Bin
>>>>>>>>>
>>>>>>>>> drivers/i2c/designware_i2c.c | 173
>>>>>>>>> ++++++++++++++++++++++---------------------
>>>>>>>>> 1 file changed, 90 insertions(+), 83 deletions(-)
>>>>>>>>
>>>>>>>>
>>>>>>>> I tried to apply this patch, but get the following error:
>>>>>>>>
>>>>>>>> Wende an: i2c: designware_i2c: Prepare for DM driver conversion
>>>>>>>> fatal: sha1 information is lacking or useless
>>>>>>>> (drivers/i2c/designware_i2c.c).
>>>>>>>> Dem Repository fehlen notwendige Blobs um auf einen 3-Wege-Merge
>>>>>>>> zur?ckzufallen.
>>>>>>>> Kann nicht zu 3-Wege-Merge zur?ckfallen.
>>>>>>>> Anwendung des Patches fehlgeschlagen bei 0001 i2c: designware_i2c:
>>>>>>>> Prepare for DM driver conversion
>>>>>>>>
>>>>>>>> I tried the this patch on current mainline, with the following
>>>>>>>> patches applied:
>>>>>>>>
>>>>>>>> http://patchwork.ozlabs.org/patch/601112/
>>>>>>>> http://patchwork.ozlabs.org/patch/601128/
>>>>>>>> http://patchwork.ozlabs.org/patch/601117/
>>>>>>>>
>>>>>>>> Could you take a look?
>>>>>>>
>>>>>>>
>>>>>>> This should be fixed with v3 of this patch:
>>>>>>>
>>>>>>> https://patchwork.ozlabs.org/patch/609406/
>>>>>>>
>>>>>>> Could you give it another try please?
>>>>>>
>>>>>>
>>>>>> Yes, this patch applies now fine, but the patch:
>>>>>>
>>>>>> [U-Boot,5/6,v2] i2c: designware_i2c: Add DM support
>>>>>> http://patchwork.ozlabs.org/patch/601116/
>>>>>>
>>>>>> fails now:
>>>>>>
>>>>>> --2016-04-13 07:30:54-- http://patchwork.ozlabs.org/patch/601116/mbox
>>>>>> Aufl?sen des Hostnamens ?patchwork.ozlabs.org (patchwork.ozlabs.org)? ?
>>>>>> 103.22.144.67, 2401:3900:2:1::2
>>>>>> Verbindungsaufbau zu patchwork.ozlabs.org
>>>>>> (patchwork.ozlabs.org)|103.22.144.67|:80 ? verbunden.
>>>>>> HTTP-Anforderung gesendet, auf Antwort wird gewartet ? 301 MOVED
>>>>>> PERMANENTLY
>>>>>> Platz: http://patchwork.ozlabs.org/patch/601116/mbox/ [folgend]
>>>>>> --2016-04-13 07:30:54-- http://patchwork.ozlabs.org/patch/601116/mbox/
>>>>>> Wiederverwendung der bestehenden Verbindung zu patchwork.ozlabs.org:80.
>>>>>> HTTP-Anforderung gesendet, auf Antwort wird gewartet ? 200 OK
>>>>>> L?nge: nicht spezifiziert [text/plain]
>>>>>> Wird in ??mbox?? gespeichert.
>>>>>>
>>>>>> mbox [ <=>
>>>>>> ] 6,06K --.-KB/s in 0,004s
>>>>>>
>>>>>> 2016-04-13 07:30:54 (1,39 MB/s) - ?mbox? gespeichert [6202]
>>>>>>
>>>>>> total: 0 errors, 0 warnings, 0 checks, 181 lines checked
>>>>>>
>>>>>> NOTE: Ignored message types: COMPLEX_MACRO CONSIDER_KSTRTO MINMAX
>>>>>> MULTISTATEMENT_MACRO_USE_DO_WHILE NETWORKING_BLOCK_COMMENT_STYLE
>>>>>> PREFER_ETHER_ADDR_COPY USLEEP_RANGE
>>>>>>
>>>>>> mbox has no obvious style problems and is ready for submission.
>>>>>> Wende an: i2c: designware_i2c: Add DM support
>>>>>> fatal: sha1 information is lacking or useless
>>>>>> (drivers/i2c/designware_i2c.c).
>>>>>> Dem Repository fehlen notwendige Blobs um auf einen 3-Wege-Merge
>>>>>> zur?ckzufallen.
>>>>>> Kann nicht zu 3-Wege-Merge zur?ckfallen.
>>>>>> Anwendung des Patches fehlgeschlagen bei 0001 i2c: designware_i2c: Add
>>>>>> DM support
>>>>>> Die Kopie des fehlgeschlagenen Patches befindet sich in:
>>>>>> /home/hs/i2c/u-boot/.git/rebase-apply/patch
>>>>>> Wenn Sie das Problem gel?st haben, f?hren Sie "git am --continue" aus.
>>>>>> Falls Sie diesen Patch auslassen m?chten, f?hren Sie stattdessen
>>>>>> "git am --skip" aus.
>>>>>> Um den urspr?nglichen Branch wiederherzustellen und die Anwendung der
>>>>>> Patches abzubrechen, f?hren Sie "git am --abort" aus.
>>>>>> pollux:u-boot hs [master] $
>>>>>>
>>>>>> Base is current mainline (with 2 i2c patches from Michal, but they
>>>>>> should not interfere with your patches ...):
>>>>>>
>>>>>> pollux:u-boot hs [master] $ git log --oneline
>>>>>> 2ddd09a i2c: designware_i2c: Prepare for DM driver conversion
>>>>>> f824253 i2c: designware_i2c: Integrate set_speed() into
>>>>>> dw_i2c_set_bus_speed()
>>>>>> 709a9e6 i2c: designware_i2c: Add dw_i2c_enable() helper function
>>>>>> 1b89299 i2c: designware_i2c: Add ic_enable_status to ic_regs struct
>>>>>> d4cc513 dm: i2c: Add driver for Cadence I2C IP
>>>>>> be332ef i2c: Describe Cadence I2C devicetree bindings
>>>>>> 39fbd98 Merge git://www.denx.de/git/u-boot-marvell
>>>>>>
>>>>>> patches from you in the above list:
>>>>>> - [U-Boot,1/6,v2] i2c: designware_i2c: Add ic_enable_status to ic_regs
>>>>>> struct
>>>>>> http://patchwork.ozlabs.org/patch/601112/
>>>>>> - [U-Boot,2/6,v3] i2c: designware_i2c: Add dw_i2c_enable() helper
>>>>>> function
>>>>>> http://patchwork.ozlabs.org/patch/601128/
>>>>>> - [U-Boot,3/6,v2] i2c: designware_i2c: Integrate set_speed() into
>>>>>> dw_i2c_set_bus_speed()
>>>>>> http://patchwork.ozlabs.org/patch/601117/
>>>>>> - [U-Boot,v3] i2c: designware_i2c: Prepare for DM driver conversion
>>>>>> http://patchwork.ozlabs.org/patch/609406/
>>>>>>
>>>>>> Did I missed an update patch?
>>>>>
>>>>>
>>>>> No, its most likely a problem with the updated patch from yesterday.
>>>>> Could you please use the "-3" option with "git am" to apply this
>>>>> patch? This works for me:
>>>>>
>>>>> $ git am -3
>>>>> ~/Downloads/U-Boot-5-6-v2-i2c-designware_i2c-Add-DM-support\(1\).patch
>>>>> Applying: i2c: designware_i2c: Add DM support
>>>>> Using index info to reconstruct a base tree...
>>>>> M drivers/i2c/designware_i2c.c
>>>>> Falling back to patching base and 3-way merge...
>>>>> Auto-merging drivers/i2c/designware_i2c.c
>>>>
>>>>
>>>> Hmm... I use "git am -3" ... I see this log:
>>>> ">> Kann nicht zu 3-Wege-Merge zur?ckfallen."
>>>>
>>>> Do you really work on mainline, with only the patches I listed?
>>>
>>>
>>> Yes, thats what I use. Perhaps a difference in the git version
>>> that explains why this works for me:
>>>
>>> $ git --version
>>> git version 2.8.1
>>
>>
>> May this is the reason .... I have:
>> pollux:u-boot hs [master] $ git --version
>> git version 2.5.0
>> pollux:u-boot hs [master] $
>>
>>> If this does not work, I'll rebase all 6 patches again and send
>>> them to the list later.
>>
>>
>> Hmm... "patch" works ...
>>
>> pollux:u-boot hs [i2c_designware] $ patch -p1 < mbox
>> patching file drivers/i2c/designware_i2c.c
>> Hunk #1 succeeded at 6 with fuzz 1.
>> Hunk #2 succeeded at 299 (offset 1 line).
>> Hunk #3 succeeded at 360 (offset 1 line).
>> Hunk #4 succeeded at 377 (offset 1 line).
>> Hunk #5 succeeded at 415 (offset 1 line).
>> pollux:u-boot hs [i2c_designware] $
>>
>> I pushed this branch to:
>> http://git.denx.de/?p=u-boot/u-boot-i2c.git;a=shortlog;h=refs/heads/i2c_designware
>>
>> Could you recheck, if all is correct? (I start in the
>> meanwhile a buildman compile for it ...)
>>
>
> I think we still need wait for Simon's input on dev_get_addr(), before
> applying this series. Stefan?

Yes, I would also like to have a comment from Simon on this.
I've asked Simon a few times in the past days. But I would really
like to see these driver changes integrated in this release.
If Simon (or somebody else) has some better ideas to handle this,
I can provide some follow-up patches.

Thanks,
Stefan