hwmon: (lm70) Use device_get_match_data()

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 <swboyd@chromium.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jean Delvare <jdelvare@suse.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: <linux-hwmon@vger.kernel.org>
[robh: rework to use device_get_match_data()]
Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
Stephen Boyd 2021-01-22 19:44:27 -08:00 коммит произвёл Rob Herring
Родитель 9243eadc3a
Коммит 6e09d75513
1 изменённых файлов: 5 добавлений и 15 удалений

Просмотреть файл

@ -22,9 +22,9 @@
#include <linux/hwmon.h> #include <linux/hwmon.h>
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/mod_devicetable.h> #include <linux/mod_devicetable.h>
#include <linux/property.h>
#include <linux/spi/spi.h> #include <linux/spi/spi.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/of_device.h>
#include <linux/acpi.h> #include <linux/acpi.h>
#define DRVNAME "lm70" #define DRVNAME "lm70"
@ -173,25 +173,15 @@ MODULE_DEVICE_TABLE(acpi, lm70_acpi_ids);
static int lm70_probe(struct spi_device *spi) static int lm70_probe(struct spi_device *spi)
{ {
const struct of_device_id *of_match;
struct device *hwmon_dev; struct device *hwmon_dev;
struct lm70 *p_lm70; struct lm70 *p_lm70;
int chip; int chip;
of_match = of_match_device(lm70_of_ids, &spi->dev); if (dev_fwnode(&spi->dev))
if (of_match) chip = (int)(uintptr_t)device_get_match_data(&spi->dev);
chip = (int)(uintptr_t)of_match->data; else
else { chip = spi_get_device_id(spi)->driver_data;
#ifdef CONFIG_ACPI
const struct acpi_device_id *acpi_match;
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 */ /* signaling is SPI_MODE_0 */
if (spi->mode & (SPI_CPOL | SPI_CPHA)) if (spi->mode & (SPI_CPOL | SPI_CPHA))