emul: sbs_gauge: Return err or unsupported feature

The fuel gauge emulators will attempt to access a 0 pointer when running a
backend emulator function that hasn't been implemented.

Add an explicit runtime check to return -ENOTSUP to signify the emulator
feature is not supported. We do not ASSERT here so we can write tests that
are generic and can run with various emulators that support a variety of
features.

Signed-off-by: Aaron Massey <aaronmassey@google.com>
diff --git a/include/zephyr/drivers/emul_fuel_gauge.h b/include/zephyr/drivers/emul_fuel_gauge.h
index 47044d0..c8af1c9 100644
--- a/include/zephyr/drivers/emul_fuel_gauge.h
+++ b/include/zephyr/drivers/emul_fuel_gauge.h
@@ -59,6 +59,10 @@
 	const struct fuel_gauge_emul_driver_api *backend_api =
 		(const struct fuel_gauge_emul_driver_api *)target->backend_api;
 
+	if (backend_api->set_battery_charging == 0) {
+		return -ENOTSUP;
+	}
+
 	return backend_api->set_battery_charging(target, uV, uA);
 }