[d-kernel] [PATCH] [p10/std-def] phy: realtek: leds configuration for RTL8211f

Alexey Sheplyakov asheplyakov на basealt.ru
Пт Окт 14 12:35:47 MSK 2022


Здравствуйте!

On Fri, Oct 14, 2022 at 05:02:05AM +0300, Vitaly Chikunov wrote:
> Обратил внимание на "Если мы хотим этот патч в std-def/un-def -
> требуется тщательное тестирование на регрессии на x86_64 системах."

Замечание касается изначальной версии патча: https://my.basealt.space/attachments/140630

Патч, который я прислал, ничего не меняет на x86{,_64}:

> Configure leds according to 'realtek,led-mode', 'realtek,led[0-2]-control'
> knobs (specified in DTB). Note that *all* of these parameters must be
> set in DTB for this to work.

На x86{,_64} нет device tree, параметрам неоткуда взяться, и никаких
изменений нет:

> +static void rtl8211f_config_led(struct phy_device *phydev)
> +{
> +	struct device *dev = &phydev->mdio.dev;
> +	struct device_node *of_node = dev->of_node;
> +	u16 val;
> +	u32 led_mode, led0_ctrl, led1_ctrl, led2_ctrl;
> +	int ret;
> +
> +	ret = of_property_read_u32(of_node, "realtek,led-mode", &led_mode);
> +	if (ret < 0) {
> +		dev_dbg(dev, "refusing to reconfigure leds: no 'realtek,led-mode' in dtb\n");
> +		return;
> +	}

dev->of_node == NULL, поэтому of_property_read_u32 вернёт ошибку, и
rtl8211f_config_led ничего не делает с устройством.

Более того, даже на системе с device tree нужно, чтобы в описании phy
присутствовали все 4 параметра "realtek,led-mode", "realtek,led0-control",
"realtek,led1-control", "realtek,led2-control".

Всего доброго,
	Алексей


Подробная информация о списке рассылки devel-kernel