Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp3143012pxv; Sun, 4 Jul 2021 09:01:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw9tgWeu2+lJgla6bRm/mmJ4LA/FF2mQ4eliLmc0m1Ka1EgIpwiz44z4dB44U617oHTjKNp X-Received: by 2002:a17:906:dc95:: with SMTP id cs21mr5576669ejc.465.1625414497751; Sun, 04 Jul 2021 09:01:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625414497; cv=none; d=google.com; s=arc-20160816; b=IuoLP1d3kYj/pQ5QfsLYD+wK0mIjO7QWBW3S0Djvmalc1Ssjyy1wya2D+uc3Qo0fAF 73mjHzojuiRrf/QKK/vy7GsZWhAnAGzza0GaCwiW5fs5ZuSlsgRv2J4V9sLXJdk3zc// cF0JFEvSWB5m72KUSnx1K9A8Fgcp69TK1v7dB/DLvp2a92qZzFMsbCgfyvTXs1YuK9Me hM391WNWyEypzrHZD2bEsbntwMiCgPbmK4ZqKndhZ0KDePKIx4Bx+zlqGZW7kQ6t7XwS y4uBOAynbQ9cUzcCPkBPDNQvz2mt41LMnSx1+KNepFxtjbV2qJbbo+hPRsHRO3gy2xXn +XbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=/YhBSpMPkjoprm5QHl3l72iyxSfWeqUMApb6I6Ek3Uc=; b=lG8nFl4Lg+mBTxxgXMZQED+3x5oM/4bK9Qp6HH6C5Z+lW4u8GRyDUkXitV+R75B4x4 zlNDtMMgNS1wtxjMk4/aHaTVsNxh8he1/ZcOcFa9G2YBKAz7fPVtt2573UWRwZwjbSqI T30LKaGSVBNRwNBPa8RdYAIw9SI2juqeE7HvAHcQYYOpdFuwH8ordtjIrukSRYFNNGGs MWvaTM9m8ITDmkL/D5rbGFvmQ1zI0eP4C/vx/MjjQ/WaD5M0OaHHxHKsQ0zblp+xvftI EE76nrdwchmet76GMTw12fPhJbIq4X5DKV5dHszzjw0iutzNeNlqRQ3mvKyZdkHbzq57 mrvA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=dyb9LU5A; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g7si2569844ejt.645.2021.07.04.09.01.14; Sun, 04 Jul 2021 09:01:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=dyb9LU5A; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229753AbhGDQCD (ORCPT + 99 others); Sun, 4 Jul 2021 12:02:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37104 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229540AbhGDQCC (ORCPT ); Sun, 4 Jul 2021 12:02:02 -0400 Received: from mail-pf1-x432.google.com (mail-pf1-x432.google.com [IPv6:2607:f8b0:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A25A6C061574 for ; Sun, 4 Jul 2021 08:59:26 -0700 (PDT) Received: by mail-pf1-x432.google.com with SMTP id i184so1156483pfc.12 for ; Sun, 04 Jul 2021 08:59:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=/YhBSpMPkjoprm5QHl3l72iyxSfWeqUMApb6I6Ek3Uc=; b=dyb9LU5AzNMpP1x/4ATULiORuPdljhKLCb5A9rtNjNThg1zwVWNcFQb2SKXXWCNgEr M3Z5bJGFa4u6Pnm9xuW1z0+DAjhDKGfDKCUVIruuUmUmtcjwB8/MskUjOHgoPGr0lhAB CJBf+Vgbn134bKa9ELiSjyVkTUiNzOXIVpZSu+YIXaGPaMyO4wK6rcozdB5wT/DJf9Bx 01AvD+zACHgdh406+0j2ee53i+/SzIimsFogqBJdeRDL5JtoGk3hl3frViuBUd8sp+9W NyenvEZ6yn6hQcVojSqrK9fAxLDfnnhSC9Grr+cbe7trpr22WgGHSNmzFFsCs6Bxijuq QI1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=/YhBSpMPkjoprm5QHl3l72iyxSfWeqUMApb6I6Ek3Uc=; b=NiZ2QCY+GUM77CZzyG3D1fLchBxQJ5lgYJt5WcNYTyl+DybrcLusX3h3m+BpTgsKBV +Jj5PZPYTceUoMMc5EJL0Gk/R02phxQ7kZLKFEuJC3sg5e0VsCAUO5pR7Kpj9rCtTfS8 tGTC1874KQowTaf9FvARf/X9AobmjrVTH7eiBCse7XS6afj/GV7I3fmq/baPA6FVWhEX CyoOCep6LQ0PyZ5GUkWor0jGulvNDSm7AmpcVWJrGG14l2gKN+HlqRUgRi7/JhLqCKMW OJVDFj1ImKNDD92NcdAU0THHIlKkBRj/d8h40nAUxMtHggg1oCnhYrd77SepnZbxcugN Ln/Q== X-Gm-Message-State: AOAM530tYg9VDfJtBa72Qiw+aCSPVrztOdMdRIbB1hSeSUvywuRBnM7c ryNOZR946+Z7HTU74XW4J9k= X-Received: by 2002:a05:6a00:c85:b029:311:bfe1:e407 with SMTP id a5-20020a056a000c85b0290311bfe1e407mr10217304pfv.77.1625414366261; Sun, 04 Jul 2021 08:59:26 -0700 (PDT) Received: from ojas ([182.69.223.21]) by smtp.gmail.com with ESMTPSA id l189sm5613360pgl.41.2021.07.04.08.59.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 Jul 2021 08:59:26 -0700 (PDT) Date: Sun, 4 Jul 2021 21:29:16 +0530 From: Ojaswin Mujoo To: nsaenz@kernel.org Cc: gregkh@linuxfoundation.org, stefan.wahren@i2se.com, arnd@arndb.de, dan.carpenter@oracle.com, phil@raspberrypi.com, bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH v3 4/5] staging: vchiq: Make creation of vchiq cdev optional Message-ID: <03cbe3fc1d9d7dbf9b0a3844b700eb9bf5459088.1625401928.git.ojaswin98@gmail.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Before this commit, vchiq cdev (/dev/vchiq) was always created during platform initialization. Introduce a new Kconfig option CONFIG_VCHIQ_CDEV which determines if the cdev will be created or not. Signed-off-by: Ojaswin Mujoo --- drivers/staging/vc04_services/Kconfig | 10 ++++++++++ drivers/staging/vc04_services/Makefile | 5 ++++- .../vc04_services/interface/vchiq_arm/vchiq_arm.h | 9 +++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/drivers/staging/vc04_services/Kconfig b/drivers/staging/vc04_services/Kconfig index 4b886293f198..63caa6818d37 100644 --- a/drivers/staging/vc04_services/Kconfig +++ b/drivers/staging/vc04_services/Kconfig @@ -19,6 +19,16 @@ config BCM2835_VCHIQ Defaults to Y when the Broadcom Videocore services are included in the build, N otherwise. +if BCM2835_VCHIQ + +config VCHIQ_CDEV + bool "VCHIQ Character Driver" + help + Enable the creation of VCHIQ character driver to help + communicate with the Videocore platform. + +endif + source "drivers/staging/vc04_services/bcm2835-audio/Kconfig" source "drivers/staging/vc04_services/bcm2835-camera/Kconfig" diff --git a/drivers/staging/vc04_services/Makefile b/drivers/staging/vc04_services/Makefile index db28be341239..0a04338fc962 100644 --- a/drivers/staging/vc04_services/Makefile +++ b/drivers/staging/vc04_services/Makefile @@ -7,7 +7,10 @@ vchiq-objs := \ interface/vchiq_arm/vchiq_2835_arm.o \ interface/vchiq_arm/vchiq_debugfs.o \ interface/vchiq_arm/vchiq_connected.o \ - interface/vchiq_arm/vchiq_dev.o \ + +ifdef CONFIG_VCHIQ_CDEV +vchiq-objs += interface/vchiq_arm/vchiq_dev.o +endif obj-$(CONFIG_SND_BCM2835) += bcm2835-audio/ obj-$(CONFIG_VIDEO_BCM2835) += bcm2835-camera/ diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h index 2453971b6b78..e8e39a154c74 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h @@ -174,12 +174,21 @@ vchiq_instance_get_trace(struct vchiq_instance *instance); extern void vchiq_instance_set_trace(struct vchiq_instance *instance, int trace); +#if IS_ENABLED(CONFIG_VCHIQ_CDEV) + extern void vchiq_deregister_chrdev(void); extern int vchiq_register_chrdev(struct device *parent); +#else + +static inline void vchiq_deregister_chrdev(void) { } +static inline int vchiq_register_chrdev(struct device *parent) { return 0; } + +#endif /* IS_ENABLED(CONFIG_VCHIQ_CDEV) */ + extern enum vchiq_status service_callback(enum vchiq_reason reason, struct vchiq_header *header, unsigned int handle, void *bulk_userdata); -- 2.25.1