usb: typec: fsa4480: Relax CHIP_ID check

Some FSA4480-compatible chips like the OCP96011 used on Fairphone 5
return 0x00 from the CHIP_ID register. Handle that gracefully and only
fail probe when the I2C read has failed.

With this the dev_dbg will print 0 but otherwise continue working.

[ 0.251581] fsa4480 1-0042: Found FSA4480 v0.0 (Vendor ID = 0)

Cc: stable@vger.kernel.org
Fixes: e885f5f1f2b4 ("usb: typec: fsa4480: Check if the chip is really there")
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20240818-fsa4480-chipid-fix-v1-1-17c239435cf7@fairphone.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by Luca Weiss and committed by Greg Kroah-Hartman 4f83cae0 16f2a21d

+1 -1
+1 -1
drivers/usb/typec/mux/fsa4480.c
··· 274 274 return dev_err_probe(dev, PTR_ERR(fsa->regmap), "failed to initialize regmap\n"); 275 275 276 276 ret = regmap_read(fsa->regmap, FSA4480_DEVICE_ID, &val); 277 - if (ret || !val) 277 + if (ret) 278 278 return dev_err_probe(dev, -ENODEV, "FSA4480 not found\n"); 279 279 280 280 dev_dbg(dev, "Found FSA4480 v%lu.%lu (Vendor ID = %lu)\n",