]>
Commit | Line | Data |
---|---|---|
04868b40 MK |
1 | /* |
2 | * SPMI bus uclass driver | |
3 | * | |
4 | * (C) Copyright 2015 Mateusz Kulikowski <mateusz.kulikowski@gmail.com> | |
5 | * | |
6 | * SPDX-License-Identifier: GPL-2.0+ | |
7 | */ | |
8 | ||
9 | #include <common.h> | |
10 | #include <dm.h> | |
11 | #include <errno.h> | |
04868b40 MK |
12 | #include <spmi/spmi.h> |
13 | #include <linux/ctype.h> | |
14 | ||
15 | DECLARE_GLOBAL_DATA_PTR; | |
16 | ||
17 | int spmi_reg_read(struct udevice *dev, int usid, int pid, int reg) | |
18 | { | |
19 | const struct dm_spmi_ops *ops = dev_get_driver_ops(dev); | |
20 | ||
21 | if (!ops || !ops->read) | |
22 | return -ENOSYS; | |
23 | ||
24 | return ops->read(dev, usid, pid, reg); | |
25 | } | |
26 | ||
27 | int spmi_reg_write(struct udevice *dev, int usid, int pid, int reg, | |
28 | uint8_t value) | |
29 | { | |
30 | const struct dm_spmi_ops *ops = dev_get_driver_ops(dev); | |
31 | ||
32 | if (!ops || !ops->write) | |
33 | return -ENOSYS; | |
34 | ||
35 | return ops->write(dev, usid, pid, reg, value); | |
36 | } | |
37 | ||
04868b40 MK |
38 | UCLASS_DRIVER(spmi) = { |
39 | .id = UCLASS_SPMI, | |
40 | .name = "spmi", | |
91195485 | 41 | .post_bind = dm_scan_fdt_dev, |
04868b40 | 42 | }; |