[PATCH v3 00/27] Add DM support for omap PWM backlight

Felix Brack fb at ltec.ch
Thu Oct 15 10:53:36 CEST 2020


Hello Dario,

On 14.10.20 23:22, Dario Binacchi wrote:
> 
>> Il 14/10/2020 10:22 Felix Brack <fb at ltec.ch> ha scritto:
>>
>>  
>> On 11.10.20 14:13, Dario Binacchi wrote:
>>> The series was born from the need to manage the PWM backlight of the
>>> display connected to my beaglebone board. To hit the target, I had to
>>> develop drivers for PWM management which in turn relied on drivers for
>>> managing timers and clocks, all developed according to the driver model.
>>> My intention was to use the SoC-specific API only at strictly necessary
>>> points in the code. My previous patches for migrating the AM335x display
>>> driver to the driver model had required the implementation of additional
>>> functions outside the concerns of the driver, (settings for dividing the
>>> pixel clock rate, configuring the display DPLL rate, ....) not being
>>> able to use the API of the related clock drivers. This series shouldn't
>>> have repeated the same kind of mistake. Furthermore, I also wanted to fix
>>> that kind of forced choice. Almost everything should have been accessible
>>> via the driver model API. In the series there are also some patches that
>>> could be submitted separately, but which I have however inserted to avoid
>>> applying future patches to incorporate them.
>>> With this last consideration, I hope I have convincingly justified the
>>> large number of patches in the series.
>>>
>>> The patch enabling address translation into a CPU physical address from
>>> device-tree even in case of crossing levels with #size-cells = <0>, is
>>> crucial for the series. The previous implementation was unable to
>>> perform the address translation required by the am33xx device tree.
>>> I tried to apply in a conservative way as few changes as possible and
>>> to verify the execution of all the tests already developed, as well as
>>> the new ones I added for the new feature.
>>>
>>> As recommended by Grygorii Strashko I have removed some patches to
>>> upload them in new different series:
>>> - [v2,01/30] clk: remove a redundant header
>>> - [v2,03/30] arch: sandbox: fix typo in clk.h
>>> - [v2,20/30] video: backlight: fix pwm's duty cycle calculation
>>> - [v2,21/30] video: backlight: fix pwm data structure description
>>> - [v2,22/30] dm: core: improve uclass_get_device_by_phandle_id() description
>>> - [v2,23/30] gpio: fix gpio_request_by_name() description
>>>
>>> Grygorii suggested to remove also other patches that I have kept in the
>>> series to allow anyone who wants to be able to test it. Moreover after
>>> the addition of a patch that has largely changed the device tree. The
>>> patches removed are the one and only ones that do not affect the series
>>> in any way. I hope that the next version of this series will require
>>> only minimal changes allowing me to split it according to Grygorii's
>>> suggestions.
>>> ---- 
>>
> 
>> I must be missing something as this patch series does not apply without
>> errors to U-Boot master:
>>
> 
> Hi Felix,
> I applied the patch of the series downloaded from patchwork on master and I compiled it without errors.
> 
Did you do that against a recently cloned master?

>> error: drivers/clk/clk-ti-am3-dpll-x2.c: No such file or directory
>> error: drivers/clk/clk-ti-am3-dpll.c: No such file or directory
>> error: drivers/clk/clk-ti-ctrl.c: No such file or directory
>> error: drivers/clk/clk-ti-divider.c: No such file or directory
>> error: drivers/clk/clk-ti-gate.c: No such file or directory
>> error: drivers/clk/clk-ti-mux.c: No such file or directory
>> error: drivers/clk/clk-ti.c: No such file or directory
>> error: drivers/clk/clk-ti.h: No such file or directory
> 
> After applying the patch you should find:
> ls drivers/clk/ti
> am3-prcm.c
> clk-am3-dpll.c
> clk-am3-dpll-x2.c
> clk.c
> clk-ctrl.c
> clk-divider.c
> clk-gate.c
> clk.h
> clk-mux.c
> clk-sci.c
> Kconfig
> Makefile
> omap4-cm.c
> 
>> error: drivers/video/tilcdc-panel.c: No such file or directory
>> error: drivers/video/tilcdc-panel.h: No such file or directory
>> error: drivers/video/tilcdc.c: No such file or directory
>> error: drivers/video/tilcdc.h: No such file or directory
>>
> 
> and 
> ls drivers/video/ti
> am335x-fb.c
> am335x-fb.h
> Kconfig
> Makefile
> tilcdc.c
> tilcdc.h
> tilcdc-panel.c
> tilcdc-panel.h
> 
As the patch series does not apply I don't see these files.

>> Does it probably depend on some other patches?
> No, the series patch does not depend on other patches
>>
>> regards, Felix
> 
> Best regards
> Dario
> 

Two hours ago I did:

1. git clone https://gitlab.denx.de/u-boot/u-boot.git
2. downloaded Add-DM-support-for-omap-PWM-backlight.patch from
   https://patchwork.ozlabs.org/project/uboot/list/?series=207124
3. git apply Add-DM-support-for-omap-PWM-backlight.patch --check -v

result:

