zephyr/drivers/w1/w1_common.c
Tomislav Milkovic 0fe2c1fe90 everywhere: Fix legacy include paths
Any project with Kconfig option CONFIG_LEGACY_INCLUDE_PATH set to n
couldn't be built because some files were missing zephyr/ prefix in
includes
Re-run the migrate_includes.py script to fix all legacy include paths

Signed-off-by: Tomislav Milkovic <milkovic@byte-lab.com>
2022-07-18 16:16:47 +00:00

50 lines
908 B
C

/*
* Copyright (c) 2022 Thomas Stranger
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/device.h>
#include <zephyr/sys/crc.h>
#include <zephyr/types.h>
#include <zephyr/drivers/w1.h>
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;
}