2015-11-19 14:28:43

by Javier Martinez Canillas

[permalink] [raw]
Subject: [PATCH] modpost: don't add a trailing wildcard for OF module aliases

Commit ac551828993ee ("modpost: i2c aliases need no trailing wildcard")
removed the wildcard at the end of the I2C module aliases because I2C
devices have no IDs so the aliases are just arbitrary device names.

This is also true for OF modaliases since a compatible string is used
to define a specific IP hardware block. So the modalias should match a
specific compatible string and not attempt to match a compatible string
whose name matches the beginning of another one.

For example, the following driver module:

$ modinfo cros_ec_keyb | grep alias
alias: platform:cros-ec-keyb
alias: of:N*T*Cgoogle,cros-ec-keyb*

will be tried to be loaded for an alias of:N*T*Cgoogle,cros-ec-keyb-v2
but there could be a different driver that supports the device for that
compatible string so it's better to remove the trailing wildcard for OF.

Also, remove the word "always" from the add_wildcard() function comment
since that was carried from the time where a wildcard was always added
at the end of the module alias for all the devices.

Suggested-by: Brian Norris <[email protected]>
Signed-off-by: Javier Martinez Canillas <[email protected]>

---

scripts/mod/file2alias.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
index 5b96206e9aab..65eaab8b7798 100644
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -125,7 +125,7 @@ do { \
sprintf(str + strlen(str), "*"); \
} while(0)

-/* Always end in a wildcard, for future extension */
+/* End in a wildcard, for future extension */
static inline void add_wildcard(char *str)
{
int len = strlen(str);
@@ -704,7 +704,6 @@ static int do_of_entry (const char *filename, void *symval, char *alias)
if (isspace (*tmp))
*tmp = '_';

- add_wildcard(alias);
return 1;
}
ADD_TO_DEVTABLE("of", of_device_id, do_of_entry);
--
2.4.3


2015-11-24 08:07:37

by Sjoerd Simons

[permalink] [raw]
Subject: Re: [PATCH] modpost: don't add a trailing wildcard for OF module aliases

On Thu, 2015-11-19 at 11:28 -0300, Javier Martinez Canillas wrote:
>  scripts/mod/file2alias.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
> index 5b96206e9aab..65eaab8b7798 100644
> --- a/scripts/mod/file2alias.c
> +++ b/scripts/mod/file2alias.c
> @@ -125,7 +125,7 @@ do
> {                                                            \
>                  sprintf(str + strlen(str), "*");                \
>  } while(0)
>  
> -/* Always end in a wildcard, for future extension */
> +/* End in a wildcard, for future extension */
>  static inline void add_wildcard(char *str)
>  {
>   int len = strlen(str);
> @@ -704,7 +704,6 @@ static int do_of_entry (const char *filename,
> void *symval, char *alias)
>   if (isspace (*tmp))
>   *tmp = '_';
>  
> - add_wildcard(alias);
>   return 1;
>  }
>  ADD_TO_DEVTABLE("of", of_device_id, do_of_entry);

Reviewed-by: Sjoerd Simons <[email protected]>

--
Sjoerd Simons
Collabora Ltd.
????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?