From patchwork Fri Nov 1 12:35:54 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jarkko Nikula X-Patchwork-Id: 287801 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id CB9502C0082 for ; Fri, 1 Nov 2013 23:36:45 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753094Ab3KAMgp (ORCPT ); Fri, 1 Nov 2013 08:36:45 -0400 Received: from mga14.intel.com ([143.182.124.37]:62658 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752046Ab3KAMgo (ORCPT ); Fri, 1 Nov 2013 08:36:44 -0400 Received: from azsmga001.ch.intel.com ([10.2.17.19]) by azsmga102.ch.intel.com with ESMTP; 01 Nov 2013 05:36:43 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.93,535,1378882800"; d="scan'208";a="383304552" Received: from mylly.fi.intel.com (HELO mylly.fi.intel.com.) ([10.237.72.70]) by azsmga001.ch.intel.com with ESMTP; 01 Nov 2013 05:36:41 -0700 From: Jarkko Nikula To: "Rafael J. Wysocki" , Mark Brown , Wolfram Sang Cc: linux-spi@vger.kernel.org, linux-i2c@vger.kernel.org, alsa-devel@alsa-project.org, linux-acpi@vger.kernel.org, Jarkko Nikula Subject: [PATCHv2 1/3] ACPI: Expose struct acpi_device and acpi_bus_get_device() to non-ACPI builds Date: Fri, 1 Nov 2013 14:35:54 +0200 Message-Id: <1383309356-25430-2-git-send-email-jarkko.nikula@linux.intel.com> X-Mailer: git-send-email 1.8.4.rc3 In-Reply-To: <1383309356-25430-1-git-send-email-jarkko.nikula@linux.intel.com> References: <1382703540-3769-1-git-send-email-jarkko.nikula@linux.intel.com> <1383309356-25430-1-git-send-email-jarkko.nikula@linux.intel.com> Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org We may find use for struct acpi_device and acpi_bus_get_device() in generic code without wanting to add #if IS_ENABLED(CONFIG_ACPI) churn there. Code can use ACPI_HANDLE() test to let compiler optimize out code blocks that are not used in !CONFIG_ACPI builds but structure definitions and function stubs must be available. This patch moves CONFIG_ACPI test so that struct acpi_device definition is available for all builds that include acpi_bus.h and provides a stub for acpi_bus_get_device(). Signed-off-by: Jarkko Nikula --- include/acpi/acpi_bus.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index 15100f6..232b37d3 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h @@ -66,8 +66,6 @@ bool acpi_ata_match(acpi_handle handle); bool acpi_bay_match(acpi_handle handle); bool acpi_dock_match(acpi_handle handle); -#ifdef CONFIG_ACPI - #include #define ACPI_BUS_FILE_ROOT "acpi" @@ -315,6 +313,8 @@ struct acpi_device { void (*remove)(struct acpi_device *); }; +#if IS_ENABLED(CONFIG_ACPI) + static inline void *acpi_driver_data(struct acpi_device *d) { return d->driver_data; @@ -532,6 +532,11 @@ static inline bool acpi_device_can_poweroff(struct acpi_device *adev) static inline int register_acpi_bus_type(void *bus) { return 0; } static inline int unregister_acpi_bus_type(void *bus) { return 0; } +static inline int acpi_bus_get_device(acpi_handle handle, + struct acpi_device **device) +{ + return -ENODEV; +} #endif /* CONFIG_ACPI */