Skip to content

Commit

Permalink
hwmon: (ntc_thermistor) Merge platform data into driver
Browse files Browse the repository at this point in the history
Platform data is supposed to be used with "board files",
device descriptions in C. Since the introduction of the
NTC driver in 2011, no such platforms have been submitted
to the Linux kernel, and their use is strongly discouraged
in favor of Device Tree, ACPI or as last resort software
firmware nodes.

Drop the external header and copy the platform data into
the driver file.

Cc: Peter Rosin <[email protected]>
Cc: Chris Lesiak <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Guenter Roeck <[email protected]>
  • Loading branch information
linusw authored and groeck committed Dec 26, 2021
1 parent bf4d843 commit 11a24ca
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 55 deletions.
41 changes: 36 additions & 5 deletions drivers/hwmon/ntc_thermistor.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,45 @@
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/fixp-arith.h>
#include <linux/iio/consumer.h>
#include <linux/hwmon.h>

#include <linux/platform_data/ntc_thermistor.h>
enum ntc_thermistor_type {
TYPE_B57330V2103,
TYPE_B57891S0103,
TYPE_NCPXXWB473,
TYPE_NCPXXWF104,
TYPE_NCPXXWL333,
TYPE_NCPXXXH103,
};

#include <linux/iio/consumer.h>
struct ntc_thermistor_platform_data {
/*
* One (not both) of read_uV and read_ohm should be provided and only
* one of the two should be provided.
* Both functions should return negative value for an error case.
*
* pullup_uV, pullup_ohm, pulldown_ohm, and connect are required to use
* read_uV()
*
* How to setup pullup_ohm, pulldown_ohm, and connect is
* described at Documentation/hwmon/ntc_thermistor.rst
*
* pullup/down_ohm: 0 for infinite / not-connected
*
* chan: iio_channel pointer to communicate with the ADC which the
* thermistor is using for conversion of the analog values.
*/
int (*read_uv)(struct ntc_thermistor_platform_data *);
unsigned int pullup_uv;

#include <linux/hwmon.h>
unsigned int pullup_ohm;
unsigned int pulldown_ohm;
enum { NTC_CONNECTED_POSITIVE, NTC_CONNECTED_GROUND } connect;
struct iio_channel *chan;

int (*read_ohm)(void);
};

struct ntc_compensation {
int temp_c;
Expand Down Expand Up @@ -651,8 +684,6 @@ static int ntc_thermistor_probe(struct platform_device *pdev)
pdata = ntc_thermistor_parse_dt(dev);
if (IS_ERR(pdata))
return PTR_ERR(pdata);
else if (pdata == NULL)
pdata = dev_get_platdata(dev);

if (!pdata) {
dev_err(dev, "No platform init data supplied.\n");
Expand Down
50 changes: 0 additions & 50 deletions include/linux/platform_data/ntc_thermistor.h

This file was deleted.

0 comments on commit 11a24ca

Please sign in to comment.