kernel_samsung_a53x/drivers/soc/samsung/cpif/modem_variation.h
2024-06-15 16:02:09 -03:00

68 lines
1.7 KiB
C
Executable file

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (C) 2010 Samsung Electronics.
*
*/
#ifndef __MODEM_VARIATION_H__
#define __MODEM_VARIATION_H__
#include "modem_prj.h"
#define DECLARE_MODEM_INIT(type) \
int type ## _init_modemctl_device( \
struct modem_ctl *mc, \
struct modem_data *pdata)
#define DECLARE_MODEM_INIT_DUMMY(type) \
int type ## _init_modemctl_device( \
struct modem_ctl *mc, \
struct modem_data *pdata) \
{ return 0; }
#define DECLARE_LINK_INIT() \
struct link_device *create_link_device( \
struct platform_device *pdev, \
u32 link_type)
#define DECLARE_LINK_INIT_DUMMY() \
struct link_device *dummy_create_link_device( \
struct platform_device *pdev, \
u32 link_type) \
{ return NULL; }
#define MODEM_INIT_CALL(type) type ## _init_modemctl_device
#define LINK_INIT_CALL() create_link_device
#define LINK_INIT_CALL_DUMMY() dummy_create_link_device
/**
* Add extern declaration of modem & link type
* (CAUTION!!! Every DUMMY function must be declared in modem_variation.c)
*/
/* modem device support */
#if IS_ENABLED(CONFIG_SEC_MODEM_S5000AP)
DECLARE_MODEM_INIT(s5000ap);
#endif
#if IS_ENABLED(CONFIG_SEC_MODEM_S5100)
DECLARE_MODEM_INIT(s5100);
#endif
/* link device support */
#if IS_ENABLED(CONFIG_LINK_DEVICE_SHMEM) || IS_ENABLED(CONFIG_LINK_DEVICE_PCIE)
DECLARE_LINK_INIT();
#endif
typedef int (*modem_init_call)(struct modem_ctl *, struct modem_data *);
typedef struct link_device *(*link_init_call)(struct platform_device *,
u32 link_type);
int call_modem_init_func(struct modem_ctl *mc, struct modem_data *pdata);
struct link_device *call_link_init_func(struct platform_device *pdev,
u32 link_type);
#endif