[U-Boot] spi: Zapping non-dm drivers, deadline: v2018.09

Jagan Teki jagan at amarulasolutions.com
Tue Mar 6 18:05:56 UTC 2018


On Wed, Feb 28, 2018 at 3:32 AM, Angelo Dureghello <angelo at sysam.it> wrote:
> Hi Jagan,
>
> On Tue, Feb 27, 2018 at 10:36:46PM +0530, Jagan Teki wrote:
>> On Tue, Feb 27, 2018 at 9:28 PM, York Sun <york.sun at nxp.com> wrote:
>> > On 02/26/2018 09:25 AM, Tom Rini wrote:
>> >> On Mon, Feb 26, 2018 at 08:28:45PM +0530, Jagan Teki wrote:
>> >>
>> >>> Due to adding various new functionalities with SPI and SPI-FLASH
>> >>> subsystems which are rounding in Mailing list for year+ [1] these long
>> >>> term supporting spi driver which never seen any update with
>> >>> driver-model conversion.
>> >>>
>> >>> We support to write another stack code for supporting these legacy
>> >>> stuff, but things become more difficult. So I'm finally giving
>> >>> deadlines for these drivers to respective driver or board developers
>> >>> to convert them as soon as possible.
>> >>>
>> >>> PS: We all agree some special platforms has some difficulties with
>> >>> dm-conversion let's discuss.
>> >>>
>> >>> No dm conversion yet:
>> >>> ----------------------------
>> >>> drivers/spi/cf_spi.c
>> >>> drivers/spi/fsl_espi.c
>> >>> drivers/spi/lpc32xx_ssp.c
>> >>> drivers/spi/mpc8xx_spi.c
>> >>> drivers/spi/mpc8xxx_spi.c
>> >>> drivers/spi/mxs_spi.c
>> >>> drivers/spi/sh_qspi.c
>> >>> drivers/spi/sh_spi.c
>> >>> drivers/spi/soft_spi_legacy.c
>> >>>
>> >>>
>> >>> Partially converted:
>> >>> -------------------------
>> >>> drivers/spi/atcspi200_spi.c
>> >>> drivers/spi/atmel_spi.c
>> >>> drivers/spi/davinci_spi.c
>> >>> drivers/spi/fsl_dspi.c
>> >>> drivers/spi/fsl_qspi.c
>> >>> drivers/spi/kirkwood_spi.c
>> >>> drivers/spi/mxc_spi.c
>> >>> drivers/spi/omap3_spi.c
>> >>> drivers/spi/ti_qspi.cM
>> >>>
>> >>> I would like to see these legacy drivers with full dm-conversion or
>> >>> zapped in v2018.09 version of U-Boot.
>> >>>
>> >>> [1] http://u-boot.10912.n7.nabble.com/PATCH-v10-00-27-dm-Generic-MTD-Subsystem-with-SPI-NOR-interface-td315694i20.html
>> >>
>> >> I've added a bunch of people to the Cc list.  I am in agreement with
>> >> this idea.  I'd also rather not push the deadline here out further.
>> >> Please, speak out if this is a problem, or if you'd like to drop some
>> >> code / platforms.  Thanks all!
>> >>
>> >
>> > My only concern is for legacy platforms such as mpc8xxx. As long as the
>> > new dm-driver doesn't force to use device tree which mpc8xxx doesn't
>> > have, it should continue to work.
>>
>> dm, will have dependency with dt for node probe or other details, but
>> U_BOOT_DEVICE can use to support like dm(not sure how feasible it to).
>> Seems like Linux has dts for mpc8xxx, please try to sync.
>
> Unfortunately i am experiencing similar issues for ColdFire (m68k)
> achitecture.
>
> Started today with the conversion of cf_spi.c, but i get several
> unresolved externals,
>
> include/dm/read.h:446: undefined reference to `ofnode_read_u32_default'
> include/dm/read.h:446: undefined reference to `ofnode_read_u32_default'
> include/dm/read.h:446: undefined reference to `ofnode_read_u32_default'
> drivers/spi/built-in.o: In function `dev_read_bool':
> include/dm/read.h:457: undefined reference to `ofnode_read_bool'
> include/dm/read.h:457: undefined reference to `ofnode_read_bool'
> include/dm/read.h:457: undefined reference to `ofnode_read_bool'
> include/dm/read.h:457: undefined reference to `ofnode_read_bool'
> include/dm/read.h:457: undefined reference to `ofnode_read_bool'
> drivers/spi/built-in.o: In function `dev_read_u32_default':
> include/dm/read.h:446: undefined reference to `ofnode_read_u32_default'
> include/dm/read.h:446: undefined reference to `ofnode_read_u32_default'
> drivers/spi/built-in.o:(.u_boot_list_2_uclass_2_spi+0x8):
>         undefined reference to `dm_scan_fdt_dev'
>
> Issue seems related to spi-uclass.o that calls fdt node read
> functions.
>
> While i.e. serial-uclass.o is not calling node read functions,
> so a DM driver for uart could be implemented.
>
> For ColdFire there is no fdt support, (also in Linux).
> I believe starting dts support for ColdFire may be a bit complex
> and long job.

Then, try to use platform_data, see this patch[2] for sample conversion.

[2] https://patchwork.ozlabs.org/patch/882169/

Jagan.

-- 
Jagan Teki
Senior Linux Kernel Engineer | Amarula Solutions
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.


More information about the U-Boot mailing list