mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 22:14:03 +02:00
iio: dac: max5522: Simplify device abstraction
The driver only supports a single chip variant since it's birth in 2022. Both the spi id_table and the of id_table are essentially unused (only assigned to a write-only member in private data). Hardcode the device name and then drop various unused stuff from the driver. While touching the spi id_table assign .name using a named initializer. Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com> Reviewed-by: Nuno Sá <nuno.sa@analog.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:
parent
d04a09b41d
commit
81c0bbfa51
|
|
@ -25,15 +25,8 @@
|
|||
|
||||
#define MAX5522_REG_DATA(x) ((x) + MAX5522_CTRL_LOAD_IN_A)
|
||||
|
||||
struct max5522_chip_info {
|
||||
const char *name;
|
||||
const struct iio_chan_spec *channels;
|
||||
unsigned int num_channels;
|
||||
};
|
||||
|
||||
struct max5522_state {
|
||||
struct regmap *regmap;
|
||||
const struct max5522_chip_info *chip_info;
|
||||
unsigned short dac_cache[2];
|
||||
int vref_mV;
|
||||
};
|
||||
|
|
@ -58,18 +51,6 @@ static const struct iio_chan_spec max5522_channels[] = {
|
|||
MAX5522_CHANNEL(1),
|
||||
};
|
||||
|
||||
enum max5522_type {
|
||||
ID_MAX5522,
|
||||
};
|
||||
|
||||
static const struct max5522_chip_info max5522_chip_info_tbl[] = {
|
||||
[ID_MAX5522] = {
|
||||
.name = "max5522",
|
||||
.channels = max5522_channels,
|
||||
.num_channels = 2,
|
||||
},
|
||||
};
|
||||
|
||||
static inline int max5522_info_to_reg(struct iio_chan_spec const *chan)
|
||||
{
|
||||
return MAX5522_REG_DATA(chan->channel);
|
||||
|
|
@ -140,9 +121,6 @@ static int max5522_spi_probe(struct spi_device *spi)
|
|||
}
|
||||
|
||||
state = iio_priv(indio_dev);
|
||||
state->chip_info = spi_get_device_match_data(spi);
|
||||
if (!state->chip_info)
|
||||
return -EINVAL;
|
||||
|
||||
ret = devm_regulator_get_enable_read_voltage(&spi->dev, "vrefin");
|
||||
if (ret < 0)
|
||||
|
|
@ -159,22 +137,19 @@ static int max5522_spi_probe(struct spi_device *spi)
|
|||
indio_dev->modes = INDIO_DIRECT_MODE;
|
||||
indio_dev->channels = max5522_channels;
|
||||
indio_dev->num_channels = ARRAY_SIZE(max5522_channels);
|
||||
indio_dev->name = max5522_chip_info_tbl[ID_MAX5522].name;
|
||||
indio_dev->name = "max5522";
|
||||
|
||||
return devm_iio_device_register(&spi->dev, indio_dev);
|
||||
}
|
||||
|
||||
static const struct spi_device_id max5522_ids[] = {
|
||||
{ "max5522", (kernel_ulong_t)&max5522_chip_info_tbl[ID_MAX5522] },
|
||||
{ .name = "max5522" },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(spi, max5522_ids);
|
||||
|
||||
static const struct of_device_id max5522_of_match[] = {
|
||||
{
|
||||
.compatible = "maxim,max5522",
|
||||
.data = &max5522_chip_info_tbl[ID_MAX5522],
|
||||
},
|
||||
{ .compatible = "maxim,max5522" },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, max5522_of_match);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user