1695c52a12
Set the iio device's name based on the chip used for the LTC2499 only. The most common way for IIO clients to interact with a device is to address it based on it's name. By using the dev_name() function, the name will be set based on a i2c_client's kobj name, which has the format i2c_instance-i2c_address (1-0076 for example). This is not ideal, since it makes a requirement for userspace to have knowledge about the hardware connections of the device. The name field is set to NULL for the LTC2497 and LTC2496, so that the old name can kept as it is, since changing it will result in an ABI breakage. Signed-off-by: Ciprian Regus <ciprian.regus@analog.com> Link: https://lore.kernel.org/r/20220916140922.2506248-6-ciprian.regus@analog.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
25 lines
615 B
C
25 lines
615 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
|
|
#define LTC2497_ENABLE 0xA0
|
|
#define LTC2497_CONFIG_DEFAULT LTC2497_ENABLE
|
|
#define LTC2497_CONVERSION_TIME_MS 150ULL
|
|
|
|
struct ltc2497_chip_info {
|
|
u32 resolution;
|
|
const char *name;
|
|
};
|
|
|
|
struct ltc2497core_driverdata {
|
|
struct regulator *ref;
|
|
ktime_t time_prev;
|
|
const struct ltc2497_chip_info *chip_info;
|
|
u8 addr_prev;
|
|
int (*result_and_measure)(struct ltc2497core_driverdata *ddata,
|
|
u8 address, int *val);
|
|
};
|
|
|
|
int ltc2497core_probe(struct device *dev, struct iio_dev *indio_dev);
|
|
void ltc2497core_remove(struct iio_dev *indio_dev);
|
|
|
|
MODULE_IMPORT_NS(LTC2497);
|