i2c:i2c-msm-geni: Add I2C GENI driver snapshot for pineapple

This is a snapshot of I2C GENI driver and associated files
as of msm-5.15 'commit d2769a2c9a5b1 ("i2c:i2c-msm-geni:
Updating last mark busy failure case")'.

Change-Id: I2993ee80034e46eb3413cdfd37d6a1256e45a338
Signed-off-by: Anil Veshala Veshala <quic_aveshala@quicinc.com>
This commit is contained in:
Anil Veshala Veshala 2022-07-28 10:01:20 -07:00 committed by Gerrit - the friendly Code Review server
parent 51372d1749
commit 4f5569c850
4 changed files with 1897 additions and 0 deletions

View File

@ -954,6 +954,20 @@ config I2C_QCOM_GENI
This driver can also be built as a module. If so, the module
will be called i2c-qcom-geni.
config I2C_MSM_GENI
tristate "Qualcomm Technologies Inc.'s GENI based I2C controller"
depends on ARCH_QCOM || COMPILE_TEST
depends on QCOM_GENI_SE
default n
help
This driver supports GENI serial engine based I2C controller in
master mode on the Qualcomm Technologies Inc.'s SoCs. If you say
yes to this option, support will be included for the built-in I2C
interface on the Qualcomm Technologies Inc.'s SoCs.
This driver can also be built as a module. If so, the module
will be called i2c-msm-geni.
config I2C_QUP
tristate "Qualcomm QUP based I2C controller"
depends on ARCH_QCOM || COMPILE_TEST

View File

@ -98,6 +98,7 @@ obj-$(CONFIG_I2C_PXA) += i2c-pxa.o
obj-$(CONFIG_I2C_PXA_PCI) += i2c-pxa-pci.o
obj-$(CONFIG_I2C_QCOM_CCI) += i2c-qcom-cci.o
obj-$(CONFIG_I2C_QCOM_GENI) += i2c-qcom-geni.o
obj-$(CONFIG_I2C_MSM_GENI) += i2c-msm-geni.o
obj-$(CONFIG_I2C_QUP) += i2c-qup.o
obj-$(CONFIG_I2C_RIIC) += i2c-riic.o
obj-$(CONFIG_I2C_RK3X) += i2c-rk3x.o

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,45 @@
/* SPDX-License-Identifier: GPL-2.0-only
*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
*/
#undef TRACE_SYSTEM
#define TRACE_SYSTEM qup_i2c_trace
#if !defined(_TRACE_I2C_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_I2C_TRACE_H
#include <linux/ktime.h>
#include <linux/tracepoint.h>
#define MAX_MSG_LEN 256
TRACE_EVENT(i2c_log_info,
TP_PROTO(const char *name, struct va_format *vaf),
TP_ARGS(name, vaf),
TP_STRUCT__entry(
__string(name, name)
__dynamic_array(char, msg, MAX_MSG_LEN)
),
TP_fast_assign(
__assign_str(name, name);
WARN_ON_ONCE(vsnprintf(__get_dynamic_array(msg),
MAX_MSG_LEN, vaf->fmt,
*vaf->va) >= MAX_MSG_LEN);
),
TP_printk("%s: %s", __get_str(name), __get_str(msg))
);
#endif /* _TRACE_I2C_TRACE_H */
/* This part must be outside protection */
#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH .
#define TRACE_INCLUDE_FILE i2c-qup-trace
#include <trace/define_trace.h>