/* * SPMI bus uclass driver * * (C) Copyright 2015 Mateusz Kulikowski * * SPDX-License-Identifier: GPL-2.0+ */ #include #include #include #include #include #include DECLARE_GLOBAL_DATA_PTR; int spmi_reg_read(struct udevice *dev, int usid, int pid, int reg) { const struct dm_spmi_ops *ops = dev_get_driver_ops(dev); if (!ops || !ops->read) return -ENOSYS; return ops->read(dev, usid, pid, reg); } int spmi_reg_write(struct udevice *dev, int usid, int pid, int reg, uint8_t value) { const struct dm_spmi_ops *ops = dev_get_driver_ops(dev); if (!ops || !ops->write) return -ENOSYS; return ops->write(dev, usid, pid, reg, value); } static int spmi_post_bind(struct udevice *dev) { return dm_scan_fdt_node(dev, gd->fdt_blob, dev->of_offset, false); } UCLASS_DRIVER(spmi) = { .id = UCLASS_SPMI, .name = "spmi", .post_bind = spmi_post_bind, };