On 8/17/24 17:33, Jonathan Cameron wrote:
On Thu, 15 Aug 2024 12:12:01 +0000
Guillaume Stols <gstols@xxxxxxxxxxxx> 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);
}