Skip to content

dts: wb6: add gpio line names - #114

Closed
KraPete wants to merge 7 commits into
dev/v5.10.yfrom
feature/52194-gpio-labels
Closed

dts: wb6: add gpio line names#114
KraPete wants to merge 7 commits into
dev/v5.10.yfrom
feature/52194-gpio-labels

Conversation

@KraPete

Copy link
Copy Markdown
Contributor

No description provided.

@KraPete
KraPete requested review from evgeny-boger, vdromanov and webconn and removed request for webconnNovember 23, 2022 12:23
@KraPete
KraPete marked this pull request as ready for review November 23, 2022 12:23

@evgeny-bogerevgeny-boger left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

label абсолютно всегда должны совпадать с существующими на WB7, потому что они становятся частью неизменного api.

Как минимум W1 UP не совпал. Надо перепроверить все.

@KraPete

Copy link
Copy Markdown
ContributorAuthor

Я копировал из WB7. Если не было в WB7, то писал название с сайта.

@KraPete

Copy link
Copy Markdown
ContributorAuthor

С W1-UP, кстати, просто сделали как получилось. Все названия через пробел, даже W2 UP ниже через пробел. А тут вылез тире. Потому я его и заменил.

@webconnwebconn left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сходу нашёл ещё несоответствий:

  • синтаксис как попало, где-то V_OUT, где-то 5Vout, нельзя так, если мы это публичным API затеяли
  • в WB7 есть RTC SCK (который должен был быть SCL, мы ж в I2C)
  • в WB7 есть Watchdog out, хотя в WB6 везде Watchdog input
  • в WB7 SPI на MOD4 обнозначен MOD4 SPI MOSI и т.п., в WB6 MOD3 MOSI

Кажется, нам стоит ввести какой-то источник правды об этом, желательно с автоматической проверкой, потому что проморгать тут что-то очень легко

Comment threadarch/arm/boot/dts/imx6ul-wirenboard61.dts Outdated
@webconn

Copy link
Copy Markdown
Contributor

И, кстати, в источнике правды надо не только перечислить имена, но и написать правила их составления (хотя бы в общих чертах) и привести примеры неправильных (как минимум из того, что есть)

@KraPete

Copy link
Copy Markdown
ContributorAuthor

Сходу нашёл ещё несоответствий:

* синтаксис как попало, где-то `V_OUT`, где-то `5Vout`, нельзя так, если мы это публичным API затеяли
* в WB7 есть `RTC SCK` (который должен был быть `SCL`, мы ж в I2C)
* в WB7 есть `Watchdog out`, хотя в WB6 везде `Watchdog input`
* в WB7 SPI на MOD4 обнозначен `MOD4 SPI MOSI` и т.п., в WB6 `MOD3 MOSI`

Кажется, нам стоит ввести какой-то источник правды об этом, желательно с автоматической проверкой, потому что проморгать тут что-то очень легко

  1. Так уже было в WB7. Задачи менять названия не стояло. Мне надо их придумать?
  2. WB7 я не трогал, задача была "прописать названия для WB6".
  3. Ещё раз. Я спросил где названия, меня послали на сайт, там написано input.
  4. Поправлю

@webconn

Copy link
Copy Markdown
Contributor

Давай сразу сделаем офигенно, раз уж на то пошло

@evgeny-boger

Copy link
Copy Markdown
Member

в WB7 есть Watchdog out, хотя в WB6 везде Watchdog input

ну потому что в вб6 кто-то переписывал просто со схемы, а в вб7 я подумал. Ну это же выход с точки зрения вб

в WB7 есть RTC SCK (который должен был быть SCL, мы ж в I2C)
можно поправить

С W1-UP, кстати, просто сделали как получилось. Все названия через пробел, даже W2 UP ниже через пробел. А тут вылез тире. Потому я его и заменил.

тогда заменить и там и там

синтаксис как попало, где-то V_OUT, где-то 5Vout, нельзя так, если мы это публичным API затеяли

оно так по-моему в gpio блоке в интерфейсе уже

