Discussion:
[U-Boot] spi: Zapping non-dm drivers, deadline: v2018.09
Jagan Teki
2018-02-26 14:58:45 UTC
Permalink
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

Jagan.
--
Jagan Teki
Senior Linux Kernel Engineer | Amarula Solutions
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
Tom Rini
2018-02-26 17:25:38 UTC
Permalink
Post by Jagan Teki
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.
----------------------------
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
-------------------------
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!
--
Tom
Marek Vasut
2018-02-26 19:29:05 UTC
Permalink
Post by Tom Rini
Post by Jagan Teki
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.
----------------------------
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
-------------------------
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 gripe is that we should've imported the Linux SPI NOR framework
years ago rather than blocking every and all patch for the current SPI
NOR framework and trying to develop one from scratch ... the drivers I
maintain will be converted eventually.
--
Best regards,
Marek Vasut
Jagan Teki
2018-02-27 06:31:18 UTC
Permalink
Post by Marek Vasut
Post by Tom Rini
Post by Jagan Teki
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.
----------------------------
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
-------------------------
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 gripe is that we should've imported the Linux SPI NOR framework
years ago rather than blocking every and all patch for the current SPI
NOR framework and trying to develop one from scratch ... the drivers I
maintain will be converted eventually.
Don't know whether you followed the previous threads(of conversation)?
direct Linux SPI-NOR porting was done in one series and discussed
along with Simon and eventually moved to MTD driver model on top of
SPI-NOR.

Point here is not the issue with blocking of SPI-NOR changes rather
how the entire stack can fit into that, we are trying to resolve that,
Yes the Linux SPI-NOR will use but the non-dm drivers require other
legacy way(like mmc-legacy) to handle. We trying to get rid of that
here.

Jagan.
Marek Vasut
2018-02-27 19:38:00 UTC
Permalink
Post by Jagan Teki
Post by Marek Vasut
Post by Tom Rini
Post by Jagan Teki
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.
----------------------------
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
-------------------------
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 gripe is that we should've imported the Linux SPI NOR framework
years ago rather than blocking every and all patch for the current SPI
NOR framework and trying to develop one from scratch ... the drivers I
maintain will be converted eventually.
Don't know whether you followed the previous threads(of conversation)?
No, do you have a link to this conversation ?
Post by Jagan Teki
direct Linux SPI-NOR porting was done in one series and discussed
along with Simon and eventually moved to MTD driver model on top of
SPI-NOR.
Fine
Post by Jagan Teki
Point here is not the issue with blocking of SPI-NOR changes rather
how the entire stack can fit into that, we are trying to resolve that,
Yes the Linux SPI-NOR will use but the non-dm drivers require other
legacy way(like mmc-legacy) to handle. We trying to get rid of that
here.
Jagan.
--
Best regards,
Marek Vasut
Angelo Dureghello
2018-02-26 20:08:47 UTC
Permalink
Post by Tom Rini
Post by Jagan Teki
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.
----------------------------
drivers/spi/cf_spi.c
Ack. Starting the conversion as next task.
Post by Tom Rini
Post by Jagan Teki
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
-------------------------
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!
--
Tom
Regards,
Angelo Dureghello
York Sun
2018-02-27 15:58:34 UTC
Permalink
Post by Tom Rini
Post by Jagan Teki
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.
----------------------------
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
-------------------------
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.

York
Jagan Teki
2018-02-27 17:06:46 UTC
Permalink
Post by York Sun
Post by Tom Rini
Post by Jagan Teki
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.
----------------------------
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
-------------------------
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.
Tom Rini
2018-02-27 22:08:38 UTC
Permalink
Hi Jagan,
Post by Jagan Teki
Post by York Sun
Post by Tom Rini
Post by Jagan Teki
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.
----------------------------
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
-------------------------
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'
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'
include/dm/read.h:446: undefined reference to `ofnode_read_u32_default'
include/dm/read.h:446: undefined reference to `ofnode_read_u32_default'
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.
Off the top of my head, we solve this for serial by using platform data
(See include/dm/platform_data/) and I suspect we will need to introduce
this concept for SPI, and other classes as we move forward. Hope this
helps!
--
Tom
Jagan Teki
2018-03-06 18:05:56 UTC
Permalink
Hi Jagan,
Post by Jagan Teki
Post by York Sun
Post by Tom Rini
Post by Jagan Teki
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.
----------------------------
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
-------------------------
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'
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'
include/dm/read.h:446: undefined reference to `ofnode_read_u32_default'
include/dm/read.h:446: undefined reference to `ofnode_read_u32_default'
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.
Loading...