Message ID | 20230801170318.82682-1-biju.das.jz@bp.renesas.com |
---|---|
Headers | show |
Series | Extend device_get_match_data() to struct bus_type | expand |
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. """ > + */
Hi Andy Shevchenko, Thanks for the feedback. > Subject: Re: [PATCH v3 1/2] drivers: fwnode: Extend > device_get_match_data() to struct bus_type > > 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. Ok. > ... > > > +/** > > + * 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 Will fix the typo covert->convert Cheers, Biju > avoid > * 0 or use a real pointer to the predefined driver data. > """ >
On Wed, Aug 02, 2023 at 06:32:18AM +0000, Biju Das wrote: > > On Tue, Aug 01, 2023 at 06:03:17PM +0100, Biju Das wrote: ... > > * > > * 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 > > Will fix the typo covert->convert Thank you! > > avoid > > * 0 or use a real pointer to the predefined driver data.