Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp2130731pxb; Fri, 29 Jan 2021 14:11:48 -0800 (PST) X-Google-Smtp-Source: ABdhPJzrjt+NaPv1U85LTKUv+nMlr2hCybCNCIDtuTLAcv7tWmhxeYcaKqxtoRAA132JMuE+nR/p X-Received: by 2002:a50:e008:: with SMTP id e8mr7484633edl.339.1611958308292; Fri, 29 Jan 2021 14:11:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611958308; cv=none; d=google.com; s=arc-20160816; b=kO1NMBJPTtbgfjdpTMVlvwaXnuixk7L5B+nLF0vZFC2CxG0v26Y2kZn3eSy4600G5m 0q7fstYvdRdbxD1h0ZbTpn64WyZeyE2dDMhyZoyQI6VCnUx6hxxx2o2107epP4t557gE US7O4A1t50MWLOTgquH6HIFSu37Tjrivxy5XBIIEPbn15Fr+94RxEhEf0ic/dFRdagoo nj0eLmRUMaQwk83Pd/uhwl2v/wFwRBAoZFtU4xuOaH7lJ1/gPMAf1HgFYISQubwvzLnk o65W0Xbqi/nr/ivFw5AJAzNNIlOgNZfnelrYJCuj4V/bnbpxfIw0QAXTnvn/aW0FvCs5 kngg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=drFdtDK+J6FMzwL1qnxcHBCRU6LAlRAOU0rMM/7LsdM=; b=MRYklDt1yPfFTGbqnSMX5Lev9LMgXJcr4w4hfed0qshvPHm5z7VvPI+WJwDBwsqFSd M1eDP+uzKebrpIbBLROGSnq4QxjgLIPgeSVy7OUqGT7oDej5o+3/4fKzbEwAB5q/cypN 057R4PlXMhp20VsfYgHBdsIwuCu31Y/Ja5VfGReBViDkRs5Yt2E++M+9r3fmOa3Za0tw NE0fyK8ij6pp5AvVgKrVMSrmjY1d4BU1CH3mfkvZ2OXmVWC9jN1hOJX+YZUdqeLXvLtK bLE9KIb7r0dha+3GxcYm5kv/ojy0unNN04jlZh0wbGbhzDILOogdYUCf2RpJRUz7ga8G 46kg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@broadcom.com header.s=dkimrelay header.b=QFgKFpcl; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d9si6305377edt.564.2021.01.29.14.11.23; Fri, 29 Jan 2021 14:11:48 -0800 (PST) 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=@broadcom.com header.s=dkimrelay header.b=QFgKFpcl; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233453AbhA2WHd (ORCPT + 99 others); Fri, 29 Jan 2021 17:07:33 -0500 Received: from relay.smtp-ext.broadcom.com ([192.19.232.172]:38502 "EHLO relay.smtp-ext.broadcom.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233113AbhA2WHc (ORCPT ); Fri, 29 Jan 2021 17:07:32 -0500 Received: from lbrmn-lnxub113.broadcom.net (lbrmn-lnxub113.ric.broadcom.net [10.136.13.65]) by relay.smtp-ext.broadcom.com (Postfix) with ESMTP id E2A597DA6; Fri, 29 Jan 2021 14:06:29 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 relay.smtp-ext.broadcom.com E2A597DA6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1611957990; bh=rMOGMJroDYt7ixmjHrfKW0YVRnEgUqo9UIkprnDPuHw=; h=From:To:Cc:Subject:Date:From; b=QFgKFpcliIhxkuE6VuSedQ8VMpop8DSjmnhe91Q+4VzltYf9bVYRnNjFvnuhHum+g lRFar2/cP/fC8l6JwkKotgDJrZwVMeZGlZfSOLBFtivoEAsPRRAdHtOJgmcWZ1Gz2Q 6oWnn4WbbF2K+5CIgrfgbecOo3NJpPRaHIMquVbk= From: Scott Branden To: Arnd Bergmann , Greg Kroah-Hartman , Scott Branden Cc: Kees Cook , linux-kernel@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, Olof Johansson , Desmond Yan Subject: [PATCH v2] misc: bcm-vk: only support ttyVK if CONFIG_TTY is set Date: Fri, 29 Jan 2021 14:06:27 -0800 Message-Id: <20210129220627.22641-1-scott.branden@broadcom.com> X-Mailer: git-send-email 2.17.1 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Correct compile issue if CONFIG_TTY is not set by only adding ttyVK devices if CONFIG_TTY is set. Reported-by: Randy Dunlap Signed-off-by: Scott Branden --- Changes since v1: Add function stubs rather than compiling out code --- drivers/misc/bcm-vk/Makefile | 4 ++-- drivers/misc/bcm-vk/bcm_vk.h | 35 +++++++++++++++++++++++++++++--- drivers/misc/bcm-vk/bcm_vk_dev.c | 3 +-- drivers/misc/bcm-vk/bcm_vk_tty.c | 6 ++++++ 4 files changed, 41 insertions(+), 7 deletions(-) diff --git a/drivers/misc/bcm-vk/Makefile b/drivers/misc/bcm-vk/Makefile index e4a1486f7209..8d81a734fcad 100644 --- a/drivers/misc/bcm-vk/Makefile +++ b/drivers/misc/bcm-vk/Makefile @@ -7,6 +7,6 @@ obj-$(CONFIG_BCM_VK) += bcm_vk.o bcm_vk-objs := \ bcm_vk_dev.o \ bcm_vk_msg.o \ - bcm_vk_sg.o \ - bcm_vk_tty.o + bcm_vk_sg.o +bcm_vk-$(CONFIG_TTY) += bcm_vk_tty.o diff --git a/drivers/misc/bcm-vk/bcm_vk.h b/drivers/misc/bcm-vk/bcm_vk.h index 3f37c640a814..4a1d515374c7 100644 --- a/drivers/misc/bcm-vk/bcm_vk.h +++ b/drivers/misc/bcm-vk/bcm_vk.h @@ -258,7 +258,11 @@ enum pci_barno { BAR_2 }; +#ifdef CONFIG_TTY #define BCM_VK_NUM_TTY 2 +#else +#define BCM_VK_NUM_TTY 0 +#endif struct bcm_vk_tty { struct tty_port port; @@ -366,11 +370,15 @@ struct bcm_vk { struct miscdevice miscdev; int devid; /* dev id allocated */ +#ifdef CONFIG_TTY struct tty_driver *tty_drv; struct timer_list serial_timer; struct bcm_vk_tty tty[BCM_VK_NUM_TTY]; struct workqueue_struct *tty_wq_thread; struct work_struct tty_wq_work; +#else + struct bcm_vk_tty *tty; +#endif /* Reference-counting to handle file operations */ struct kref kref; @@ -501,13 +509,34 @@ int bcm_vk_send_shutdown_msg(struct bcm_vk *vk, u32 shut_type, const pid_t pid, const u32 q_num); void bcm_to_v_q_doorbell(struct bcm_vk *vk, u32 q_num, u32 db_val); int bcm_vk_auto_load_all_images(struct bcm_vk *vk); -int bcm_vk_tty_init(struct bcm_vk *vk, char *name); -void bcm_vk_tty_exit(struct bcm_vk *vk); -void bcm_vk_tty_terminate_tty_user(struct bcm_vk *vk); void bcm_vk_hb_init(struct bcm_vk *vk); void bcm_vk_hb_deinit(struct bcm_vk *vk); void bcm_vk_handle_notf(struct bcm_vk *vk); bool bcm_vk_drv_access_ok(struct bcm_vk *vk); void bcm_vk_set_host_alert(struct bcm_vk *vk, u32 bit_mask); +#ifdef CONFIG_TTY +int bcm_vk_tty_init(struct bcm_vk *vk, char *name); +void bcm_vk_tty_exit(struct bcm_vk *vk); +void bcm_vk_tty_terminate_tty_user(struct bcm_vk *vk); +void bcm_vk_tty_wq_exit(struct bcm_vk *vk); +#else +static inline int bcm_vk_tty_init(struct bcm_vk *vk, char *name) +{ + return 0; +} + +static inline void bcm_vk_tty_exit(struct bcm_vk *vk) +{ +} + +static inline void bcm_vk_tty_terminate_tty_user(struct bcm_vk *vk) +{ +} + +static inline void bcm_vk_tty_wq_exit(struct bcm_vk *vk) +{ +} +#endif /* CONFIG_TTY */ + #endif diff --git a/drivers/misc/bcm-vk/bcm_vk_dev.c b/drivers/misc/bcm-vk/bcm_vk_dev.c index c3d2bba68ef1..5d2030b67007 100644 --- a/drivers/misc/bcm-vk/bcm_vk_dev.c +++ b/drivers/misc/bcm-vk/bcm_vk_dev.c @@ -1580,8 +1580,7 @@ static void bcm_vk_remove(struct pci_dev *pdev) cancel_work_sync(&vk->wq_work); destroy_workqueue(vk->wq_thread); - cancel_work_sync(&vk->tty_wq_work); - destroy_workqueue(vk->tty_wq_thread); + bcm_vk_tty_wq_exit(vk); for (i = 0; i < MAX_BAR; i++) { if (vk->bar[i]) diff --git a/drivers/misc/bcm-vk/bcm_vk_tty.c b/drivers/misc/bcm-vk/bcm_vk_tty.c index be3964949b63..4d02692ecfc7 100644 --- a/drivers/misc/bcm-vk/bcm_vk_tty.c +++ b/drivers/misc/bcm-vk/bcm_vk_tty.c @@ -331,3 +331,9 @@ void bcm_vk_tty_terminate_tty_user(struct bcm_vk *vk) kill_pid(find_vpid(vktty->pid), SIGKILL, 1); } } + +void bcm_vk_tty_wq_exit(struct bcm_vk *vk) +{ + cancel_work_sync(&vk->tty_wq_work); + destroy_workqueue(vk->tty_wq_thread); +} -- 2.17.1