Мне первый раз это очень помогло разобраться.
И снова здравствуйте.
Не прошло и три года, как решил таки разобраться с этой темой.
(уже нет возможности сидеть на ядре 4.18)
Есть вопросы по вашим советам.
Подскажите пожалуйста.
1. Откуда взят номер git branch before 8055db3a5b7508872a2d0ab55ff8688ce0b1df63
если текущее исправление 78f3ac76d9e5219... легко гуглится и можно посмотреть про что там. то номер 8055db3a5... гугл находит только в этой теме.
2. Не совсем понятно, а как дейстовать с ядром не из источника .../git/torvalds...
у меня стоят два ядра 4.18 и 5.4(последнее актуальное)
причем если с 4.18 более менее понятно в папке /usr/src к нему относятся каталоги linux-headers-4.18.0-25 и linux-headers-4.18.0-25-generic
то с 5.4 всё по другому
linux-headers-5.4.0-124-generic
linux-hwe-5.4-headers-5.4.0-124
при попытке скачать исходники командой
sudo apt-get source linux-image-5.4.0-124-generic
скачиваются файлы
/usr/src/linux-signed-hwe-5.4_5.4.0-124.140~18.04.1.tar.xz
/usr/src/linux-signed-hwe-5.4_5.4.0-124.140~18.04.1.dsc
после распаковки содержимое каталога /usr/src/linux-signed-hwe-5.4-5.4.0 на исходники не очень похоже
В общем не понятно, да и не ясно нужно ли сейчас откатывать этот патч.
Судя по всему это место в ядре очень сильно поменялось уже.
было таое
изменение err = asus_wmi_backlight_init(asus);
if (err && err != -ENODEV)
goto fail_backlight;
-- }
++ } else
++ err = asus_wmi_set_devstate(ASUS_WMI_DEVID_BACKLIGHT, 2, NULL);
теперь там совсем другой
кодpower = read_backlight_power(asus);
if (power != -ENODEV && bd->props.power != power) {
ctrl_param = !!(bd->props.power == FB_BLANK_UNBLANK);
err = asus_wmi_set_devstate(ASUS_WMI_DEVID_BACKLIGHT,
ctrl_param, NULL);
if (asus->driver->quirks->store_backlight_power)
asus->driver->panel_power = bd->props.power;
/* When using scalar brightness, updating the brightness
* will mess with the backlight power */
if (asus->driver->quirks->scalar_panel_brightness)
return err;
}
3. Изменения сделаны в файле ../drivers/platform/x86/asus-wmi.c
но я нигде не могу найти этот файл (думал уже там полазить вручную и просто собрать ядро с измененным исходником)
у меня в папке /usr/src/linux-headers-5.4.0-124-generic/drivers/platform/x86 вообще нет файлов *.с
получается это даже не исходники.
В общем пока не понятно как это всё работает.