/* * Copyright (c) 2022 Thomas Stranger * * SPDX-License-Identifier: Apache-2.0 */ #include #include #include #include int z_impl_w1_read_block(const struct device *dev, uint8_t *buffer, size_t len) { const struct w1_driver_api *api = dev->api; int ret; if (api->read_block != NULL) { return api->read_block(dev, buffer, len); } for (int i = 0; i < len; ++i) { ret = w1_read_byte(dev); if (ret < 0) { return ret; } buffer[i] = ret; } return 0; } int z_impl_w1_write_block(const struct device *dev, const uint8_t *buffer, size_t len) { const struct w1_driver_api *api = dev->api; int ret; if (api->write_block != NULL) { return api->write_block(dev, buffer, len); } for (int i = 0; i < len; ++i) { ret = w1_write_byte(dev, buffer[i]); if (ret < 0) { return ret; } } return 0; }