linux/drivers/misc/hisi_hikey_usb.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Support for usb functionality of Hikey series boards
 * based on Hisilicon Kirin Soc.
 *
 * Copyright (C) 2017-2018 Hilisicon Electronics Co., Ltd.
 *		http://www.huawei.com
 *
 * Authors: Yu Chen <[email protected]>
 */

#include <linux/gpio/consumer.h>
#include <linux/kernel.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/notifier.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#include <linux/regulator/consumer.h>
#include <linux/slab.h>
#include <linux/usb/role.h>

#define DEVICE_DRIVER_NAME

#define HUB_VBUS_POWER_ON
#define HUB_VBUS_POWER_OFF
#define USB_SWITCH_TO_HUB
#define USB_SWITCH_TO_TYPEC
#define TYPEC_VBUS_POWER_ON
#define TYPEC_VBUS_POWER_OFF

struct hisi_hikey_usb {};

static void hub_power_ctrl(struct hisi_hikey_usb *hisi_hikey_usb, int value)
{}

static void usb_switch_ctrl(struct hisi_hikey_usb *hisi_hikey_usb,
			    int switch_to)
{}

static void usb_typec_power_ctrl(struct hisi_hikey_usb *hisi_hikey_usb,
				 int value)
{}

static void relay_set_role_switch(struct work_struct *work)
{}

static int hub_usb_role_switch_set(struct usb_role_switch *sw, enum usb_role role)
{}

static int hisi_hikey_usb_of_role_switch(struct platform_device *pdev,
					 struct hisi_hikey_usb *hisi_hikey_usb)
{}

static int hisi_hikey_usb_probe(struct platform_device *pdev)
{}

static void hisi_hikey_usb_remove(struct platform_device *pdev)
{}

static const struct of_device_id id_table_hisi_hikey_usb[] =;
MODULE_DEVICE_TABLE(of, id_table_hisi_hikey_usb);

static struct platform_driver hisi_hikey_usb_driver =;

module_platform_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();