NACK: [PATCH 1/1][SRU][H][I] UBUNTU: ODM: mfd: Check AAEON BFPI version before adding device

Stefan Bader stefan.bader at canonical.com
Fri Aug 13 12:09:35 UTC 2021


On 13.08.21 04:25, AceLan Kao wrote:
> Hi Tim,
> 
> This patch is to fix the issue from ODM patches, so it marks as "UBUNTU: ODM:"
> ex. (in hirsute kernel)
> 3027a1d40b49 UBUNTU: ODM: [Config] update config for AAEON devices
> 2957f1962dbc UBUNTU: ODM: leds: add driver for AAEON devices
> abf0a8bdbc2f UBUNTU: ODM: hwmon: add driver for AAEON devices
> 85be47f033bb UBUNTU: ODM: watchdog: add driver for AAEON devices
> 16c04b79bdc6 UBUNTU: ODM: gpio: add driver for AAEON devices
> 45a8bb8699cc UBUNTU: ODM: mfd: Add support for IO functions of AAEON devices
> 
> Hi Stefan,
> 
> Those patches are from ODM program and only exists in our ubuntu kernels.
> ODM tried to upstream their patches, but it wasn't going smoothly and
> suspended now.
> 
If all that info had been in the cover email this probably would not have gone 
wrong that way. Maybe one could have spotted the ODM or remembered the driver 
name. But frankly there are so many things going on nowadays that I can hardly 
remember all things. So please, submit again with more hints in the cover email 
(that this is one of the ODM drivers and therefor there is no upstream).

-Stefan

> Stefan Bader <stefan.bader at canonical.com> 於 2021年8月12日 週四 下午3:27寫道:
>>
>> On 11.08.21 14:31, Tim Gardner wrote:
>>> Shouldn't the $subject be 'UBUNTU: SAUCE:' ?
>>
>> And additionally being SAUCE and no indication why it cannot go upstream that
>> way is another reason to NACK for SRU. And when it goes upstream, then SRU
>> should wait until it is in linux-next at least.
>>
>> -Stefan
>>
>>>
>>> On 8/11/21 2:56 AM, AceLan Kao wrote:
>>>> From: Kunyang_Fan <kunyang_fan at asus.com>
>>>>
>>>> BugLink: https://bugs.launchpad.net/bugs/1937897
>>>>
>>>> For the below: error log occurring in some devices:
>>>> gpio gpiochip0: (gpio_aaeon): tried to insert a GPIO chip with zero lines
>>>> gpiochip_add_data_with_key: GPIOs 0..-1 (gpio_aaeon) failed to register
>>>>
>>>> Add the BFPI version checking mechanism to prevent error log bumping.
>>>>
>>>> Signed-off-by: Kunyang_Fan <kunyang_fan at asus.com>
>>>> Acked-by: Kai-Heng Feng <kai.heng.feng at canonical.com>
>>>> Signed-off-by: Chia-Lin Kao (AceLan) <acelan.kao at canonical.com>
>>>> ---
>>>>    drivers/mfd/mfd-aaeon.c | 22 ++++++++++++++++++++++
>>>>    1 file changed, 22 insertions(+)
>>>>
>>>> diff --git a/drivers/mfd/mfd-aaeon.c b/drivers/mfd/mfd-aaeon.c
>>>> index 9d2efde53cad..74211d01ce65 100644
>>>> --- a/drivers/mfd/mfd-aaeon.c
>>>> +++ b/drivers/mfd/mfd-aaeon.c
>>>> @@ -16,12 +16,17 @@
>>>>    #include <linux/kernel.h>
>>>>    #include <linux/mfd/core.h>
>>>>    #include <linux/module.h>
>>>> +#include <linux/platform_data/x86/asus-wmi.h>
>>>>    #include <linux/platform_device.h>
>>>>    #include <linux/leds.h>
>>>>    #include <linux/wmi.h>
>>>>    #define AAEON_WMI_MGMT_GUID      "97845ED0-4E6D-11DE-8A39-0800200C9A66"
>>>> +#define WMI_REPORT_CAPABILITY_METHOD    0x00000000
>>>> +#define MAX_BFPI_VERSION        255
>>>> +#define GET_REVISION_ID            0x00
>>>> +
>>>>    struct aaeon_wmi_priv {
>>>>        const struct mfd_cell *cells;
>>>>        size_t ncells;
>>>> @@ -39,6 +44,21 @@ static const struct aaeon_wmi_priv aaeon_wmi_priv_data = {
>>>>        .ncells = ARRAY_SIZE(aaeon_mfd_cells),
>>>>    };
>>>> +static int aaeon_wmi_check_device(void)
>>>> +{
>>>> +    int err;
>>>> +    int retval;
>>>> +
>>>> +    err = asus_wmi_evaluate_method(WMI_REPORT_CAPABILITY_METHOD,
>>>> GET_REVISION_ID, 0,
>>>> +                       &retval);
>>>> +    if (err)
>>>> +        return -ENODEV;
>>>> +    if (retval < 3 || retval > MAX_BFPI_VERSION)
>>>> +        return -ENODEV;
>>>> +
>>>> +    return 0;
>>>> +}
>>>> +
>>>>    static int aaeon_wmi_probe(struct wmi_device *wdev, const void *context)
>>>>    {
>>>>        struct aaeon_wmi_priv *priv;
>>>> @@ -48,6 +68,8 @@ static int aaeon_wmi_probe(struct wmi_device *wdev, const
>>>> void *context)
>>>>            return -ENODEV;
>>>>        }
>>>> +    if (aaeon_wmi_check_device())
>>>> +        return -ENODEV;
>>>>        priv = (struct aaeon_wmi_priv *)context;
>>>>        dev_set_drvdata(&wdev->dev, priv);
>>>>
>>>
>>
>>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20210813/e923b761/attachment.sig>


More information about the kernel-team mailing list