Implementation of fwnode_operations :: device_get_match_data() for software nodes?

From: Vladimir Oltean
Date: Thu Feb 23 2023 - 15:37:25 EST


Hi,

I have a need to instantiate a driver written for OF which calls
device_get_match_data(dev) to get various information based on the
compatible string.

I am creating a software node based on the following properties:

struct property_entry props[2] = {
PROPERTY_ENTRY_STRING("compatible", compatible),
{},
};

(I see I'm not the only one doing this, some drivers/platform/x86/x86-android-tablets.c
and drivers/platform/chrome/chromeos_laptop.c also do it)

and the driver in question does begin to probe, but its match_data is
NULL, because the operation from the title isn't implemented for
software nodes. So probing ultimately fails.

Is there some sort or reason why this doesn't exist, other than a lack
of need?

Can someone please help me with an implementation of this feature?

Thanks,
Vladimir