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