mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-11-13 21:43:01 +01:00
In order to be able to reference an irqdomain from ACPI, we need to be able to create an identifier, which is usually a struct device_node. This device node does't really fit the ACPI infrastructure, so we cunningly allocate a new structure containing a fwnode_handle, and return that. This structure doesn't really point to a device (interrupt controllers are not "real" devices in Linux), but as we cannot really deny that they exist, we create them with a new fwnode_type (FWNODE_IRQCHIP). Signed-off-by: Marc Zyngier <[email protected]> Acked-by: Rafael J. Wysocki <[email protected]> Reviewed-and-tested-by: Hanjun Guo <[email protected]> Tested-by: Lorenzo Pieralisi <[email protected]> Cc: <[email protected]> Cc: Tomasz Nowicki <[email protected]> Cc: Suravee Suthikulpanit <[email protected]> Cc: Graeme Gregory <[email protected]> Cc: Jake Oshins <[email protected]> Cc: Jiang Liu <[email protected]> Cc: Jason Cooper <[email protected]> Cc: Rafael J. Wysocki <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
29 lines
611 B
C
29 lines
611 B
C
/*
|
|
* fwnode.h - Firmware device node object handle type definition.
|
|
*
|
|
* Copyright (C) 2015, Intel Corporation
|
|
* Author: Rafael J. Wysocki <[email protected]>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef _LINUX_FWNODE_H_
|
|
#define _LINUX_FWNODE_H_
|
|
|
|
enum fwnode_type {
|
|
FWNODE_INVALID = 0,
|
|
FWNODE_OF,
|
|
FWNODE_ACPI,
|
|
FWNODE_PDATA,
|
|
FWNODE_IRQCHIP,
|
|
};
|
|
|
|
struct fwnode_handle {
|
|
enum fwnode_type type;
|
|
struct fwnode_handle *secondary;
|
|
};
|
|
|
|
#endif
|