On Thu, Feb 29, 2024 at 08:23:00PM +0000, Jonathan Cameron wrote: > The following changes since commit d4551c189d6e6a3fcf7f625bd4b273e770fad35a: > > Merge tag 'iio-for-6.9a' of http://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into char-misc-next (2024-02-25 14:11:41 +0100) > > are available in the Git repository at: > > https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git tags/iio-for-6.9c > > for you to fetch changes up to 64e19caa5564ecc43edaa7fb818d53de650d9b34: > > iio: adc: rzg2l_adc: Use device_for_each_child_node_scoped() (2024-02-28 19:15:43 +0000) > > ---------------------------------------------------------------- > IIO: 3rd set for 6.9 - cleanup.h related. > > I have separated this set out from the more normal patches as they can > go separately and that may simplify the merge window. Greg, up to you > how you wish to handle this in the char-misc tree. > > Introduces __free() based handling for fwnode_handle_put() to > allow scope based release of these handles on early exit from functions. This should be fine, right? No one complains about these. > Also introduced device_for_each_child_node_scoped() to provide a > a convenient way to process child nodes without the need to explicitly > handle the fwnode_handle_put() needed on early exits from the loop. > Typically these early exits are a result of error handling or completion > of a search and have proven very prone to being missed. This is trickier, there was a load of different versions floating around, do you have a link to the "last" version of this patch series that got applied here? > One instance of such a leaked resource was found during these conversions > though review of that patch was too late for this pull request. I don't understand, does this series fix that found problem? Or is it coming? > A number of drivers are also converted over to generic fwnode handling from > the device tree specific version. Deleting code is always good, but: > > ---------------------------------------------------------------- > Jonathan Cameron (16): > device property: Move fwnode_handle_put() into property.h > device property: Add cleanup.h based fwnode_handle_put() scope based cleanup. > device property: Introduce device_for_each_child_node_scoped() > iio: adc: max11410: Use device_for_each_child_node_scoped() > iio: addac: ad74413r: Use device_for_each_child_node_scoped() > iio: dac: ltc2688: Use device_for_each_child_node_scoped() > iio: adc: fsl-imx25-gcq: Switch from of specific handing to fwnode based. > iio: adc: fsl-imx25-gcq: Use devm_* and dev_err_probe() to simplify probe > iio: adc: ad7124: Switch from of specific to fwnode based property handling > iio: adc: ad7292: Switch from of specific to fwnode property handling > iio: adc: ad7192: Convert from of specific to fwnode property handling > iio: accel: mma8452: Switch from of specific to fwnode property handling. > iio: accel: fxls8962af: Switch from of specific to fwnode based properties. > iio: adc: hx711: Switch from of specific to fwnode property handling. > iio: temp: ltc2983: Use __free(fwnode_handle) and device_for_each_node_scoped() > iio: adc: rzg2l_adc: Use device_for_each_child_node_scoped() You are mixing the two different handlers in this series, right? How about 2 different ones, one for each? Or do they start to conflict? thanks, greg k-h