From: Yinbo Zhu <zhuyinbo@loongson.cn>
To: Mark Brown <broonie@kernel.org>, Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
linux-spi@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Cc: Jianmin Lv <lvjianmin@loongson.cn>,
wanghongliang@loongson.cn, Liu Peibao <liupeibao@loongson.cn>,
loongson-kernel@lists.loongnix.cn,
Yinbo Zhu <zhuyinbo@loongson.cn>
Subject: [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi
Date: Mon, 22 May 2023 15:10:28 +0800 [thread overview]
Message-ID: <20230522071030.5193-1-zhuyinbo@loongson.cn> (raw)
Loongson platform support spi hardware controller and this series patch
was to add spi driver and binding support.
Change in v2:
1. This [PATCH v2 1/2] dt-bindings patch need depend on clk patch:
https://
lore.kernel.org/all/20230307115022.12846-1-zhuyinbo@loongson.cn/
2. Remove the clock-names in spi yaml file.
3. Add "loongson,ls7a-spi" compatible in spi yaml file.
4. Add an || COMPILE_TEST and drop && PCI then add some CONFIG_PCI
macro to limit some pci code.
5. Make the spi driver top code comment block that use C++ style.
6. Drop spi->max_speed_hz.
7. Add a spin_lock for loongson_spi_setup.
8. Add a timeout and cpu_relax() in loongson_spi_write_read_8bit.
9. Add spi_transfer_one and drop transfer and rework entire spi
driver that include some necessary changes.
10. Use module_init replace subsys_initcall.
11. About PM interface that I don't find any issue so I don't add
any changes.
Change in v3:
1. This [PATCH v3 1/2] dt-bindings patch need depend on clk patch:
https://
lore.kernel.org/all/20230323025229.2971-1-zhuyinbo@loongson.cn/
2. Drop the unused blank line in loongson,ls-spi.yaml file.
3. Replace clock minItems with clock maxItems in yaml file.
4. Separate spi driver into platform module, pci module and core
module.
5. Replace DIV_ROUND_UP with DIV_ROUND_UP_ULL to fix compile error
"undefined reference to `__aeabi_uldivmod'" and "__udivdi3 undefined"
that reported by test robot.
6. Remove the spin lock.
7. Clear the loongson_spi->hz and loongson_spi->mode in setup to fixup
the issue that multiple spi device transfer that maybe cause spi was
be misconfigured.
Change in v4:
1. This [PATCH v4 1/2] dt-bindings patch need depend on clk patch:
https://
lore.kernel.org/all/20230323025229.2971-1-zhuyinbo@loongson.cn/
2. Add "#include <linux/io.h>" in spi-loongson-core.c for fix the compile
issue which devm_ioremap no declaration.
3. Add "EXPORT_SYMBOL_GPL(loongson_spi_dev_pm_ops)" in
spi-loongson-core.c for fix the compile issue which
loongson_spi_dev_pm_ops undefined.
Change in v5:
1. Get rid of the clock patch's dependency and open-code the clock IDs.
2. Fixup checkpatch issue that by installed ply and gitpython package
locally, but this series of patch's code doesn't have any change.
Change in v6:
1. Remove the "#include <dt-bindings/clock/loongson,ls2k-clk.h>" in
yaml file.
Change in v7:
1. Remove the "loongson,ls7a-spi" and change yaml file name as
"loongson,ls2k-spi.yaml".
2. Use module_pci_driver and module_platform_driver to replace
module_init and module_exit.
3. Drop ".owner = THIS_MODULE" in spi platform driver.
4. Add devm_spi_alloc_master devm_spi_register_master to simplify code.
5. Add pci_disable_device() in loongson_spi_pci_unregister.
Change in v8:
1. Add reviewed-by information for spi bindings patch.
2. Fixup the uncorrect spi yaml file path in MAINTAINERS file.
3. Add spi_master_suspend and spi_master_resume in spi pm function.
Change in v9:
1. Make spi_master_suspend go first in pm suspend.
Change in v10:
1. Fix the compile issue about of_node_get and of_get_property no
declaration.
2. set config SPI_LOONGSON_CORE invisible.
3. Captial "spi" in commit log and Kconfig file.
4. Write header files in alphabetical order.
5. Use clamp_val, GENMASK() and BIT() in spi clock setting.
6. Optimize clock and mode setting code.
7. Use readb_poll_timeout in loongson_spi_write_read_8bit.
8. Remove some useless dmesg print.
9. Use device_set_node replace of_node_get.
10. Use dev_err_probe in code.
11. Use devm_clk_get_optional replace devm_clk_get.
12. Remove SPI_NO_CS for drop 2k500 non common type spi.
13. Use pcim_enable_device() and pcim_iomap_regions() in spi pci
driver.
14. Passing the remapped address in loongson_spi_init_master.
15. Remove the useless goto flag "err_out".
16. Use pci vendor id in pci_ids.h.
17. Use devm_platform_ioremap_resource in spi platform driver.
18. Remove the useless item in pci_device_id.
19. Remove the inned comma in of_device_id.
20. Add some headfile in spi_loongson.h.
21. Remove the useless extern for loongson_spi_init_master in
spi_loongson.h.
Change in v11:
1. Use spi_get_chipselect() to replace all spi->chip_select in
spi driver
Yinbo Zhu (2):
dt-bindings: spi: add loongson spi
spi: loongson: add bus driver for the loongson spi controller
.../bindings/spi/loongson,ls2k-spi.yaml | 41 +++
MAINTAINERS | 10 +
drivers/spi/Kconfig | 26 ++
drivers/spi/Makefile | 3 +
drivers/spi/spi-loongson-core.c | 279 ++++++++++++++++++
drivers/spi/spi-loongson-pci.c | 61 ++++
drivers/spi/spi-loongson-plat.c | 46 +++
drivers/spi/spi-loongson.h | 47 +++
8 files changed, 513 insertions(+)
--
2.20.1
next reply other threads:[~2023-05-22 7:11 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-22 7:10 Yinbo Zhu [this message]
2023-05-22 7:10 ` [PATCH v11 1/2] dt-bindings: spi: add loongson spi Yinbo Zhu
2023-05-24 8:56 ` Conor Dooley
2023-05-24 9:44 ` zhuyinbo
2023-05-24 10:29 ` Conor Dooley
2023-05-25 2:22 ` zhuyinbo
[not found] ` <2196dd29-93ee-00f7-65b4-ede73aa8ba77@linaro.org>
2023-06-01 9:51 ` zhuyinbo
2023-06-01 15:30 ` Krzysztof Kozlowski
2023-06-02 6:46 ` zhuyinbo
[not found] ` <69d355ff-90e1-09d2-d4ff-0d7dedc8addb@linaro.org>
2023-06-01 11:38 ` zhuyinbo
2023-05-22 7:10 ` [PATCH v11 2/2] spi: loongson: add bus driver for the loongson spi controller Yinbo Zhu
2023-05-23 12:54 ` andy.shevchenko
2023-05-24 7:52 ` zhuyinbo
2023-05-24 8:42 ` Andy Shevchenko
2023-05-24 10:19 ` Mark Brown
2023-05-25 3:34 ` zhuyinbo
2023-05-25 9:16 ` Andy Shevchenko
2023-05-25 9:28 ` zhuyinbo
2023-05-22 10:34 ` [PATCH v11 0/2] spi: loongson: add bus driver for the loongson spi Mark Brown
2023-05-22 11:44 ` zhuyinbo
2023-05-22 11:56 ` Mark Brown
2023-05-22 13:07 ` zhuyinbo
2023-05-22 13:10 ` Mark Brown
2023-05-23 2:08 ` zhuyinbo
2023-05-23 9:57 ` Mark Brown
2023-05-23 11:01 ` zhuyinbo
2023-07-31 19:57 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230522071030.5193-1-zhuyinbo@loongson.cn \
--to=zhuyinbo@loongson.cn \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=liupeibao@loongson.cn \
--cc=loongson-kernel@lists.loongnix.cn \
--cc=lvjianmin@loongson.cn \
--cc=robh+dt@kernel.org \
--cc=wanghongliang@loongson.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).