Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp105504img; Thu, 21 Mar 2019 15:14:51 -0700 (PDT) X-Google-Smtp-Source: APXvYqxSLmGXpGXxopI21JDSYzXZXEjnkgRRHHwqB1519ttJ50xZdiszBNbYchUpQV/wiSe+o1Or X-Received: by 2002:a65:6149:: with SMTP id o9mr5571053pgv.315.1553206490915; Thu, 21 Mar 2019 15:14:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553206490; cv=none; d=google.com; s=arc-20160816; b=TAXoVjJR3aw1KFaSS925pxnsu3iYkj7o67IRZXh/XMg4+u/XuRWe1L0DCES+NLhEQ6 evAqJitrVP498C9SSb3j/Um1d3a5xjSD63bVNgGQPUE538h2xBpeK1Nm5eJewG67CKPU WRTMg+eDrHfI1BAVq8YtbF1yG/8kL+3d5K3sqGg+aOPk52MN4uN2MnMrY/R3NtXf8rj9 5Nrmr6SitaUx7A4hyjBH0B6XYWN62pskU8yQK18vnm+SytWVrLlmyxEdvT7NeAfg5hT2 t08NKoTwBheaV541hTlTJQ1KbBA4yEEp0XnZbh972cj1PGiqypbnpC12SglqjL3izhur Wz+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=NUWsnACMDkvaSnvBUp2t3uShuUsUTF8b8h50BINNBME=; b=IY9egSbUxWMAAPG7wIiMEU/fkpYJYSFGNG95VWLBQxVgSuYGucG+meGh5RnhHRUI63 USibQshQ4pl+rzkraJy8swH9nVX+Scfkijpru8mocJJRxYZyQTGwLkW8No9oo/zfpyHv S4YVmUiqRyke2wLxrQIzR34FFSF9Y9cAZnSEQKbIBNAtoBtJibhWoOkXQprfU5INAKrX 2ybHOAQA86O2hOc/Z3D/tUghanKZJn19em1a1nL/EoBJQnkABP+ZkmDvbZoHjLBBsGgs iBReYQzjHXsPCU57jWNY6e3OBRxnbnNle2m0L6QJgmVQBT5HDe9oxRY+E4Qc4xhX5BxR MQmQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b="ZhSs7/MT"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m3si4968972pgq.343.2019.03.21.15.14.35; Thu, 21 Mar 2019 15:14:50 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b="ZhSs7/MT"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727217AbfCUWNv (ORCPT + 99 others); Thu, 21 Mar 2019 18:13:51 -0400 Received: from mail-it1-f196.google.com ([209.85.166.196]:55132 "EHLO mail-it1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726374AbfCUWNu (ORCPT ); Thu, 21 Mar 2019 18:13:50 -0400 Received: by mail-it1-f196.google.com with SMTP id w18so706665itj.4 for ; Thu, 21 Mar 2019 15:13:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=NUWsnACMDkvaSnvBUp2t3uShuUsUTF8b8h50BINNBME=; b=ZhSs7/MTZ5wE2cTNqb6zvjI1beycJbcIIVFnpe1CcbwIl9YhgYNY9cE485CHDO/p3F xy9RMjUm+v2xbks77ela4DZ92iTFEG7p37D0UbEnotCzwL0qRY6u+X+Mbc2HQs3SNkU1 ar0WHNRY1FyiycRgl7n84Z4reHRdzXc4Qp4s0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=NUWsnACMDkvaSnvBUp2t3uShuUsUTF8b8h50BINNBME=; b=UihUrY5vPxICJ2Zwbr0nWwxJ+aaOLhLIDeomiUH7+0ZvDUSbMebJVJV4giCXxWKS1h 9QJI/xFyqmnZ0+DITp9mqjGcsYo+5rpXtB9KQ8xc2yfVthzmFGZeXl4VIZJ3olo9Mecy D39T1bVtvvrwumv3dXQozocopRl+VslNNGfjv2J8yBn/0SMAeodiVDhk7l1uqVJufac6 hB1H3BXPFVYfO/kTNPksxCIAeHk2Rr4igGz3xyykVOdevemWiEP+VSw13Bl4zbgqB+YW OGEWZGl/mUHLJIBe50n6oZLkj9hNhnRcm6HSeNH/iONAJptkOGIRdaK/qnmOEgYjax2m 0YtA== X-Gm-Message-State: APjAAAUYLff0DhiA8wlkECoGq95DWmByIsVNvoDUvgNirH0ttdDHF6L7 /t4ymTh+s7jUKTYGsMxV1I2l+Q== X-Received: by 2002:a24:908:: with SMTP id 8mr559261itm.155.1553206429758; Thu, 21 Mar 2019 15:13:49 -0700 (PDT) Received: from ncrews2.bld.corp.google.com ([2620:15c:183:200:8140:8e3f:aea5:bcdf]) by smtp.gmail.com with ESMTPSA id o129sm582093ito.0.2019.03.21.15.13.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Mar 2019 15:13:49 -0700 (PDT) From: Nick Crews To: enric.balletbo@collabora.com, bleung@chromium.org, linux-leds@vger.kernel.org, jacek.anaszewski@gmail.com, pavel@ucw.cz Cc: linux-kernel@vger.kernel.org, dlaurie@chromium.org, sjg@google.com, groeck@google.com, dtor@google.com, Nick Crews Subject: [PATCH 1/3] platform/chrome: wilco_ec: Split core and mailbox into separate modules Date: Thu, 21 Mar 2019 16:13:32 -0600 Message-Id: <20190321221334.240059-1-ncrews@chromium.org> X-Mailer: git-send-email 2.21.0.225.g810b269d1ac-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It was bad design to lump the mailbox interface to the Wilco EC into the same module as the code module, which loads all the subdrivers: - This required the sub-drivers to depend on the core, which doesn't really make sense, they should just depend on the mailbox interface. - It caused problems with circular dependencies: An upcoming keyboard backlight driver depends on the mailbox interface, which in the old architecture makes it also depend on the core driver. However, the core driver should be able to detect whether or not the keyboard backlight is available, so the core module depends on the backlight driver. This created a circular dependency. By splitting up the mailbox interface and core driver into separate modules, it fixes both of these problems. Signed-off-by: Nick Crews --- drivers/platform/chrome/wilco_ec/Makefile | 6 ++++-- drivers/platform/chrome/wilco_ec/core.c | 2 +- drivers/platform/chrome/wilco_ec/mailbox.c | 6 ++++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/platform/chrome/wilco_ec/Makefile b/drivers/platform/chrome/wilco_ec/Makefile index 063e7fb4ea17..9706aeb20ccb 100644 --- a/drivers/platform/chrome/wilco_ec/Makefile +++ b/drivers/platform/chrome/wilco_ec/Makefile @@ -1,6 +1,8 @@ # SPDX-License-Identifier: GPL-2.0 -wilco_ec-objs := core.o mailbox.o -obj-$(CONFIG_WILCO_EC) += wilco_ec.o +wilco_ec_mailbox-objs := mailbox.o +obj-$(CONFIG_WILCO_EC) += wilco_ec_mailbox.o +wilco_ec_core-objs := core.o +obj-$(CONFIG_WILCO_EC) += wilco_ec_core.o wilco_ec_debugfs-objs := debugfs.o obj-$(CONFIG_WILCO_EC_DEBUGFS) += wilco_ec_debugfs.o diff --git a/drivers/platform/chrome/wilco_ec/core.c b/drivers/platform/chrome/wilco_ec/core.c index 05e1e2be1c91..ece30874f35f 100644 --- a/drivers/platform/chrome/wilco_ec/core.c +++ b/drivers/platform/chrome/wilco_ec/core.c @@ -20,7 +20,7 @@ #include "../cros_ec_lpc_mec.h" -#define DRV_NAME "wilco-ec" +#define DRV_NAME "wilco-ec-core" static struct resource *wilco_get_resource(struct platform_device *pdev, int index) diff --git a/drivers/platform/chrome/wilco_ec/mailbox.c b/drivers/platform/chrome/wilco_ec/mailbox.c index 14355668ddfa..ca6b92ce7e6d 100644 --- a/drivers/platform/chrome/wilco_ec/mailbox.c +++ b/drivers/platform/chrome/wilco_ec/mailbox.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -235,3 +236,8 @@ int wilco_ec_mailbox(struct wilco_ec_device *ec, struct wilco_ec_message *msg) } EXPORT_SYMBOL_GPL(wilco_ec_mailbox); + +MODULE_AUTHOR("Nick Crews "); +MODULE_LICENSE("GPL v2"); +MODULE_DESCRIPTION("ChromeOS Wilco Embedded Controller mailbox interface"); +MODULE_ALIAS("platform:wilco-ec-mailbox"); -- 2.20.1