Message ID | 20240729164527.340590-1-afd@ti.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | rpmsg: char: Export alias for RPMSG ID rpmsg-raw from table | expand |
On 7/29/24 11:45, Andrew Davis wrote: > Module aliases are used by userspace to identify the correct module to > load for a detected hardware. The currently supported RPMSG device IDs for > this module include "rpmsg-raw", but the module alias is "rpmsg_chrdev". > > Use the helper macro MODULE_DEVICE_TABLE(rpmsg) to export the correct > supported IDs. And while here, to keep backwards compatibility we also add > the other ID "rpmsg_chrdev" so that it is also still exported as an alias. > > This has the side benefit of adding support for some legacy firmware > which still uses the original "rpmsg_chrdev" ID. This was the ID used for > this driver before it was upstreamed (as reflected by the module alias). > > Signed-off-by: Andrew Davis <afd@ti.com> Acked/Tested-by: Hari Nagalla <hnagalla@ti.com> > --- > drivers/rpmsg/rpmsg_char.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/rpmsg/rpmsg_char.c b/drivers/rpmsg/rpmsg_char.c > index eec7642d26863..96fcdd2d7093c 100644 > --- a/drivers/rpmsg/rpmsg_char.c > +++ b/drivers/rpmsg/rpmsg_char.c > @@ -522,8 +522,10 @@ static void rpmsg_chrdev_remove(struct rpmsg_device *rpdev) > > static struct rpmsg_device_id rpmsg_chrdev_id_table[] = { > { .name = "rpmsg-raw" }, > + { .name = "rpmsg_chrdev" }, > { }, > }; > +MODULE_DEVICE_TABLE(rpmsg, rpmsg_chrdev_id_table); > > static struct rpmsg_driver rpmsg_chrdev_driver = { > .probe = rpmsg_chrdev_probe, > @@ -565,6 +567,5 @@ static void rpmsg_chrdev_exit(void) > } > module_exit(rpmsg_chrdev_exit); > > -MODULE_ALIAS("rpmsg:rpmsg_chrdev"); > MODULE_DESCRIPTION("RPMSG device interface"); > MODULE_LICENSE("GPL v2");
Hi Andrew, On Mon, Jul 29, 2024 at 11:45:27AM -0500, Andrew Davis wrote: > Module aliases are used by userspace to identify the correct module to > load for a detected hardware. The currently supported RPMSG device IDs for > this module include "rpmsg-raw", but the module alias is "rpmsg_chrdev". > > Use the helper macro MODULE_DEVICE_TABLE(rpmsg) to export the correct > supported IDs. And while here, to keep backwards compatibility we also add > the other ID "rpmsg_chrdev" so that it is also still exported as an alias. > > This has the side benefit of adding support for some legacy firmware > which still uses the original "rpmsg_chrdev" ID. This was the ID used for > this driver before it was upstreamed (as reflected by the module alias). > > Signed-off-by: Andrew Davis <afd@ti.com> > --- > drivers/rpmsg/rpmsg_char.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/rpmsg/rpmsg_char.c b/drivers/rpmsg/rpmsg_char.c > index eec7642d26863..96fcdd2d7093c 100644 > --- a/drivers/rpmsg/rpmsg_char.c > +++ b/drivers/rpmsg/rpmsg_char.c > @@ -522,8 +522,10 @@ static void rpmsg_chrdev_remove(struct rpmsg_device *rpdev) > > static struct rpmsg_device_id rpmsg_chrdev_id_table[] = { > { .name = "rpmsg-raw" }, > + { .name = "rpmsg_chrdev" }, > { }, > }; > +MODULE_DEVICE_TABLE(rpmsg, rpmsg_chrdev_id_table); So you want to be able to do both "modprobe rpmsg-raw" and "modprobe rpmsg_chrdev" ? I'm not sure to get the aim of your patch and will need a little more details. Thanks, Mathieu > > static struct rpmsg_driver rpmsg_chrdev_driver = { > .probe = rpmsg_chrdev_probe, > @@ -565,6 +567,5 @@ static void rpmsg_chrdev_exit(void) > } > module_exit(rpmsg_chrdev_exit); > > -MODULE_ALIAS("rpmsg:rpmsg_chrdev"); > MODULE_DESCRIPTION("RPMSG device interface"); > MODULE_LICENSE("GPL v2"); > -- > 2.39.2 >
diff --git a/drivers/rpmsg/rpmsg_char.c b/drivers/rpmsg/rpmsg_char.c index eec7642d26863..96fcdd2d7093c 100644 --- a/drivers/rpmsg/rpmsg_char.c +++ b/drivers/rpmsg/rpmsg_char.c @@ -522,8 +522,10 @@ static void rpmsg_chrdev_remove(struct rpmsg_device *rpdev) static struct rpmsg_device_id rpmsg_chrdev_id_table[] = { { .name = "rpmsg-raw" }, + { .name = "rpmsg_chrdev" }, { }, }; +MODULE_DEVICE_TABLE(rpmsg, rpmsg_chrdev_id_table); static struct rpmsg_driver rpmsg_chrdev_driver = { .probe = rpmsg_chrdev_probe, @@ -565,6 +567,5 @@ static void rpmsg_chrdev_exit(void) } module_exit(rpmsg_chrdev_exit); -MODULE_ALIAS("rpmsg:rpmsg_chrdev"); MODULE_DESCRIPTION("RPMSG device interface"); MODULE_LICENSE("GPL v2");
Module aliases are used by userspace to identify the correct module to load for a detected hardware. The currently supported RPMSG device IDs for this module include "rpmsg-raw", but the module alias is "rpmsg_chrdev". Use the helper macro MODULE_DEVICE_TABLE(rpmsg) to export the correct supported IDs. And while here, to keep backwards compatibility we also add the other ID "rpmsg_chrdev" so that it is also still exported as an alias. This has the side benefit of adding support for some legacy firmware which still uses the original "rpmsg_chrdev" ID. This was the ID used for this driver before it was upstreamed (as reflected by the module alias). Signed-off-by: Andrew Davis <afd@ti.com> --- drivers/rpmsg/rpmsg_char.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)