Messages in this thread | | | Subject | Re: [PATCH v2 1/2] modpost: file2alias: fixup mdio alias garbled code in modules.alias | From | zhuyinbo <> | Date | Tue, 30 Nov 2021 16:45:07 +0800 |
| |
在 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; >> } >> >>
| |