[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a569842b-a1e9-0ace-67a4-96d4d0429fbd@loongson.cn>
Date: Tue, 30 Nov 2021 16:45:07 +0800
From: zhuyinbo <zhuyinbo@...ngson.cn>
To: Heiner Kallweit <hkallweit1@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Masahiro Yamada <masahiroy@...nel.org>,
Michal Marek <michal.lkml@...kovi.net>,
Nick Desaulniers <ndesaulniers@...gle.com>,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-kbuild@...r.kernel.org
Cc: Russell King <linux@...linux.org.uk>, Andrew Lunn <andrew@...n.ch>,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-kbuild@...r.kernel.org, zhuyinbo@...ngson.cn
Subject: Re: [PATCH v2 1/2] modpost: file2alias: fixup mdio alias garbled code
in modules.alias
在 2021/11/26 下午6:21, Heiner Kallweit 写道:
> On 26.11.2021 10:45, Yinbo Zhu wrote:
>> After module compilation, module alias mechanism will generate a ugly
>> mdio modules alias configure if ethernet phy was selected, this patch
>> is to fixup mdio alias garbled code.
>>
>> In addition, that ugly alias configure will cause ethernet phy module
>> doens't match udev, phy module auto-load is fail, but add this patch
>> that it is well mdio driver alias configure match phy device uevent.
>>
> I think Andrew asked you for an example already.
> For which PHY's the driver isn't auto-loaded?
I test that use marvell phy, another colleague use motorcomm phy, which
auto load function was all fail.
and I need to emphasize one thing that the mdio auto load issue is
generally issue, not special phy issue.
>
> In addition your commit descriptions are hard to read, especially the
> one for patch 2. Could you please try to change them to proper English?
> Not being a native speaker myself ..
I had changed commit information as v3 version, please you check.
>> Signed-off-by: Yinbo Zhu <zhuyinbo@...ngson.cn>
>> ---
>> Change in v2:
>> Add a MDIO_ANY_ID for considering some special phy device
>> which phy id doesn't be read from phy register.
>>
>>
>> include/linux/mod_devicetable.h | 2 ++
>> scripts/mod/file2alias.c | 17 +----------------
>> 2 files changed, 3 insertions(+), 16 deletions(-)
>>
>> diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
>> index ae2e75d..7bd23bf 100644
>> --- a/include/linux/mod_devicetable.h
>> +++ b/include/linux/mod_devicetable.h
>> @@ -595,6 +595,8 @@ struct platform_device_id {
>> kernel_ulong_t driver_data;
>> };
>>
>> +#define MDIO_ANY_ID (~0)
>> +
>> #define MDIO_NAME_SIZE 32
>> #define MDIO_MODULE_PREFIX "mdio:"
>>
>> diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
>> index 49aba86..63f3149 100644
>> --- a/scripts/mod/file2alias.c
>> +++ b/scripts/mod/file2alias.c
>> @@ -1027,24 +1027,9 @@ static int do_platform_entry(const char *filename,
>> static int do_mdio_entry(const char *filename,
>> void *symval, char *alias)
>> {
>> - int i;
>> DEF_FIELD(symval, mdio_device_id, phy_id);
>> - DEF_FIELD(symval, mdio_device_id, phy_id_mask);
>> -
>> alias += sprintf(alias, MDIO_MODULE_PREFIX);
>> -
>> - for (i = 0; i < 32; i++) {
>> - if (!((phy_id_mask >> (31-i)) & 1))
>> - *(alias++) = '?';
>> - else if ((phy_id >> (31-i)) & 1)
>> - *(alias++) = '1';
>> - else
>> - *(alias++) = '0';
>> - }
>> -
>> - /* Terminate the string */
>> - *alias = 0;
>> -
>> + ADD(alias, "p", phy_id != MDIO_ANY_ID, phy_id);
>> return 1;
>> }
>>
>>
Powered by blists - more mailing lists