Thread (46 messages) 46 messages, 5 authors, 2016-03-14

Re: [PATCH V14 8/9] vfio, platform: add support for ACPI while detecting the reset driver

From: Sinan Kaya <hidden>
Date: 2016-03-04 05:20:23
Also in: linux-arm-kernel, linux-arm-msm, lkml

On 3/3/2016 6:14 PM, Eric Auger wrote:
Hi Sinan,
On 03/02/2016 07:34 PM, Sinan Kaya wrote:
quoted
On 2/26/2016 12:15 PM, Eric Auger wrote:
quoted
quoted
-module_init(reset ## _module_init);				\
quoted
+#define module_vfio_reset_handler(compat, acpihid, reset)		\
+MODULE_ALIAS("vfio-reset:" compat);					\
Here you need to handle alias for hid case I think
I'm wondering what happens when Compat or ACPI string is NULL.

MODULE_ALIAS("vfio-reset:" NULL)

Would the kernel like it? 
quoted
I'd rather create an alias only when the string is not NULL. Given
this is a macro, I believe it won't work. 
Indeed I think we should create an alias only for the supported case or
2 aliases if both are supported.
quoted
Can you think of any other way in the code to create the alias?
To be honest I did not find any elegant solution either. Personally I
would move the MODULE_ALIAS for compat/acpihid outside of
module_vfio_reset_handler macro, directly in the reset module. But maybe
someone will propose a better solution?
I briefly looked at this. 

#define MODULE_ALIAS(_alias) MODULE_INFO(alias, _alias)
#define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info)

and it eventually becomes this

#define __MODULE_INFO(tag, name, info)                                    \
static const char __UNIQUE_ID(name)[]                                     \
   __used __attribute__((section(".modinfo"), unused, aligned(1)))         \
   = __stringify(tag) "=" info

Since the info is on the right side of the equation, I'm allowed to add some 
conditionals.

#define module_vfio_reset_handler(compat, acpihid, reset)		\
MODULE_ALIAS("vfio-reset:" acpihid? acpihid: compat);			\

This way, we'll create an alias with one of the provided strings.  



-- 
Sinan Kaya
Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help