From fd7cbea2c97313f859a44febc63e4cfa6176344c Mon Sep 17 00:00:00 2001 From: Tito Ricardo Bianchin Oliveira Date: Fri, 13 Nov 2020 12:13:26 -0600 Subject: [PATCH] Revert "(CR): An common module used for all of module communication." Cause: This commit makes Racer5G touch doesn't work at all This reverts commit 941922034188b37f5bf30c2d5d5423c980f0b0d1. Change-Id: Ida57d10b31cc5880a1f3bfdf949e397b61158d5b Reviewed-on: https://gerrit.mot.com/1802577 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Reviewed-by: Sergio Vilela Submit-Approved: Sergio Vilela Tested-by: Sergio Vilela --- drivers/mmi_relay/Android.mk | 13 -- drivers/mmi_relay/Kbuild | 5 - drivers/mmi_relay/Makefile | 10 -- drivers/mmi_relay/mmi_relay.c | 234 ---------------------------------- include/linux/mmi_relay.h | 28 ---- 5 files changed, 290 deletions(-) delete mode 100644 drivers/mmi_relay/Android.mk delete mode 100644 drivers/mmi_relay/Kbuild delete mode 100644 drivers/mmi_relay/Makefile delete mode 100644 drivers/mmi_relay/mmi_relay.c delete mode 100644 include/linux/mmi_relay.h diff --git a/drivers/mmi_relay/Android.mk b/drivers/mmi_relay/Android.mk deleted file mode 100644 index 91f42df81f8f..000000000000 --- a/drivers/mmi_relay/Android.mk +++ /dev/null @@ -1,13 +0,0 @@ -DLKM_DIR := motorola/kernel/modules -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) -LOCAL_MODULE := mmi_relay.ko -LOCAL_MODULE_TAGS := optional -ifeq ($(DLKM_INSTALL_TO_VENDOR_OUT),true) -LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/modules/ -else -LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) -endif -KBUILD_OPTIONS_GKI += GKI_OBJ_MODULE_DIR=gki -include $(DLKM_DIR)/AndroidKernelModule.mk diff --git a/drivers/mmi_relay/Kbuild b/drivers/mmi_relay/Kbuild deleted file mode 100644 index 12e00ae16d00..000000000000 --- a/drivers/mmi_relay/Kbuild +++ /dev/null @@ -1,5 +0,0 @@ -# add -Wall to try to catch everything we can. -EXTRA_CFLAGS += -Wall -EXTRA_CFLAGS += -I$(ANDROID_BUILD_TOP)/motorola/kernel/modules/include - -obj-m += mmi_relay.o diff --git a/drivers/mmi_relay/Makefile b/drivers/mmi_relay/Makefile deleted file mode 100644 index 34b09dd815a7..000000000000 --- a/drivers/mmi_relay/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -KERNEL_SRC ?= /lib/modules/$(shell uname -r)/build - -all: - $(MAKE) -C $(KERNEL_SRC) M=$(shell pwd) modules $(KBUILD_OPTIONS) - -modules_install: - $(MAKE) INSTALL_MOD_STRIP=1 -C $(KERNEL_SRC) M=$(shell pwd) modules_install - -clean: - $(MAKE) -C $(KERNEL_SRC) M=$(PWD) clean \ No newline at end of file diff --git a/drivers/mmi_relay/mmi_relay.c b/drivers/mmi_relay/mmi_relay.c deleted file mode 100644 index 14a91fe620b7..000000000000 --- a/drivers/mmi_relay/mmi_relay.c +++ /dev/null @@ -1,234 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -typedef struct _relay_node { - struct list_head list; - union { - struct atomic_notifier_head atomic_head; - struct blocking_notifier_head blocking_head; - }; - int id; - notifier_t type; - notifier_d dev; -}relay_node; - -struct mmi_relay_dev { - struct platform_device *pdev; - struct mutex lock; - relay_node nodes[NUM_TYPES][NUM_DEVS]; - unsigned notifier_nums; -}; -static struct mmi_relay_dev* relay_dev; - -/* - * Informs the registered notifiers about an event - * @type: notification type: atomic blocking - * @dev: notification sender - * @val: value passed to notifier function - */ - -int relay_notifier_fire(notifier_t type, notifier_d dev, unsigned long val, void *v) -{ - int ret = 0; - - if(!relay_dev) { - pr_err("Device is not initialized\n"); - return -EINVAL; - } - - if(type >= NUM_TYPES || dev >= NUM_DEVS) { - pr_err("Relay error type or dev\n"); - return -EPERM; - } - switch(type) { - case ATOMIC: - { - struct atomic_notifier_head* h = &relay_dev->nodes[type][dev].atomic_head; - ret = atomic_notifier_call_chain(h, val, v); - break; - } - case BLOCKING: - { - struct blocking_notifier_head* h = &relay_dev->nodes[type][dev].blocking_head; - ret = blocking_notifier_call_chain(h, val, v); - break; - } - default: - BUG_ON(1); - } - return ret; -} -EXPORT_SYMBOL_GPL(relay_notifier_fire); - -/** - * Register an atomic or blocking notify to receive notifications from dev. - * @dev: notification sender - */ -int relay_register_action(notifier_t type, notifier_d dev, struct notifier_block * nb) -{ - int ret = 0; - - if(!relay_dev) { - pr_err("Device is not initialized\n"); - return -EINVAL; - } - - if(type >= NUM_TYPES || dev >= NUM_DEVS) { - pr_err("Relay error type or dev\n"); - return -EPERM; - } - - mutex_lock(&relay_dev->lock); - switch(type) { - case ATOMIC: - { - struct atomic_notifier_head* h = &relay_dev->nodes[type][dev].atomic_head; - ret = atomic_notifier_chain_register(h, nb); - if (!ret) - relay_notifier_fire(ATOMIC, MMI_RELAY, RELAY_NOTIFY_REGISTER, NULL); - break; - } - case BLOCKING: - { - struct blocking_notifier_head* h = &relay_dev->nodes[type][dev].blocking_head; - ret = blocking_notifier_chain_register(h, nb); - if (!ret) - relay_notifier_fire(BLOCKING, MMI_RELAY, RELAY_NOTIFY_REGISTER, NULL); - - break; - } - default: - BUG_ON(1); - } - mutex_unlock(&relay_dev->lock); - - return ret; -} -EXPORT_SYMBOL_GPL(relay_register_action); - -int relay_unregister_action(notifier_t type, notifier_d dev, struct notifier_block *nb) -{ - int ret = 0; - - if(!relay_dev) { - pr_err("Device is not initialized\n"); - return -EINVAL; - } - - if(type >= NUM_TYPES || dev >= NUM_DEVS) { - pr_err("Relay error type or dev\n"); - return -EPERM; - } - - mutex_lock(&relay_dev->lock); - switch(type) { - case ATOMIC: - { - struct atomic_notifier_head* h = &relay_dev->nodes[type][dev].atomic_head; - ret = atomic_notifier_chain_unregister(h, nb); - if (!ret) - relay_notifier_fire(ATOMIC, MMI_RELAY, RELAY_NOTIFY_UNREGISTER, NULL); - break; - } - case BLOCKING: - { - struct blocking_notifier_head* h = &relay_dev->nodes[type][dev].blocking_head; - ret = blocking_notifier_chain_unregister(h, nb); - if (!ret) - relay_notifier_fire(BLOCKING, MMI_RELAY, RELAY_NOTIFY_UNREGISTER, NULL); - break; - } - default: - BUG_ON(1); - } - mutex_unlock(&relay_dev->lock); - - return ret; -} -EXPORT_SYMBOL_GPL(relay_unregister_action); - -static int mmi_relay_probe(struct platform_device *pdev) -{ - notifier_t i; - notifier_d j; - - relay_dev = kzalloc(sizeof(struct mmi_relay_dev), GFP_KERNEL); - if (!relay_dev) { - pr_err("Failed to allocate memory for relay_dev\n"); - return -ENOMEM; - } - - relay_dev->pdev = pdev; - relay_dev->notifier_nums = NUM_DEVS * NUM_TYPES; - - mutex_init(&relay_dev->lock); - - for(i = (notifier_t)0; i < NUM_TYPES; i++) { - for(j = (notifier_d)0; j < NUM_DEVS; j++) { - relay_dev->nodes[i][j].type = i; - relay_dev->nodes[i][j].dev= j; - relay_dev->nodes[i][j].id = i << 16 | j; - INIT_LIST_HEAD(&relay_dev->nodes[i][j].list); - - if(i == ATOMIC) { - ATOMIC_INIT_NOTIFIER_HEAD(&relay_dev->nodes[i][j].atomic_head); - } else { - BLOCKING_INIT_NOTIFIER_HEAD(&relay_dev->nodes[i][j].blocking_head); - } - } - } - return 0; -} - -static int mmi_relay_remove(struct platform_device *pdev) -{ - kfree(relay_dev); - return 0; -} - -static const struct of_device_id mmi_relay_mt[] = { - {.compatible = "mmi,sys-relay"}, - {}, -}; -MODULE_DEVICE_TABLE(of, mmi_relay_mt); - -static struct platform_driver mmi_relay_driver = { - .probe = mmi_relay_probe, - .remove = mmi_relay_remove, - .driver = { - .name = "mmi_relay", - .owner = THIS_MODULE, - .of_match_table = mmi_relay_mt, - }, -}; - -static int __init mmi_relay_init(void) -{ - return platform_driver_register(&mmi_relay_driver); -} - -static void __exit mmi_relay_exit(void) -{ - platform_driver_unregister(&mmi_relay_driver); -} - -module_init(mmi_relay_init); -module_exit(mmi_relay_exit); - -MODULE_ALIAS("platform:mmi_relay"); -MODULE_AUTHOR("Motorola Mobility LLC"); -MODULE_DESCRIPTION("Motorola Mobility Module Conmmunication Relay"); -MODULE_LICENSE("GPL"); diff --git a/include/linux/mmi_relay.h b/include/linux/mmi_relay.h deleted file mode 100644 index f2de826f6f0e..000000000000 --- a/include/linux/mmi_relay.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef __MMI_RELAY_H__ -#define __MMI_RELAY_H__ - -#include - -typedef enum notifier_type { - ATOMIC, - BLOCKING, - NUM_TYPES, -}notifier_t; - -typedef enum notifier_dev { - LCD, - FPS, - MMI_RELAY, - NUM_DEVS, -}notifier_d; - -enum mmi_relay_event { - RELAY_NOTIFY_REGISTER, - RELAY_NOTIFY_UNREGISTER, -}; - -extern int relay_notifier_fire(notifier_t type, notifier_d dev, unsigned long val, void *v); -extern int relay_register_action(notifier_t type, notifier_d dev, struct notifier_block * nb); -extern int relay_unregister_action(notifier_t type, notifier_d dev, struct notifier_block * nb); - -#endif