[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <E3A9D2CF-333D-4238-8013-346135AC001B@cirrus.com>
Date: Mon, 14 Aug 2023 21:44:33 +0000
From: James Ogletree <James.Ogletree@...rus.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
CC: Dmitry Torokhov <dmitry.torokhov@...il.com>,
Fred Treven <Fred.Treven@...rus.com>,
Ben Bright <Ben.Bright@...rus.com>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>, Lee Jones <lee@...nel.org>,
Peng Fan <peng.fan@....com>, Jean Delvare <jdelvare@...e.de>,
Jeff LaBundy <jeff@...undy.com>,
Randy Dunlap <rdunlap@...radead.org>,
Arnd Bergmann <arnd@...db.de>,
Eddie James <eajames@...ux.ibm.com>,
Jacky Bai <ping.bai@....com>,
Markus Schneider-Pargmann <msp@...libre.com>,
ChiYuan Huang <cy_huang@...htek.com>,
Jerome Neanne <jneanne@...libre.com>,
"patches@...rus.com" <patches@...rus.com>,
"linux-input@...r.kernel.org" <linux-input@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/2] Input: cs40l50 - Initial support for Cirrus Logic
CS40L50
> On Aug 10, 2023, at 1:12 AM, Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org> wrote:
>
> On 09/08/2023 20:02, James Ogletree wrote:
>>>> + if (cs40l50->vibe_workqueue) {
>>>> + flush_workqueue(cs40l50->vibe_workqueue);
>>>> + destroy_workqueue(cs40l50->vibe_workqueue);
>>>> + }
>>>> +
>>>> + gpiod_set_value_cansleep(cs40l50->reset_gpio, 1);
>>>> + regulator_bulk_disable(ARRAY_SIZE(cs40l50_supplies), cs40l50_supplies);
>>>> +
>>>> + return 0;
>>>> +}
>>>> +EXPORT_SYMBOL_GPL(cs40l50_remove);
>>>> +
>>>> +MODULE_DESCRIPTION("CS40L50 Advanced Haptic Driver");
>>>> +MODULE_AUTHOR("James Ogletree, Cirrus Logic Inc. <james.ogletree@...rus.com>");
>>>> +MODULE_LICENSE("GPL");
>>>
>>> I don't think this is a module.
>>
>> It can be compiled as a module with CONFIG_INPUT_CS40L50=m. However, there is a
>> typo in the Kconfig entry description: the module will be called “cs40l50” not “cs40l50-core”.
>> That will be fixed.
>
> Really, *this* unit file can be compiled as module? Where is the
> module_xxx_driver() then?
>
As I understand it, the “module_XXX_driver()” has nothing to do with whether or not the file is built as a module, rather it just provides code to attach the driver to a bus. But this is a bus-agnostic, separate module (not a driver in itself) that provides implementation to cs40l26-i2c or cs40l26-spi drivers, which do contain that macro as they should. This doesn’t appear to be an uncommon pattern.
Regards,
James
Powered by blists - more mailing lists