lkml.org 
[lkml]   [2021]   [Nov]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2 1/2] modpost: file2alias: fixup mdio alias garbled code in modules.alias
From
Date

在 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@loongson.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;
>> }
>>
>>

\
 
 \ /
  Last update: 2021-11-30 09:45    [W:0.080 / U:0.388 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site