Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752197AbdG1OY3 (ORCPT ); Fri, 28 Jul 2017 10:24:29 -0400 Received: from mail-ua0-f194.google.com ([209.85.217.194]:36562 "EHLO mail-ua0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751761AbdG1OY1 (ORCPT ); Fri, 28 Jul 2017 10:24:27 -0400 MIME-Version: 1.0 In-Reply-To: References: <20170728131826.180483-1-arnd@arndb.de> <6C9C978F-447D-42A5-9245-894577F2944D@gmail.com> From: Jason Gerecke Date: Fri, 28 Jul 2017 07:24:26 -0700 Message-ID: Subject: Re: [PATCH] HID: wacom: add USB_HID dependency To: Arnd Bergmann Cc: Jiri Kosina , Jason Gerecke , Benjamin Tissoires , "open list:HID CORE LAYER" , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1296 Lines: 38 On Fri, Jul 28, 2017 at 7:18 AM, Arnd Bergmann wrote: > On Fri, Jul 28, 2017 at 4:07 PM, Jason Gerecke wrote: >> On July 28, 2017 6:18:00 AM PDT, Arnd Bergmann wrote: >>>The driver has gained a compile-time dependency that we should >>>express in Kconfig to avoid this link error: >>> >> >> Would conditional compilation be an acceptable alternative to adding >> a dependency? The USB_HID code is only used to check if the driver >> is working with a USB device. With USB_HID disabled, there's no need >> for the check so there's no need for the dependency. > > I think that should work, e.g. you could replace the hid_is_using_ll_driver > and 'extern' defintions with a helper per ll-driver like > > #ifdef CONFIG_USB_HID > extern bool hid_is_using_usb_driver(struct hid_device *hdev) > #else > static inline bool hid_is_using_usb_driver(struct hid_device *hdev) > { > return false; > } > #endif > > but is it worth it to avoid the dependency? > > Arnd I was thinking something more along the lines of the following since the idea of per-transport helper functions was dismissed earlier: #ifdef CONFIG_USB_HID if (hid_is_using_ll_driver(wacom->hdev, &usb_hid_driver)) { [...] } #endif Jason