Re: [PATCH 7/8] iio: adc: ad7606: Switch to xxx_get_device_match_data

Guillaume Stols
2024-09-14T09:21:39Z

On 8/17/24 17:33, Jonathan Cameron wrote:
> On Thu, 15 Aug 2024 12:12:01 +0000
> Guillaume Stols <gstols@baylibre.com> wrote:
>
>> On the parallel version, the current implementation is only compatible
>> with id tables and won't work with fx_nodes. So in this commit, the goal
>> is to switch to use get_device_match_data, in order to simplify the
>> logic of retrieving chip data.
>>
>> Also, chip info is moved in the .h file so to be accessible to all the
>> driver files that can set a pointer to the corresponding chip as the
>> driver data.
> This means each driver gets their own copy.
>
> Better to use an extern in the header and keep the actual data
> in the core module.

ack.

Given your previous comment about introducing
platform_device_get_match_data, I guess I should instead do it directly
in the driver's probe, like its done in axp20x_adc.c ? Somehting like that:

if (!dev_fwnode(&pdev->dev)) {
const struct platform_device_id *id;

id = platform_get_device_id(pdev);
chip_info = (const struct ad7606_chip_info *)id->driver_data;
} else {
struct device *dev = &pdev->dev;
chip_info = device_get_match_data(dev);
}