On Fri, Nov 27, 2020 at 09:35:39AM +0100, Geert Uytterhoeven wrote:
Hi Uwe,
On Thu, Nov 26, 2020 at 6:03 PM Uwe Kleine-König u.kleine-koenig@pengutronix.de wrote:
The remove callback is only called for devices that were probed successfully before. As the matching probe function cannot complete without error if dev->match_id != PS3_MATCH_ID_SOUND, we don't have to check this here.
Signed-off-by: Uwe Kleine-König u.kleine-koenig@pengutronix.de
Thanks for your patch!
Reviewed-by: Geert Uytterhoeven geert@linux-m68k.org
Note that there are similar checks in snd_ps3_driver_probe(), which can be removed, too:
if (WARN_ON(!firmware_has_feature(FW_FEATURE_PS3_LV1))) return -ENODEV; if (WARN_ON(dev->match_id != PS3_MATCH_ID_SOUND)) return -ENODEV;
I had to invest some brain cycles here. For the first:
Assuming firmware_has_feature(FW_FEATURE_PS3_LV1) always returns the same value, snd_ps3_driver_probe is only used after this check succeeds because the driver is registered only after this check in snd_ps3_init().
The second is superflous because ps3_system_bus_match() yields false if this doesn't match the driver's match_id.
Best regards Uwe