LKML Archive mirror
 help / color / mirror / Atom feed
From: Eric Auger <eric.auger@linaro.org>
To: Sinan Kaya <okaya@codeaurora.org>,
	dmaengine@vger.kernel.org, marc.zyngier@arm.com,
	mark.rutland@arm.com, timur@codeaurora.org,
	devicetree@vger.kernel.org, cov@codeaurora.org,
	vinod.koul@intel.com, jcm@redhat.com
Cc: shankerd@codeaurora.org, vikrams@codeaurora.org,
	agross@codeaurora.org, arnd@arndb.de,
	linux-arm-msm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH V14 8/9] vfio, platform: add support for ACPI while detecting the reset driver
Date: Mon, 7 Mar 2016 05:09:04 +0100	[thread overview]
Message-ID: <56DCFEE0.6080101@linaro.org> (raw)
In-Reply-To: <56D91B0E.1080203@codeaurora.org>

Hi Sinan,
On 03/04/2016 06:20 AM, Sinan Kaya wrote:
> On 3/3/2016 6:14 PM, Eric Auger wrote:
>> Hi Sinan,
>> On 03/02/2016 07:34 PM, Sinan Kaya wrote:
>>> On 2/26/2016 12:15 PM, Eric Auger wrote:
>>>>> -module_init(reset ## _module_init);				\
>>>>>> +#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? 
>>
>>>
>>> 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.
>>>
>>> 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.  
What if you want to use vfio platform driver for HiDMA in dt mode? the
HiDma reset module advertises both acpihid and dt compat support but an
alias module will be created only for acpihid. Then I think we will not
be able to load the reset module in dt mode with existing code.

This could work however with some rework in vfio_platform_common.c. In
vfio_platform_get_reset we should try to load the module using the
acpihid if the module load using compat alias fails. In the look-up
table we can find the acpihid corresponding to the dt compat.

Any thought?

Best Regards

Eric

> 
> 
> 

  reply	other threads:[~2016-03-07  4:10 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-05  4:34 [PATCH V14 0/9] dma: add Qualcomm Technologies HIDMA driver Sinan Kaya
2016-02-05  4:34 ` [PATCH V14 1/9] dma: qcom_bam_dma: move to qcom directory Sinan Kaya
2016-03-11  2:13   ` Vinod Koul
2016-02-05  4:34 ` [PATCH V14 2/9] dma: hidma: Add Device Tree binding Sinan Kaya
2016-03-11  2:16   ` Vinod Koul
2016-02-05  4:34 ` [PATCH V14 3/9] dma: add Qualcomm Technologies HIDMA management driver Sinan Kaya
2016-03-11  2:16   ` Vinod Koul
2016-02-05  4:34 ` [PATCH V14 4/9] dma: add Qualcomm Technologies HIDMA channel driver Sinan Kaya
2016-03-11  2:17   ` Vinod Koul
2016-02-05  4:34 ` [PATCH V14 5/9] dma: qcom_hidma: implement lower level hardware interface Sinan Kaya
2016-03-11  2:06   ` Vinod Koul
2016-03-11  3:08     ` Okaya
2016-03-11 16:02     ` Sinan Kaya
2016-03-11 16:32       ` Vinod Koul
2016-03-11 16:44         ` Sinan Kaya
2016-03-11 19:29           ` Sinan Kaya
2016-03-11 21:59             ` Sinan Kaya
2016-03-13 16:00               ` Vinod Koul
2016-03-14 13:53                 ` Sinan Kaya
2016-03-13 15:59             ` Vinod Koul
2016-03-14 13:56               ` Sinan Kaya
2016-02-05  4:34 ` [PATCH V14 6/9] dma: qcom_hidma: add debugfs hooks Sinan Kaya
2016-02-05  4:34 ` [PATCH V14 7/9] dma: qcom_hidma: add support for object hierarchy Sinan Kaya
2016-02-05  4:34 ` [PATCH V14 8/9] vfio, platform: add support for ACPI while detecting the reset driver Sinan Kaya
2016-02-26 16:24   ` Sinan Kaya
2016-02-26 17:15   ` Eric Auger
2016-02-26 19:21     ` Sinan Kaya
2016-03-02 18:34     ` Sinan Kaya
2016-03-03 23:14       ` Eric Auger
2016-03-04  5:20         ` Sinan Kaya
2016-03-07  4:09           ` Eric Auger [this message]
2016-03-07 15:30             ` Sinan Kaya
2016-03-08  4:46               ` Eric Auger
2016-03-08  5:07                 ` Sinan Kaya
2016-03-08 15:44                   ` Sinan Kaya
2016-02-05  4:34 ` [PATCH V14 9/9] vfio, platform: add QTI HIDMA " Sinan Kaya
2016-02-26 17:52   ` Eric Auger
2016-02-26 19:05     ` Sinan Kaya
2016-02-08 10:14 ` [PATCH V14 0/9] dma: add Qualcomm Technologies HIDMA driver Christoffer Dall
2016-02-08 14:24   ` Sinan Kaya
2016-02-08 17:00     ` Christoffer Dall
2016-02-26 16:21 ` Sinan Kaya
2016-02-26 16:52   ` Timur Tabi
2016-03-02 18:40     ` Sinan Kaya
2016-03-03  3:44       ` Vinod Koul
2016-03-03 15:22         ` Sinan Kaya

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=56DCFEE0.6080101@linaro.org \
    --to=eric.auger@linaro.org \
    --cc=agross@codeaurora.org \
    --cc=arnd@arndb.de \
    --cc=cov@codeaurora.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=jcm@redhat.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marc.zyngier@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=okaya@codeaurora.org \
    --cc=shankerd@codeaurora.org \
    --cc=timur@codeaurora.org \
    --cc=vikrams@codeaurora.org \
    --cc=vinod.koul@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).