https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
		
			
				
	
	
		
			72 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   Protocol to describe devices that are not on a discoverable bus
 | |
| 
 | |
|   Copyright (c) 2016, Linaro, Ltd. All rights reserved.<BR>
 | |
| 
 | |
|   SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef __NON_DISCOVERABLE_DEVICE_H__
 | |
| #define __NON_DISCOVERABLE_DEVICE_H__
 | |
| 
 | |
| #include <IndustryStandard/Acpi.h>
 | |
| 
 | |
| #define EDKII_NON_DISCOVERABLE_DEVICE_PROTOCOL_GUID \
 | |
|   { 0x0d51905b, 0xb77e, 0x452a, {0xa2, 0xc0, 0xec, 0xa0, 0xcc, 0x8d, 0x51, 0x4a } }
 | |
| 
 | |
| //
 | |
| // Protocol interface structure
 | |
| //
 | |
| typedef struct _NON_DISCOVERABLE_DEVICE NON_DISCOVERABLE_DEVICE;
 | |
| 
 | |
| //
 | |
| // Data Types
 | |
| //
 | |
| typedef enum {
 | |
|   NonDiscoverableDeviceDmaTypeCoherent,
 | |
|   NonDiscoverableDeviceDmaTypeNonCoherent,
 | |
|   NonDiscoverableDeviceDmaTypeMax,
 | |
| } NON_DISCOVERABLE_DEVICE_DMA_TYPE;
 | |
| 
 | |
| //
 | |
| // Function Prototypes
 | |
| //
 | |
| 
 | |
| /**
 | |
|   Perform device specific initialization before the device is started
 | |
| 
 | |
|   @param  This          The non-discoverable device protocol pointer
 | |
| 
 | |
|   @retval EFI_SUCCESS   Initialization successful, the device may be used
 | |
|   @retval Other         Initialization failed, device should not be started
 | |
| **/
 | |
| typedef
 | |
| EFI_STATUS
 | |
| (EFIAPI *NON_DISCOVERABLE_DEVICE_INIT) (
 | |
|   IN  NON_DISCOVERABLE_DEVICE       *This
 | |
|   );
 | |
| 
 | |
| struct _NON_DISCOVERABLE_DEVICE {
 | |
|   //
 | |
|   // The type of device
 | |
|   //
 | |
|   CONST EFI_GUID                      *Type;
 | |
|   //
 | |
|   // Whether this device is DMA coherent
 | |
|   //
 | |
|   NON_DISCOVERABLE_DEVICE_DMA_TYPE    DmaType;
 | |
|   //
 | |
|   // Initialization function for the device
 | |
|   //
 | |
|   NON_DISCOVERABLE_DEVICE_INIT        Initialize;
 | |
|   //
 | |
|   // The MMIO and I/O regions owned by the device
 | |
|   //
 | |
|   EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR   *Resources;
 | |
| };
 | |
| 
 | |
| extern EFI_GUID gEdkiiNonDiscoverableDeviceProtocolGuid;
 | |
| 
 | |
| #endif
 |