Re: [PATCH 1/5] i2c: acpi: permit bus speed to be discovered after enumeration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 30, 2019 at 06:29:05PM +0200, Ard Biesheuvel wrote:
> Currently, the I2C ACPI enumeration code only permits the max bus rate
> to be discovered before enumerating the slaves on the bus. In some
> cases, drivers for slave devices may require this information, e.g.,
> some ATmel crypto drivers need to generate a so-called wake token
> of a fixed duration, regardless of the bus rate.
> 
> So tweak the code so i2c_acpi_lookup_speed() is able to obtain this
> information after enumeration as well.
> 
> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>

Looks fine by me,

Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>

Adding Jarkko just in case I missed something.

> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
> ---
>  drivers/i2c/i2c-core-acpi.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c
> index 272800692088..7240cc07abb4 100644
> --- a/drivers/i2c/i2c-core-acpi.c
> +++ b/drivers/i2c/i2c-core-acpi.c
> @@ -115,8 +115,7 @@ static int i2c_acpi_do_lookup(struct acpi_device *adev,
>  	struct list_head resource_list;
>  	int ret;
>  
> -	if (acpi_bus_get_status(adev) || !adev->status.present ||
> -	    acpi_device_enumerated(adev))
> +	if (acpi_bus_get_status(adev) || !adev->status.present)
>  		return -EINVAL;
>  
>  	if (acpi_match_device_ids(adev, i2c_acpi_ignored_device_ids) == 0)
> @@ -151,6 +150,9 @@ static int i2c_acpi_get_info(struct acpi_device *adev,
>  	lookup.info = info;
>  	lookup.index = -1;
>  
> +	if (acpi_device_enumerated(adev))
> +		return -EINVAL;
> +
>  	ret = i2c_acpi_do_lookup(adev, &lookup);
>  	if (ret)
>  		return ret;
> -- 
> 2.20.1



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux