From: "José Expósito" <jose.exposito89@gmail.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Arnd Bergmann <arnd@kernel.org>, Jiri Kosina <jikos@kernel.org>,
Benjamin Tissoires <bentiss@kernel.org>,
Rahul Rameshbabu <rrameshbabu@nvidia.com>,
Fabio Baltieri <fabiobaltieri@chromium.org>,
Ivan Gorinov <linux-kernel@altimeter.info>,
Johannes Roith <johannes@gnu-linux.rocks>,
linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] HID: uclogic: avoid linking common code into multiple modules
Date: Mon, 10 Jun 2024 18:57:58 +0200 [thread overview]
Message-ID: <Zmcwlt6Kfpt09tKi@fedora> (raw)
In-Reply-To: <54c19328-35e2-4506-aa3a-a0b08813d873@app.fastmail.com>
On Mon, Jun 10, 2024 at 08:24:51AM +0200, Arnd Bergmann wrote:
> On Sat, Jun 8, 2024, at 20:28, José Expósito wrote:
> > On Wed, May 29, 2024 at 11:48:05AM +0200, Arnd Bergmann wrote:
>
> >> @@ -154,10 +152,8 @@ obj-$(CONFIG_HID_WINWING) += hid-winwing.o
> >> obj-$(CONFIG_HID_SENSOR_HUB) += hid-sensor-hub.o
> >> obj-$(CONFIG_HID_SENSOR_CUSTOM_SENSOR) += hid-sensor-custom.o
> >>
> >> -hid-uclogic-test-objs := hid-uclogic-rdesc.o \
> >> - hid-uclogic-params.o \
> >> - hid-uclogic-rdesc-test.o
> >> -obj-$(CONFIG_HID_KUNIT_TEST) += hid-uclogic-test.o
> >> +hid-uclogic-test-objs := hid-uclogic-rdesc-test.o
> >> +obj-$(CONFIG_HID_KUNIT_TEST) += hid-uclogic-test.o hid-uclogic-params.o hid-uclogic-params.o
> >>
> >> obj-$(CONFIG_USB_HID) += usbhid/
> >> obj-$(CONFIG_USB_MOUSE) += usbhid/
> >
> > I tested your patch with:
> >
> > hid-uclogic-objs := hid-uclogic-core.o \
> > hid-uclogic-rdesc.o \
> > hid-uclogic-params.o
> > obj-$(CONFIG_HID_UCLOGIC) += hid-uclogic.o
> > [...]
> > hid-uclogic-test-objs := hid-uclogic-rdesc-test.o
> > obj-$(CONFIG_HID_KUNIT_TEST) += hid-uclogic.o hid-uclogic-test.o
> >
> > And I think it is a bit more clear and it looks like it does the trick
> > removing the warning.
>
> Right, that seems fine.
>
> > Also, with that change only "EXPORT_SYMBOL_GPL(uclogic_rdesc_template_apply);"
> > is required. The other EXPORT_SYMBOL_GPL can be removed.
> >
> > However, I'm not sure about what are the best practices using EXPORT_SYMBOL_GPL
> > and if it should be used for each function/data in the .h file. Maybe that's
> > why you added them.
>
> No, having only the single export is better here, you should
> have as few of them as possible. I did picked the more complicated
> approach as I wasn't sure if loading the entire driver from the
> test module caused any problems. Let's use your simpler patch
> then.
>
> Arnd
Turns out that, since the last time I checked the KUnit docs,
we have "EXPORT_SYMBOL_IF_KUNIT" available now.
I think we can use it and your final patch, without the MODULE_*
changes, could look like:
diff --git a/drivers/hid/Makefile b/drivers/hid/Makefile
index ce71b53ea6c5..e40f1ddebbb7 100644
--- a/drivers/hid/Makefile
+++ b/drivers/hid/Makefile
@@ -154,10 +154,8 @@ obj-$(CONFIG_HID_WINWING) += hid-winwing.o
obj-$(CONFIG_HID_SENSOR_HUB) += hid-sensor-hub.o
obj-$(CONFIG_HID_SENSOR_CUSTOM_SENSOR) += hid-sensor-custom.o
-hid-uclogic-test-objs := hid-uclogic-rdesc.o \
- hid-uclogic-params.o \
- hid-uclogic-rdesc-test.o
-obj-$(CONFIG_HID_KUNIT_TEST) += hid-uclogic-test.o
+hid-uclogic-test-objs := hid-uclogic-rdesc-test.o
+obj-$(CONFIG_HID_KUNIT_TEST) += hid-uclogic.o hid-uclogic-test.o
obj-$(CONFIG_USB_HID) += usbhid/
obj-$(CONFIG_USB_MOUSE) += usbhid/
diff --git a/drivers/hid/hid-uclogic-rdesc.c b/drivers/hid/hid-uclogic-rdesc.c
index b6dfdf6356a6..6c7a90417569 100644
--- a/drivers/hid/hid-uclogic-rdesc.c
+++ b/drivers/hid/hid-uclogic-rdesc.c
@@ -17,6 +17,7 @@
#include "hid-uclogic-rdesc.h"
#include <linux/slab.h>
#include <asm/unaligned.h>
+#include <kunit/visibility.h>
/* Fixed WP4030U report descriptor */
__u8 uclogic_rdesc_wp4030u_fixed_arr[] = {
@@ -1242,3 +1243,4 @@ __u8 *uclogic_rdesc_template_apply(const __u8 *template_ptr,
return rdesc_ptr;
}
+EXPORT_SYMBOL_IF_KUNIT(uclogic_rdesc_template_apply);
I hope that helps,
Jose
next prev parent reply other threads:[~2024-06-10 16:58 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-29 9:48 [PATCH] HID: uclogic: avoid linking common code into multiple modules Arnd Bergmann
2024-06-08 18:28 ` José Expósito
2024-06-10 6:24 ` Arnd Bergmann
2024-06-10 16:57 ` José Expósito [this message]
2024-06-10 18:25 ` Arnd Bergmann
2024-06-14 16:22 ` José Expósito
2024-06-19 14:30 ` Jiri Kosina
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Zmcwlt6Kfpt09tKi@fedora \
--to=jose.exposito89@gmail.com \
--cc=arnd@arndb.de \
--cc=arnd@kernel.org \
--cc=bentiss@kernel.org \
--cc=fabiobaltieri@chromium.org \
--cc=jikos@kernel.org \
--cc=johannes@gnu-linux.rocks \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@altimeter.info \
--cc=linux-kernel@vger.kernel.org \
--cc=rrameshbabu@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.