* Re: [PATCH v3 1/5] iio: adc: ad7192: Use device api @ 2024-02-08 18:47 Andy Shevchenko 0 siblings, 0 replies; 3+ messages in thread From: Andy Shevchenko @ 2024-02-08 18:47 UTC (permalink / raw) To: Alisa-Dariana Roman Cc: alexandru.tachici, alisa.roman, conor+dt, devicetree, dlechner, jic23, krzysztof.kozlowski+dt, krzysztof.kozlowski, lars, linux-iio, linux-kernel, michael.hennerich, robh+dt, Nuno Sa Subject should be: iio: adc: ad7192: Use device property APIs On Thu, Feb 08, 2024 at 07:24:55PM +0200, Alisa-Dariana Roman wrote: > Replace of.h and corresponding functions with preferred device specific > functions. > > Also replace of_device_get_match_data() with > spi_get_device_match_data(). ... > #include <linux/err.h> > #include <linux/sched.h> > #include <linux/delay.h> > -#include <linux/of.h> Actually this has to be replaced by property.h (placed somewhere before slab.h). -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v3 0/5] iio: adc: ad7192: Add support for AD7194 @ 2024-02-08 17:24 Alisa-Dariana Roman 2024-02-08 17:24 ` [PATCH v3 1/5] iio: adc: ad7192: Use device api Alisa-Dariana Roman 0 siblings, 1 reply; 3+ messages in thread From: Alisa-Dariana Roman @ 2024-02-08 17:24 UTC (permalink / raw) Cc: alexandru.tachici, alisa.roman, alisadariana, conor+dt, devicetree, dlechner, jic23, krzysztof.kozlowski+dt, krzysztof.kozlowski, lars, linux-iio, linux-kernel, michael.hennerich, robh+dt Dear maintainers, Thank you all for the feedback! I am submitting the upgraded series of patches for the ad7192 driver. Please consider applying in order. Note that I dropped the patch related to the clock bindings. I will be back with another series of patches related to the clock. Thank you! v2 -> v3 - add precursor patch to simply functions to only pass ad7192_state - add patch to replace custom attribute - bindings patch: correct use of allOf and some minor changes to the ad7194 example - add ad7194 patch: - use "ad7192 and similar" - ad7194 no longer needs attribute group - use callback function in chip_info to parse channels - move struct ad7192_chip_info - change position of parse functions - drop clock bindings patch v1 -> v2 - new commit with missing documentation for properties - add constraint for channels in binding - correct pattern for channels - correct commit message by adding "()" to functions - use in_range - use preferred structure in Kconfig Kind regards, Alisa-Dariana Roman (5): iio: adc: ad7192: Use device api iio: adc: ad7192: Pass state directly iio: adc: ad7192: Use standard attribute dt-bindings: iio: adc: ad7192: Add AD7194 support iio: adc: ad7192: Add AD7194 support .../bindings/iio/adc/adi,ad7192.yaml | 75 ++++++ drivers/iio/adc/Kconfig | 11 +- drivers/iio/adc/ad7192.c | 252 +++++++++++++----- 3 files changed, 269 insertions(+), 69 deletions(-) -- 2.34.1 ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v3 1/5] iio: adc: ad7192: Use device api 2024-02-08 17:24 [PATCH v3 0/5] iio: adc: ad7192: Add support for AD7194 Alisa-Dariana Roman @ 2024-02-08 17:24 ` Alisa-Dariana Roman 2024-02-08 18:20 ` Andy Shevchenko 0 siblings, 1 reply; 3+ messages in thread From: Alisa-Dariana Roman @ 2024-02-08 17:24 UTC (permalink / raw) Cc: alexandru.tachici, alisa.roman, alisadariana, conor+dt, devicetree, dlechner, jic23, krzysztof.kozlowski+dt, krzysztof.kozlowski, lars, linux-iio, linux-kernel, michael.hennerich, robh+dt, Andy Shevchenko, Nuno Sa Replace of.h and corresponding functions with preferred device specific functions. Also replace of_device_get_match_data() with spi_get_device_match_data(). Signed-off-by: Alisa-Dariana Roman <alisa.roman@analog.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Nuno Sa <nuno.sa@analog.com> --- drivers/iio/adc/ad7192.c | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/drivers/iio/adc/ad7192.c b/drivers/iio/adc/ad7192.c index adc3cbe92d6e..48e0357564af 100644 --- a/drivers/iio/adc/ad7192.c +++ b/drivers/iio/adc/ad7192.c @@ -17,7 +17,6 @@ #include <linux/err.h> #include <linux/sched.h> #include <linux/delay.h> -#include <linux/of.h> #include <linux/iio/iio.h> #include <linux/iio/sysfs.h> @@ -364,19 +363,19 @@ static inline bool ad7192_valid_external_frequency(u32 freq) freq <= AD7192_EXT_FREQ_MHZ_MAX); } -static int ad7192_of_clock_select(struct ad7192_state *st) +static int ad7192_device_clock_select(struct ad7192_state *st) { - struct device_node *np = st->sd.spi->dev.of_node; + struct device *dev = &st->sd.spi->dev; unsigned int clock_sel; clock_sel = AD7192_CLK_INT; /* use internal clock */ if (!st->mclk) { - if (of_property_read_bool(np, "adi,int-clock-output-enable")) + if (device_property_read_bool(dev, "adi,int-clock-output-enable")) clock_sel = AD7192_CLK_INT_CO; } else { - if (of_property_read_bool(np, "adi,clock-xtal")) + if (device_property_read_bool(dev, "adi,clock-xtal")) clock_sel = AD7192_CLK_EXT_MCLK1_2; else clock_sel = AD7192_CLK_EXT_MCLK2; @@ -385,9 +384,10 @@ static int ad7192_of_clock_select(struct ad7192_state *st) return clock_sel; } -static int ad7192_setup(struct iio_dev *indio_dev, struct device_node *np) +static int ad7192_setup(struct iio_dev *indio_dev) { struct ad7192_state *st = iio_priv(indio_dev); + struct device *dev = &st->sd.spi->dev; bool rej60_en, refin2_en; bool buf_en, bipolar, burnout_curr_en; unsigned long long scale_uv; @@ -416,26 +416,26 @@ static int ad7192_setup(struct iio_dev *indio_dev, struct device_node *np) st->conf = FIELD_PREP(AD7192_CONF_GAIN_MASK, 0); - rej60_en = of_property_read_bool(np, "adi,rejection-60-Hz-enable"); + rej60_en = device_property_read_bool(dev, "adi,rejection-60-Hz-enable"); if (rej60_en) st->mode |= AD7192_MODE_REJ60; - refin2_en = of_property_read_bool(np, "adi,refin2-pins-enable"); + refin2_en = device_property_read_bool(dev, "adi,refin2-pins-enable"); if (refin2_en && st->chip_info->chip_id != CHIPID_AD7195) st->conf |= AD7192_CONF_REFSEL; st->conf &= ~AD7192_CONF_CHOP; - buf_en = of_property_read_bool(np, "adi,buffer-enable"); + buf_en = device_property_read_bool(dev, "adi,buffer-enable"); if (buf_en) st->conf |= AD7192_CONF_BUF; - bipolar = of_property_read_bool(np, "bipolar"); + bipolar = device_property_read_bool(dev, "bipolar"); if (!bipolar) st->conf |= AD7192_CONF_UNIPOLAR; - burnout_curr_en = of_property_read_bool(np, - "adi,burnout-currents-enable"); + burnout_curr_en = + device_property_read_bool(dev, "adi,burnout-currents-enable"); if (burnout_curr_en && buf_en) { st->conf |= AD7192_CONF_BURN; } else if (burnout_curr_en) { @@ -1117,9 +1117,7 @@ static int ad7192_probe(struct spi_device *spi) } st->int_vref_mv = ret / 1000; - st->chip_info = of_device_get_match_data(&spi->dev); - if (!st->chip_info) - st->chip_info = (void *)spi_get_device_id(spi)->driver_data; + st->chip_info = spi_get_device_match_data(spi); indio_dev->name = st->chip_info->name; indio_dev->modes = INDIO_DIRECT_MODE; indio_dev->channels = st->chip_info->channels; @@ -1140,7 +1138,7 @@ static int ad7192_probe(struct spi_device *spi) if (IS_ERR(st->mclk)) return PTR_ERR(st->mclk); - st->clock_sel = ad7192_of_clock_select(st); + st->clock_sel = ad7192_device_clock_select(st); if (st->clock_sel == AD7192_CLK_EXT_MCLK1_2 || st->clock_sel == AD7192_CLK_EXT_MCLK2) { @@ -1152,7 +1150,7 @@ static int ad7192_probe(struct spi_device *spi) } } - ret = ad7192_setup(indio_dev, spi->dev.of_node); + ret = ad7192_setup(indio_dev); if (ret) return ret; -- 2.34.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v3 1/5] iio: adc: ad7192: Use device api 2024-02-08 17:24 ` [PATCH v3 1/5] iio: adc: ad7192: Use device api Alisa-Dariana Roman @ 2024-02-08 18:20 ` Andy Shevchenko 0 siblings, 0 replies; 3+ messages in thread From: Andy Shevchenko @ 2024-02-08 18:20 UTC (permalink / raw) To: Alisa-Dariana Roman Cc: alexandru.tachici, alisa.roman, conor+dt, devicetree, dlechner, jic23, krzysztof.kozlowski+dt, krzysztof.kozlowski, lars, linux-iio, linux-kernel, michael.hennerich, robh+dt, Nuno Sa Subject should be: iio: adc: ad7192: Use device property APIs On Thu, Feb 08, 2024 at 07:24:55PM +0200, Alisa-Dariana Roman wrote: > Replace of.h and corresponding functions with preferred device specific > functions. > > Also replace of_device_get_match_data() with > spi_get_device_match_data(). ... > #include <linux/err.h> > #include <linux/sched.h> > #include <linux/delay.h> > -#include <linux/of.h> Actually this has to be replaced by property.h (placed somewhere before slab.h). -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-02-08 18:47 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-02-08 18:47 [PATCH v3 1/5] iio: adc: ad7192: Use device api Andy Shevchenko -- strict thread matches above, loose matches on Subject: below -- 2024-02-08 17:24 [PATCH v3 0/5] iio: adc: ad7192: Add support for AD7194 Alisa-Dariana Roman 2024-02-08 17:24 ` [PATCH v3 1/5] iio: adc: ad7192: Use device api Alisa-Dariana Roman 2024-02-08 18:20 ` Andy Shevchenko
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox