On Thu, Jan 28, 2021 at 03:57:42PM -0600, Rob Herring wrote:
> From: Stephen Boyd <[email protected]>
> 
> Use the more modern API to get the match data out of the of match table.
> This saves some code, lines, and nicely avoids referencing the match
> table when it is undefined with configurations where CONFIG_OF=n.
> 
> Signed-off-by: Stephen Boyd <[email protected]>
> Cc: Arnd Bergmann <[email protected]>
> Cc: Geert Uytterhoeven <[email protected]>
> Cc: Jean Delvare <[email protected]>
> Cc: Guenter Roeck <[email protected]>
> Cc: Rob Herring <[email protected]>
> Cc: Frank Rowand <[email protected]>
> Cc: <[email protected]>
> [robh: rework to use device_get_match_data()]
> Signed-off-by: Rob Herring <[email protected]>

Acked-by: Guenter Roeck <[email protected]>

> ---
> v3:
> - Reworked to use device_get_match_data(). Lifted Stephen's commit 
>   message from another patch. :)
> 
> Please ack and I'll add to the rest of the series.
> 
>  drivers/hwmon/lm70.c | 20 +++++---------------
>  1 file changed, 5 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/hwmon/lm70.c b/drivers/hwmon/lm70.c
> index ae2b84263a44..40eab3349904 100644
> --- a/drivers/hwmon/lm70.c
> +++ b/drivers/hwmon/lm70.c
> @@ -22,9 +22,9 @@
>  #include <linux/hwmon.h>
>  #include <linux/mutex.h>
>  #include <linux/mod_devicetable.h>
> +#include <linux/property.h>
>  #include <linux/spi/spi.h>
>  #include <linux/slab.h>
> -#include <linux/of_device.h>
>  #include <linux/acpi.h>
>  
>  #define DRVNAME              "lm70"
> @@ -173,25 +173,15 @@ MODULE_DEVICE_TABLE(acpi, lm70_acpi_ids);
>  
>  static int lm70_probe(struct spi_device *spi)
>  {
> -     const struct of_device_id *of_match;
>       struct device *hwmon_dev;
>       struct lm70 *p_lm70;
>       int chip;
>  
> -     of_match = of_match_device(lm70_of_ids, &spi->dev);
> -     if (of_match)
> -             chip = (int)(uintptr_t)of_match->data;
> -     else {
> -#ifdef CONFIG_ACPI
> -             const struct acpi_device_id *acpi_match;
> +     if (dev_fwnode(&spi->dev))
> +             chip = (int)(uintptr_t)device_get_match_data(&spi->dev);
> +     else
> +             chip = spi_get_device_id(spi)->driver_data;
>  
> -             acpi_match = acpi_match_device(lm70_acpi_ids, &spi->dev);
> -             if (acpi_match)
> -                     chip = (int)(uintptr_t)acpi_match->driver_data;
> -             else
> -#endif
> -                     chip = spi_get_device_id(spi)->driver_data;
> -     }
>  
>       /* signaling is SPI_MODE_0 */
>       if (spi->mode & (SPI_CPOL | SPI_CPHA))
> -- 
> 2.27.0
> 

Reply via email to