Checking patch drivers/clk/clk-divider.c...
Checking patch include/linux/clk-provider.h...
Checking patch include/dt-bindings/bus/ti-sysc.h...
...
Checking patch drivers/clk/ti/Kconfig...
Checking patch drivers/clk/ti/Makefile...
Checking patch drivers/clk/clk-ti-am3-dpll-x2.c =>
drivers/clk/ti/clk-am3-dpll-x2.c...
error: drivers/clk/clk-ti-am3-dpll-x2.c: No such file or directory
Checking patch drivers/clk/clk-ti-am3-dpll.c =>
drivers/clk/ti/clk-am3-dpll.c...
error: drivers/clk/clk-ti-am3-dpll.c: No such file or directory
Checking patch drivers/clk/clk-ti-ctrl.c => drivers/clk/ti/clk-ctrl.c...
error: drivers/clk/clk-ti-ctrl.c: No such file or directory
Checking patch drivers/clk/clk-ti-divider.c =>
drivers/clk/ti/clk-divider.c...
error: drivers/clk/clk-ti-divider.c: No such file or directory
Checking patch drivers/clk/clk-ti-gate.c => drivers/clk/ti/clk-gate.c...
error: drivers/clk/clk-ti-gate.c: No such file or directory
Checking patch drivers/clk/clk-ti-mux.c => drivers/clk/ti/clk-mux.c...
error: drivers/clk/clk-ti-mux.c: No such file or directory
Checking patch drivers/clk/clk-ti-sci.c => drivers/clk/ti/clk-sci.c...
Checking patch drivers/clk/clk-ti.c => drivers/clk/ti/clk.c...
error: drivers/clk/clk-ti.c: No such file or directory
Checking patch drivers/clk/clk-ti.h => drivers/clk/ti/clk.h...
error: drivers/clk/clk-ti.h: No such file or directory
Checking patch drivers/clk/ti/Makefile...
Checking patch drivers/clk/ti/omap4-cm.c...
Checking patch drivers/clk/ti/Makefile...
Checking patch drivers/clk/ti/am3-prcm.c...
Checking patch arch/sandbox/dts/test.dts...
Checking patch common/fdt_support.c...
Checking patch drivers/core/Kconfig...
Checking patch drivers/core/fdtaddr.c...
Checking patch drivers/core/of_addr.c...
Checking patch drivers/core/ofnode.c...
Checking patch drivers/core/root.c...
Checking patch include/asm-generic/global_data.h...
error: while searching for:
        struct global_data *new_gd;     /* relocated global data */

#ifdef CONFIG_DM
        struct udevice  *dm_root;       /* Root instance for Driver Model */
        struct udevice  *dm_root_f;     /* Pre-relocation root instance */
        struct list_head uclass_root;   /* Head of core tree */

error: patch failed: include/asm-generic/global_data.h:64
error: include/asm-generic/global_data.h: patch does not apply
Checking patch test/dm/test-fdt.c...
Checking patch drivers/timer/omap-timer.c...
Checking patch drivers/misc/Kconfig...
...
Checking patch drivers/video/ti/Kconfig...
Checking patch drivers/video/ti/Makefile...
Checking patch drivers/video/am335x-fb.c => drivers/video/ti/am335x-fb.c...
Checking patch drivers/video/am335x-fb.h => drivers/video/ti/am335x-fb.h...
Checking patch drivers/video/tilcdc-panel.c =>
drivers/video/ti/tilcdc-panel.c...
error: drivers/video/tilcdc-panel.c: No such file or directory
Checking patch drivers/video/tilcdc-panel.h =>
drivers/video/ti/tilcdc-panel.h...
error: drivers/video/tilcdc-panel.h: No such file or directory
Checking patch drivers/video/tilcdc.c => drivers/video/ti/tilcdc.c...
error: drivers/video/tilcdc.c: No such file or directory
Checking patch drivers/video/tilcdc.h => drivers/video/ti/tilcdc.h...
error: drivers/video/tilcdc.h: No such file or directory
Checking patch board/ti/am335x/board.c...
Checking patch board/ti/am43xx/board.c...

Applying the patches 1 to 15 manually works but then patch 16 fails with:

Checking patch arch/sandbox/dts/test.dts...
Checking patch common/fdt_support.c...
Checking patch drivers/core/Kconfig...
Checking patch drivers/core/fdtaddr.c...
Checking patch drivers/core/of_addr.c...
Checking patch drivers/core/ofnode.c...
Checking patch drivers/core/root.c...
Checking patch include/asm-generic/global_data.h...
error: while searching for:
        struct global_data *new_gd;     /* relocated global data */

#ifdef CONFIG_DM
        struct udevice  *dm_root;       /* Root instance for Driver Model */
        struct udevice  *dm_root_f;     /* Pre-relocation root instance */
        struct list_head uclass_root;   /* Head of core tree */

error: patch failed: include/asm-generic/global_data.h:64
error: include/asm-generic/global_data.h: patch does not apply
Checking patch test/dm/test-fdt.c...

The include/asm-generic/global_data.h in the master does not have a line
reading 'struct global_data *new_gd;     /* relocated global data */'.
Line 180 of the master include/asm-generic/global_data.h file however
reads as follows: 'struct global_data *new_gd;'

regards Felix


More information about the U-Boot mailing list