mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-22 00:40:03 +00:00
![Lv Zheng](/assets/img/avatar_default.png)
To avoid build problems and breaking dependencies between ACPI header files, <acpi/acpi.h> should not be included directly by code outside of the ACPI core subsystem, but this is done by the ACPI iSCSI Boot Firmware code. The iBFT specification doesn't mention whether or not it can appear on a non-ACPI platform, but is says that ACPI 3.0b defines the mechanism. The current CONFIG_ISCSI_IBFT_FIND code doesn't use the ACPI tables API to locate the table, so it doesn't rely on CONFIG_ACPI directly. However, since iBFT is is an ACPI-based mechanism (please refer to the documentation link below for more information), it should be correct to make CONFIG_ISCSI_IBFT_FIND depend on CONFIG_ACPI (even though the table location can be implemented without using ACPI tables API). After that change, include/linux/iscsi_ibft.h can be modified to include <linux/acpi.h> instead of <acpi/acpi.h> as appropriate. References: http://www.microsoft.com/whdc/system/platform/firmware/ibft.mspx Cc: Konrad Rzeszutek Wilk <konrad@kernel.org> Cc: Peter Jones <pjones@redhat.com> Signed-off-by: Lv Zheng <lv.zheng@intel.com> [rjw: Subject and changelog] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
46 lines
1.3 KiB
C
46 lines
1.3 KiB
C
/*
|
|
* Copyright 2007 Red Hat, Inc.
|
|
* by Peter Jones <pjones@redhat.com>
|
|
* Copyright 2007 IBM, Inc.
|
|
* by Konrad Rzeszutek <konradr@linux.vnet.ibm.com>
|
|
* Copyright 2008
|
|
* by Konrad Rzeszutek <ketuzsezr@darnok.org>
|
|
*
|
|
* This code exposes the iSCSI Boot Format Table to userland via sysfs.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License v2.0 as published by
|
|
* the Free Software Foundation
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
|
|
#ifndef ISCSI_IBFT_H
|
|
#define ISCSI_IBFT_H
|
|
|
|
#include <linux/acpi.h>
|
|
|
|
/*
|
|
* Logical location of iSCSI Boot Format Table.
|
|
* If the value is NULL there is no iBFT on the machine.
|
|
*/
|
|
extern struct acpi_table_ibft *ibft_addr;
|
|
|
|
/*
|
|
* Routine used to find and reserve the iSCSI Boot Format Table. The
|
|
* mapped address is set in the ibft_addr variable.
|
|
*/
|
|
#ifdef CONFIG_ISCSI_IBFT_FIND
|
|
unsigned long find_ibft_region(unsigned long *sizep);
|
|
#else
|
|
static inline unsigned long find_ibft_region(unsigned long *sizep)
|
|
{
|
|
*sizep = 0;
|
|
return 0;
|
|
}
|
|
#endif
|
|
|
|
#endif /* ISCSI_IBFT_H */
|