android_kernel_samsung_msm8976/include/linux/esoc_client.h
Hanumant Singh 77670781c3 esoc: Add esoc link type to esoc descriptor
Allow clients access to external soc link type
information.

CRs-Fixed: 627764
Change-Id: I6273d11c455f322bc5448ffd847c1d44ed18cb17
Signed-off-by: Hanumant Singh <hanumant@codeaurora.org>
2014-03-10 11:53:19 -07:00

52 lines
1.4 KiB
C

/* Copyright (c) 2014, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __ESOC_CLIENT_H_
#define __ESOC_CLIENT_H_
#include <linux/esoc_ctrl.h>
#include <linux/notifier.h>
/*
* struct esoc_desc: Describes an external soc
* @name: external soc name
* @priv: private data for external soc
*/
struct esoc_desc {
const char *name;
const char *link;
void *priv;
};
#ifdef CONFIG_ESOC_CLIENT
/* Can return probe deferral */
struct esoc_desc *devm_register_esoc_client(struct device *dev,
const char *name);
void devm_unregister_esoc_client(struct device *dev,
struct esoc_desc *esoc_desc);
int esoc_register_client_notifier(struct notifier_block *nb);
#else
static inline struct esoc_desc *devm_register_esoc_client(struct device *dev,
const char *name)
{
return NULL;
}
static inline void devm_unregister_esoc_client(struct device *dev,
struct esoc_desc *esoc_desc)
{
return;
}
static inline int esoc_register_client_notifier(struct notifier_block *nb)
{
return -EIO;
}
#endif
#endif