xref: /linux-6.15/include/linux/ulpi/interface.h (revision b2441318)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2289fcff4SHeikki Krogerus #ifndef __LINUX_ULPI_INTERFACE_H
3289fcff4SHeikki Krogerus #define __LINUX_ULPI_INTERFACE_H
4289fcff4SHeikki Krogerus 
5289fcff4SHeikki Krogerus #include <linux/types.h>
6289fcff4SHeikki Krogerus 
7289fcff4SHeikki Krogerus struct ulpi;
8042b0f31STal Shorer struct device;
9289fcff4SHeikki Krogerus 
10289fcff4SHeikki Krogerus /**
11289fcff4SHeikki Krogerus  * struct ulpi_ops - ULPI register access
12289fcff4SHeikki Krogerus  * @read: read operation for ULPI register access
13289fcff4SHeikki Krogerus  * @write: write operation for ULPI register access
14289fcff4SHeikki Krogerus  */
15289fcff4SHeikki Krogerus struct ulpi_ops {
16e6f74849STal Shorer 	int (*read)(struct device *dev, u8 addr);
17e6f74849STal Shorer 	int (*write)(struct device *dev, u8 addr, u8 val);
18289fcff4SHeikki Krogerus };
19289fcff4SHeikki Krogerus 
20b9454f90STal Shorer struct ulpi *ulpi_register_interface(struct device *, const struct ulpi_ops *);
21289fcff4SHeikki Krogerus void ulpi_unregister_interface(struct ulpi *);
22289fcff4SHeikki Krogerus 
23289fcff4SHeikki Krogerus #endif /* __LINUX_ULPI_INTERFACE_H */
24