On Tue, Aug 01, 2023 at 06:03:17PM +0100, Biju Das wrote: > Extend device_get_match_data() to buses (for eg: I2C) by adding a > callback device_get_match_data() to struct bus_type() and call this method > as a fallback for generic fwnode based device_get_match_data(). Because of anticipation of v4, see one additional comment below. ... > +/** > + * device_get_match_data - get match data from OF/ACPI/Bus match tables > + * @dev: device to find the match data > + * > + * Find match data using generic fwnode-based lookup and if there is no > + * match, call the bus->get_match_data() for finding match data. > + * > + * Return: a match data pointer or NULL if there is no match in the matching > + * table. Also add a note for the corner case. """ * * Besides the fact that some drivers abuse the device ID driver_data type * and claim it to be integer, for the bus specific ID tables the driver_data * may be defined as kernel_ulong_t. For these tables 0 is a valid response, * but not for this function. It's recommended to covert those either to avoid * 0 or use a real pointer to the predefined driver data. """ > + */ -- With Best Regards, Andy Shevchenko