blob: e93cfa36c3f7ea96f8cca18ae46093ca7ef4a36e [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Heikki Krogerus289fcff2015-05-13 15:26:42 +03002#ifndef __LINUX_ULPI_INTERFACE_H
3#define __LINUX_ULPI_INTERFACE_H
4
5#include <linux/types.h>
6
7struct ulpi;
Tal Shorer042b0f32016-08-16 19:04:51 +03008struct device;
Heikki Krogerus289fcff2015-05-13 15:26:42 +03009
10/**
11 * struct ulpi_ops - ULPI register access
Heikki Krogerus289fcff2015-05-13 15:26:42 +030012 * @read: read operation for ULPI register access
13 * @write: write operation for ULPI register access
14 */
15struct ulpi_ops {
Tal Shorere6f74842016-08-16 19:04:50 +030016 int (*read)(struct device *dev, u8 addr);
17 int (*write)(struct device *dev, u8 addr, u8 val);
Heikki Krogerus289fcff2015-05-13 15:26:42 +030018};
19
Tal Shorerb9454f92016-08-16 19:04:52 +030020struct ulpi *ulpi_register_interface(struct device *, const struct ulpi_ops *);
Heikki Krogerus289fcff2015-05-13 15:26:42 +030021void ulpi_unregister_interface(struct ulpi *);
22
23#endif /* __LINUX_ULPI_INTERFACE_H */