lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <154a12ef-29a7-8189-1a5d-648dc92cffd3@redhat.com>
Date:   Sat, 9 Jul 2022 13:00:11 +0200
From:   Hans de Goede <hdegoede@...hat.com>
To:     Andy Shevchenko <andy.shevchenko@...il.com>
Cc:     Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
        "platform-driver-x86@...r.kernel.org" 
        <platform-driver-x86@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        Mark Gross <markgross@...nel.org>
Subject: Re: [PATCH v1 2/7] platform/x86: serial-multi-instantiate: Improve
 autodetection

Hi,

On 7/9/22 11:52, Andy Shevchenko wrote:
> 
> 
> On Saturday, July 9, 2022, Hans de Goede <hdegoede@...hat.com <mailto:hdegoede@...hat.com>> wrote:
> 
>     Hi,
> 
>     On 7/9/22 02:06, Andy Shevchenko wrote:
>     > Instead of calling specific resource counter, let just probe each
>     > of the type and see what it says. Also add a debug message when
>     > none is found.
>     >
>     > Signed-off-by: Andy Shevchenko <andriy.shevchenko@...ux.intel.com <mailto:andriy.shevchenko@...ux.intel.com>>
> 
>     Only probing for I2C resources if some are present is deliberate:
> 
>     commit 68f201f9061c000d7a4a9f359f021b1cd535d62b
>     Author: Stefan Binding <sbinding@...nsource.cirrus.com <mailto:sbinding@...nsource.cirrus.com>>
>     Date:   Fri Jan 21 17:24:29 2022 +0000
> 
>         platform/x86: serial-multi-instantiate: Add SPI support
> 
>         Add support for spi bus in serial-multi-instantiate driver
> 
>         Some peripherals can have either a I2C or a SPI connection
>         to the host (but not both) but use the same HID for both
>         types. So it is not possible to use the HID to determine
>         whether it is I2C or SPI. The driver must check the node
>         to see if it contains I2cSerialBus or SpiSerialBus entries.
> 
>         For backwards-compatibility with the existing nodes I2C is
>         checked first and if such entries are found ONLY I2C devices
>         are created. Since some existing nodes that were already
>         handled by this driver could also contain unrelated
>         SpiSerialBus nodes that were previously ignored, and this
>         preserves that behavior. If there is ever a need to handle
>         a node where both I2C and SPI devices must be instantiated
>         this can be added in future.
> 
>         Signed-off-by: Stefan Binding <sbinding@...nsource.cirrus.com <mailto:sbinding@...nsource.cirrus.com>>
>         Link: https://lore.kernel.org/r/20220121172431.6876-8-sbinding@opensource.cirrus.com <https://lore.kernel.org/r/20220121172431.6876-8-sbinding@opensource.cirrus.com>
>         Reviewed-by: Hans de Goede <hdegoede@...hat.com <mailto:hdegoede@...hat.com>>
>         Signed-off-by: Hans de Goede <hdegoede@...hat.com <mailto:hdegoede@...hat.com>>
> 
>     So nack for this 
> 
> 
> 
> This effectively means nack to the series.
> But it’s easy to fix. I can add check for ret == 0.

I don't see how this is a nack for the series, just drop 1/7 + 2/7
and rebase the rest. Yes there will be conflicts to resolve in
the rebase, but the rest of the cleanups can still go upstream
after the rebase.

Regards,

Hans



>     > ---
>     >  drivers/platform/x86/serial-multi-instantiate.c | 16 +++++++++++-----
>     >  1 file changed, 11 insertions(+), 5 deletions(-)
>     >
>     > diff --git a/drivers/platform/x86/serial-multi-instantiate.c b/drivers/platform/x86/serial-multi-instantiate.c
>     > index 97db23243018..e599058196bb 100644
>     > --- a/drivers/platform/x86/serial-multi-instantiate.c
>     > +++ b/drivers/platform/x86/serial-multi-instantiate.c
>     > @@ -232,6 +232,7 @@ static int smi_probe(struct platform_device *pdev)
>     >       const struct smi_node *node;
>     >       struct acpi_device *adev;
>     >       struct smi *smi;
>     > +     int ret;
>     > 
>     >       adev = ACPI_COMPANION(dev);
>     >       if (!adev)
>     > @@ -255,15 +256,20 @@ static int smi_probe(struct platform_device *pdev)
>     >       case SMI_SPI:
>     >               return smi_spi_probe(pdev, adev, smi, node->instances);
>     >       case SMI_AUTO_DETECT:
>     > -             if (i2c_acpi_client_count(adev) > 0)
>     > -                     return smi_i2c_probe(pdev, adev, smi, node->instances);
>     > -             else
>     > -                     return smi_spi_probe(pdev, adev, smi, node->instances);
>     > +             ret = smi_i2c_probe(pdev, adev, smi, node->instances);
>     > +             if (ret && ret != -ENOENT)
>     > +                     return ret;
>     > +             ret = smi_spi_probe(pdev, adev, smi, node->instances);
>     > +             if (ret && ret != -ENOENT)
>     > +                     return ret;
>     > +             if (ret)
>     > +                     return dev_err_probe(dev, ret, "Error No resources found\n");
>     > +             break;
>     >       default:
>     >               return -EINVAL;
>     >       }
>     > 
>     > -     return 0; /* never reached */
>     > +     return 0;
>     >  }
>     > 
>     >  static int smi_remove(struct platform_device *pdev)
> 
> 
> 
> -- 
> With Best Regards,
> Andy Shevchenko
> 
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