* Watchdog input -> Watchdog out
* Add "SPI" to MOD SPI names
* 5Vout -> 5V_OUT as in wb-mqtt-gpio
* CAN_TX -> CAN TX, CAN_RX -> CAN RX
* PMIC_XXX -> PMIC XXX
* SODIMM:52 [NC[ -> SODIMM:52 [NC]
* MODX RTS -> MODX DE
* MODX SPI SS -> MODX SPI CS
@KraPete

Copy link
Copy Markdown
ContributorAuthor

Остались следующие вопросы:

  1. Не все названия в верхнем регистре. Надо ли все переводить?
    Вот список таких слов
Watchdog out
Status
Failsafe
Termination
Pushbutton
Wi-Fi
reserved
Backlight
microSD
eMMC
SoM

Можно оставить

Wi-Fi
microSD
eMMC
SoM

Остальные перевести в верхний регистр

  1. Названий с подчёркиваением почти нет, везде тире.
    Имеет смысл оставить V_OUT ON и 5V_OUT ON т.к. они уже так написаны в wb-mqtt-gpio. Остаётся SIM_SELECT. Предалагаю сделать SIM SELECT.

@webconn

Copy link
Copy Markdown
Contributor

Можно оставить

Wi-Fi
microSD
eMMC
SoM

Остальные перевести в верхний регистр

Да давай уже все в верхний регистр, WIFI, MICROSD, EMMC, SOM, вряд ли кого-то смутит

2. Названий с подчёркиваением почти нет, везде тире.
Имеет смысл оставить `V_OUT ON` и `5V_OUT ON` т.к. они уже так написаны в `wb-mqtt-gpio`. Остаётся `SIM_SELECT`. Предалагаю сделать `SIM SELECT`.

Мне нравится

@webconn

Copy link
Copy Markdown
Contributor

По мотивам встречи сегодня: меняем DE обратно на RTS, потому что этим могли пользоваться, все остальные изменения (которые не касаются GPIO для пользователей) можно оставить

@webconnwebconn left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Давай всё оставшееся в верхний регистр переводить (всякие Status, Watchdog, Failsafe)

@KraPete

Copy link
Copy Markdown
ContributorAuthor

Давай всё оставшееся в верхний регистр переводить (всякие Status, Watchdog, Failsafe)

Решили же не трогать

@webconn

Copy link
Copy Markdown
Contributor

Так нет же, мы решили не трогать новые придуманные изменения. Напомню контекст: нам важно было сохранить названия у ножек GPIO, до которых потенциально могли зачем-то дотянуться пользователи. Это касается в первую очередь ножек на модулях расширения (отсюда DE превратился обратно в RTS). GPIO наружу (A1-A4, D1) уже в порядке, подтяжка 1-Wire по идее используется только у нас внутри, 5Vout и прочие у нас в wb-mqtt-gpio называются через нижнее подчёркивание.

Всё то, что нужно для внутренних нужд, можно менять, не особо опасаясь за совместимость с чьим-то левым софтом, потому там можно сделать всё красиво (а это значит, как мы решили, переводить всё в верхний регистр).

@KraPete

Copy link
Copy Markdown
ContributorAuthor
  1. Перевел в верхний регистр "не GPIO".
  2. Eth1 RST -> SOM ETH1 RST. Тут не уверен, кажется, что забыли SOM?

@KraPete
KraPete requested a review from webconnDecember 5, 2022 06:05
Comment threadarch/arm/boot/dts/imx6ul-wirenboard65.dts Outdated
Comment threadarch/arm/boot/dts/imx6ul-wirenboard670.dts Outdated
Comment threadarch/arm/boot/dts/imx6ul-wirenboard670.dts Outdated
Comment threadarch/arm/boot/dts/imx6ul-wirenboard690.dts Outdated
Comment threadarch/arm/boot/dts/sun8i-r40-wirenboard-som-test.dts Outdated
Comment threadarch/arm/boot/dts/sun8i-r40-wirenboard72x.dtsi Outdated
Comment threadarch/arm/boot/dts/sun8i-r40-wirenboard72x.dtsi Outdated
"Wi-Fi ON", "GSM Status", "GSM PWRKEY", "GSM ON", /* 24 - 27 */
"A2 OUT", "A1 OUT", "PUSHBUTTON", "[NC]", /* 12 - 15 */
"[NC]", "[NC]", "[NC]", "WBMZ STATUS", /* 16 - 19 */
"USB0 ID", "WATHCDOG OUT", "[NC]", "[NC]", /* 20 - 23 */

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"USB0 ID", "WATHCDOG OUT", "[NC]", "[NC]", /* 20 - 23 */
"USB0 ID", "WATCHDOG OUT", "[NC]", "[NC]", /* 20 - 23 */

@KraPete
KraPete requested a review from webconnDecember 5, 2022 06:52
@webconn

Copy link
Copy Markdown
Contributor

Кажется, это последнее

@KraPeteKraPete mentioned this pull request Dec 7, 2022
@KraPete

Copy link
Copy Markdown
ContributorAuthor

Rebase #116

@KraPeteKraPete closed this Dec 7, 2022
@KraPete
KraPete deleted the feature/52194-gpio-labels branch December 7, 2022 05:17
taraant pushed a commit that referenced this pull request Apr 14, 2026
[ Upstream commit ce8fe5287b87e24e225c342f3b0ec04f0b3680fe ]
platform_device_unregister() may still want to use the registered clks
during runtime resume callback.
Note that there is a commit d82d530 ("net: macb: fix use after free
on rmmod") that addressed the similar problem of clk vs platform device
unregistration but just moved the bug to another place.
Save the pointers to clks into local variables for reuse after platform
device is unregistered.
BUG: KASAN: use-after-free in clk_prepare+0x5a/0x60
Read of size 8 at addr ffff888104f85e00 by task modprobe/597
CPU: 2 PID: 597 Comm: modprobe Not tainted 6.1.164+ #114
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.1-0-g3208b098f51a-prebuilt.qemu.org 04/01/2014
Call Trace:
<TASK>
dump_stack_lvl+0x8d/0xba
print_report+0x17f/0x496
kasan_report+0xd9/0x180
clk_prepare+0x5a/0x60
macb_runtime_resume+0x13d/0x410 [macb]
pm_generic_runtime_resume+0x97/0xd0
__rpm_callback+0xc8/0x4d0
rpm_callback+0xf6/0x230
rpm_resume+0xeeb/0x1a70
__pm_runtime_resume+0xb4/0x170
bus_remove_device+0x2e3/0x4b0
device_del+0x5b3/0xdc0
platform_device_del+0x4e/0x280
platform_device_unregister+0x11/0x50
pci_device_remove+0xae/0x210
device_remove+0xcb/0x180
device_release_driver_internal+0x529/0x770
driver_detach+0xd4/0x1a0
bus_remove_driver+0x135/0x260
driver_unregister+0x72/0xb0
pci_unregister_driver+0x26/0x220
__do_sys_delete_module+0x32e/0x550
do_syscall_64+0x35/0x80
entry_SYSCALL_64_after_hwframe+0x6e/0xd8
</TASK>
Allocated by task 519:
kasan_save_stack+0x2c/0x50
kasan_set_track+0x21/0x30
__kasan_kmalloc+0x8e/0x90
__clk_register+0x458/0x2890
clk_hw_register+0x1a/0x60
__clk_hw_register_fixed_rate+0x255/0x410
clk_register_fixed_rate+0x3c/0xa0
macb_probe+0x1d8/0x42e [macb_pci]
local_pci_probe+0xd7/0x190
pci_device_probe+0x252/0x600
really_probe+0x255/0x7f0
__driver_probe_device+0x1ee/0x330
driver_probe_device+0x4c/0x1f0
__driver_attach+0x1df/0x4e0
bus_for_each_dev+0x15d/0x1f0
bus_add_driver+0x486/0x5e0
driver_register+0x23a/0x3d0
do_one_initcall+0xfd/0x4d0
do_init_module+0x18b/0x5a0
load_module+0x5663/0x7950
__do_sys_finit_module+0x101/0x180
do_syscall_64+0x35/0x80
entry_SYSCALL_64_after_hwframe+0x6e/0xd8
Freed by task 597:
kasan_save_stack+0x2c/0x50
kasan_set_track+0x21/0x30
kasan_save_free_info+0x2a/0x50
__kasan_slab_free+0x106/0x180
__kmem_cache_free+0xbc/0x320
clk_unregister+0x6de/0x8d0
macb_remove+0x73/0xc0 [macb_pci]
pci_device_remove+0xae/0x210
device_remove+0xcb/0x180
device_release_driver_internal+0x529/0x770
driver_detach+0xd4/0x1a0
bus_remove_driver+0x135/0x260
driver_unregister+0x72/0xb0
pci_unregister_driver+0x26/0x220
__do_sys_delete_module+0x32e/0x550
do_syscall_64+0x35/0x80
entry_SYSCALL_64_after_hwframe+0x6e/0xd8
Fixes: d82d530 ("net: macb: fix use after free on rmmod")
Signed-off-by: Fedor Pchelkin <pchelkin@ispras.ru>
Link: https://patch.msgid.link/20260330184542.626619-1-pchelkin@ispras.ru
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@KraPete@webconn@evgeny-boger@vdromanov