Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
b2cd5dd7
Commit
b2cd5dd7
authored
Feb 03, 2015
by
Rafael J. Wysocki
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'acpica' into acpi-resources
parents
e36f014e
a45de93e
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
132 additions
and
210 deletions
+132
-210
arch/ia64/kernel/acpi-ext.c
arch/ia64/kernel/acpi-ext.c
+3
-3
arch/ia64/pci/pci.c
arch/ia64/pci/pci.c
+7
-7
arch/x86/pci/acpi.c
arch/x86/pci/acpi.c
+13
-13
arch/x86/pci/mmconfig-shared.c
arch/x86/pci/mmconfig-shared.c
+3
-3
drivers/acpi/acpi_memhotplug.c
drivers/acpi/acpi_memhotplug.c
+4
-4
drivers/acpi/acpica/nsxfobj.c
drivers/acpi/acpica/nsxfobj.c
+0
-44
drivers/acpi/acpica/rsaddr.c
drivers/acpi/acpica/rsaddr.c
+5
-4
drivers/acpi/acpica/rsdumpinfo.c
drivers/acpi/acpica/rsdumpinfo.c
+30
-29
drivers/acpi/acpica/rsxface.c
drivers/acpi/acpica/rsxface.c
+5
-5
drivers/acpi/acpica/tbxface.c
drivers/acpi/acpica/tbxface.c
+0
-39
drivers/acpi/pci_root.c
drivers/acpi/pci_root.c
+3
-3
drivers/acpi/resource.c
drivers/acpi/resource.c
+12
-12
drivers/char/hpet.c
drivers/char/hpet.c
+2
-2
drivers/hv/vmbus_drv.c
drivers/hv/vmbus_drv.c
+2
-2
drivers/pci/hotplug/sgi_hotplug.c
drivers/pci/hotplug/sgi_hotplug.c
+7
-6
drivers/pnp/pnpacpi/rsparser.c
drivers/pnp/pnpacpi/rsparser.c
+8
-8
drivers/xen/xen-acpi-memhotplug.c
drivers/xen/xen-acpi-memhotplug.c
+4
-4
include/acpi/acpixf.h
include/acpi/acpixf.h
+0
-6
include/acpi/acrestyp.h
include/acpi/acrestyp.h
+24
-16
No files found.
arch/ia64/kernel/acpi-ext.c
View file @
b2cd5dd7
...
...
@@ -69,10 +69,10 @@ static acpi_status find_csr_space(struct acpi_resource *resource, void *data)
status
=
acpi_resource_to_address64
(
resource
,
&
addr
);
if
(
ACPI_SUCCESS
(
status
)
&&
addr
.
resource_type
==
ACPI_MEMORY_RANGE
&&
addr
.
address_length
&&
addr
.
address
.
address
_length
&&
addr
.
producer_consumer
==
ACPI_CONSUMER
)
{
space
->
base
=
addr
.
minimum
;
space
->
length
=
addr
.
address_length
;
space
->
base
=
addr
.
address
.
minimum
;
space
->
length
=
addr
.
address
.
address
_length
;
return
AE_CTRL_TERMINATE
;
}
return
AE_OK
;
/* keep looking */
...
...
arch/ia64/pci/pci.c
View file @
b2cd5dd7
...
...
@@ -188,12 +188,12 @@ static u64 add_io_space(struct pci_root_info *info,
name
=
(
char
*
)(
iospace
+
1
);
min
=
addr
->
minimum
;
max
=
min
+
addr
->
address_length
-
1
;
min
=
addr
->
address
.
minimum
;
max
=
min
+
addr
->
address
.
address
_length
-
1
;
if
(
addr
->
info
.
io
.
translation_type
==
ACPI_SPARSE_TRANSLATION
)
sparse
=
1
;
space_nr
=
new_space
(
addr
->
translation_offset
,
sparse
);
space_nr
=
new_space
(
addr
->
address
.
translation_offset
,
sparse
);
if
(
space_nr
==
~
0
)
goto
free_resource
;
...
...
@@ -247,7 +247,7 @@ static acpi_status resource_to_window(struct acpi_resource *resource,
if
(
ACPI_SUCCESS
(
status
)
&&
(
addr
->
resource_type
==
ACPI_MEMORY_RANGE
||
addr
->
resource_type
==
ACPI_IO_RANGE
)
&&
addr
->
address_length
&&
addr
->
address
.
address
_length
&&
addr
->
producer_consumer
==
ACPI_PRODUCER
)
return
AE_OK
;
...
...
@@ -284,7 +284,7 @@ static acpi_status add_window(struct acpi_resource *res, void *data)
if
(
addr
.
resource_type
==
ACPI_MEMORY_RANGE
)
{
flags
=
IORESOURCE_MEM
;
root
=
&
iomem_resource
;
offset
=
addr
.
translation_offset
;
offset
=
addr
.
address
.
translation_offset
;
}
else
if
(
addr
.
resource_type
==
ACPI_IO_RANGE
)
{
flags
=
IORESOURCE_IO
;
root
=
&
ioport_resource
;
...
...
@@ -297,8 +297,8 @@ static acpi_status add_window(struct acpi_resource *res, void *data)
resource
=
&
info
->
res
[
info
->
res_num
];
resource
->
name
=
info
->
name
;
resource
->
flags
=
flags
;
resource
->
start
=
addr
.
minimum
+
offset
;
resource
->
end
=
resource
->
start
+
addr
.
address_length
-
1
;
resource
->
start
=
addr
.
address
.
minimum
+
offset
;
resource
->
end
=
resource
->
start
+
addr
.
address
.
address
_length
-
1
;
info
->
res_offset
[
info
->
res_num
]
=
offset
;
if
(
insert_resource
(
root
,
resource
))
{
...
...
arch/x86/pci/acpi.c
View file @
b2cd5dd7
...
...
@@ -231,23 +231,23 @@ static acpi_status resource_to_addr(struct acpi_resource *resource,
case
ACPI_RESOURCE_TYPE_MEMORY24
:
memory24
=
&
resource
->
data
.
memory24
;
addr
->
resource_type
=
ACPI_MEMORY_RANGE
;
addr
->
minimum
=
memory24
->
minimum
;
addr
->
address_length
=
memory24
->
address_length
;
addr
->
maximum
=
addr
->
minimum
+
addr
->
address_length
-
1
;
addr
->
address
.
minimum
=
memory24
->
minimum
;
addr
->
address
.
address
_length
=
memory24
->
address_length
;
addr
->
address
.
maximum
=
addr
->
address
.
minimum
+
addr
->
address
.
address_length
-
1
;
return
AE_OK
;
case
ACPI_RESOURCE_TYPE_MEMORY32
:
memory32
=
&
resource
->
data
.
memory32
;
addr
->
resource_type
=
ACPI_MEMORY_RANGE
;
addr
->
minimum
=
memory32
->
minimum
;
addr
->
address_length
=
memory32
->
address_length
;
addr
->
maximum
=
addr
->
minimum
+
addr
->
address_length
-
1
;
addr
->
address
.
minimum
=
memory32
->
minimum
;
addr
->
address
.
address
_length
=
memory32
->
address_length
;
addr
->
address
.
maximum
=
addr
->
address
.
minimum
+
addr
->
address
.
address_length
-
1
;
return
AE_OK
;
case
ACPI_RESOURCE_TYPE_FIXED_MEMORY32
:
fixed_memory32
=
&
resource
->
data
.
fixed_memory32
;
addr
->
resource_type
=
ACPI_MEMORY_RANGE
;
addr
->
minimum
=
fixed_memory32
->
address
;
addr
->
address_length
=
fixed_memory32
->
address_length
;
addr
->
maximum
=
addr
->
minimum
+
addr
->
address_length
-
1
;
addr
->
address
.
minimum
=
fixed_memory32
->
address
;
addr
->
address
.
address
_length
=
fixed_memory32
->
address_length
;
addr
->
address
.
maximum
=
addr
->
address
.
minimum
+
addr
->
address
.
address_length
-
1
;
return
AE_OK
;
case
ACPI_RESOURCE_TYPE_ADDRESS16
:
case
ACPI_RESOURCE_TYPE_ADDRESS32
:
...
...
@@ -256,7 +256,7 @@ static acpi_status resource_to_addr(struct acpi_resource *resource,
if
(
ACPI_SUCCESS
(
status
)
&&
(
addr
->
resource_type
==
ACPI_MEMORY_RANGE
||
addr
->
resource_type
==
ACPI_IO_RANGE
)
&&
addr
->
address_length
>
0
)
{
addr
->
address
.
address
_length
>
0
)
{
return
AE_OK
;
}
break
;
...
...
@@ -298,8 +298,8 @@ static acpi_status setup_resource(struct acpi_resource *acpi_res, void *data)
}
else
return
AE_OK
;
start
=
addr
.
minimum
+
addr
.
translation_offset
;
orig_end
=
end
=
addr
.
maximum
+
addr
.
translation_offset
;
start
=
addr
.
address
.
minimum
+
addr
.
address
.
translation_offset
;
orig_end
=
end
=
addr
.
address
.
maximum
+
addr
.
address
.
translation_offset
;
/* Exclude non-addressable range or non-addressable portion of range */
end
=
min
(
end
,
(
u64
)
iomem_resource
.
end
);
...
...
@@ -320,7 +320,7 @@ static acpi_status setup_resource(struct acpi_resource *acpi_res, void *data)
res
->
flags
=
flags
;
res
->
start
=
start
;
res
->
end
=
end
;
info
->
res_offset
[
info
->
res_num
]
=
addr
.
translation_offset
;
info
->
res_offset
[
info
->
res_num
]
=
addr
.
address
.
translation_offset
;
info
->
res_num
++
;
if
(
!
pci_use_crs
)
...
...
arch/x86/pci/mmconfig-shared.c
View file @
b2cd5dd7
...
...
@@ -397,12 +397,12 @@ static acpi_status check_mcfg_resource(struct acpi_resource *res, void *data)
status
=
acpi_resource_to_address64
(
res
,
&
address
);
if
(
ACPI_FAILURE
(
status
)
||
(
address
.
address_length
<=
0
)
||
(
address
.
address
.
address
_length
<=
0
)
||
(
address
.
resource_type
!=
ACPI_MEMORY_RANGE
))
return
AE_OK
;
if
((
mcfg_res
->
start
>=
address
.
minimum
)
&&
(
mcfg_res
->
end
<
(
address
.
minimum
+
address
.
address_length
)))
{
if
((
mcfg_res
->
start
>=
address
.
address
.
minimum
)
&&
(
mcfg_res
->
end
<
(
address
.
address
.
minimum
+
address
.
address
.
address_length
)))
{
mcfg_res
->
flags
=
1
;
return
AE_CTRL_TERMINATE
;
}
...
...
drivers/acpi/acpi_memhotplug.c
View file @
b2cd5dd7
...
...
@@ -101,8 +101,8 @@ acpi_memory_get_resource(struct acpi_resource *resource, void *context)
/* Can we combine the resource range information? */
if
((
info
->
caching
==
address64
.
info
.
mem
.
caching
)
&&
(
info
->
write_protect
==
address64
.
info
.
mem
.
write_protect
)
&&
(
info
->
start_addr
+
info
->
length
==
address64
.
minimum
))
{
info
->
length
+=
address64
.
address_length
;
(
info
->
start_addr
+
info
->
length
==
address64
.
address
.
minimum
))
{
info
->
length
+=
address64
.
address
.
address
_length
;
return
AE_OK
;
}
}
...
...
@@ -114,8 +114,8 @@ acpi_memory_get_resource(struct acpi_resource *resource, void *context)
INIT_LIST_HEAD
(
&
new
->
list
);
new
->
caching
=
address64
.
info
.
mem
.
caching
;
new
->
write_protect
=
address64
.
info
.
mem
.
write_protect
;
new
->
start_addr
=
address64
.
minimum
;
new
->
length
=
address64
.
address_length
;
new
->
start_addr
=
address64
.
address
.
minimum
;
new
->
length
=
address64
.
address
.
address
_length
;
list_add_tail
(
&
new
->
list
,
&
mem_device
->
res_list
);
return
AE_OK
;
...
...
drivers/acpi/acpica/nsxfobj.c
View file @
b2cd5dd7
...
...
@@ -51,50 +51,6 @@
#define _COMPONENT ACPI_NAMESPACE
ACPI_MODULE_NAME
(
"nsxfobj"
)
/*******************************************************************************
*
* FUNCTION: acpi_get_id
*
* PARAMETERS: Handle - Handle of object whose id is desired
* ret_id - Where the id will be placed
*
* RETURN: Status
*
* DESCRIPTION: This routine returns the owner id associated with a handle
*
******************************************************************************/
acpi_status
acpi_get_id
(
acpi_handle
handle
,
acpi_owner_id
*
ret_id
)
{
struct
acpi_namespace_node
*
node
;
acpi_status
status
;
/* Parameter Validation */
if
(
!
ret_id
)
{
return
(
AE_BAD_PARAMETER
);
}
status
=
acpi_ut_acquire_mutex
(
ACPI_MTX_NAMESPACE
);
if
(
ACPI_FAILURE
(
status
))
{
return
(
status
);
}
/* Convert and validate the handle */
node
=
acpi_ns_validate_handle
(
handle
);
if
(
!
node
)
{
(
void
)
acpi_ut_release_mutex
(
ACPI_MTX_NAMESPACE
);
return
(
AE_BAD_PARAMETER
);
}
*
ret_id
=
node
->
owner_id
;
status
=
acpi_ut_release_mutex
(
ACPI_MTX_NAMESPACE
);
return
(
status
);
}
ACPI_EXPORT_SYMBOL
(
acpi_get_id
)
/*******************************************************************************
*
* FUNCTION: acpi_get_type
...
...
drivers/acpi/acpica/rsaddr.c
View file @
b2cd5dd7
...
...
@@ -74,7 +74,7 @@ struct acpi_rsconvert_info acpi_rs_convert_address16[5] = {
* Address Translation Offset
* Address Length
*/
{
ACPI_RSC_MOVE16
,
ACPI_RS_OFFSET
(
data
.
address16
.
granularity
),
{
ACPI_RSC_MOVE16
,
ACPI_RS_OFFSET
(
data
.
address16
.
address
.
granularity
),
AML_OFFSET
(
address16
.
granularity
),
5
},
...
...
@@ -112,7 +112,7 @@ struct acpi_rsconvert_info acpi_rs_convert_address32[5] = {
* Address Translation Offset
* Address Length
*/
{
ACPI_RSC_MOVE32
,
ACPI_RS_OFFSET
(
data
.
address32
.
granularity
),
{
ACPI_RSC_MOVE32
,
ACPI_RS_OFFSET
(
data
.
address32
.
address
.
granularity
),
AML_OFFSET
(
address32
.
granularity
),
5
},
...
...
@@ -150,7 +150,7 @@ struct acpi_rsconvert_info acpi_rs_convert_address64[5] = {
* Address Translation Offset
* Address Length
*/
{
ACPI_RSC_MOVE64
,
ACPI_RS_OFFSET
(
data
.
address64
.
granularity
),
{
ACPI_RSC_MOVE64
,
ACPI_RS_OFFSET
(
data
.
address64
.
address
.
granularity
),
AML_OFFSET
(
address64
.
granularity
),
5
},
...
...
@@ -194,7 +194,8 @@ struct acpi_rsconvert_info acpi_rs_convert_ext_address64[5] = {
* Address Length
* Type-Specific Attribute
*/
{
ACPI_RSC_MOVE64
,
ACPI_RS_OFFSET
(
data
.
ext_address64
.
granularity
),
{
ACPI_RSC_MOVE64
,
ACPI_RS_OFFSET
(
data
.
ext_address64
.
address
.
granularity
),
AML_OFFSET
(
ext_address64
.
granularity
),
6
}
};
...
...
drivers/acpi/acpica/rsdumpinfo.c
View file @
b2cd5dd7
...
...
@@ -183,15 +183,15 @@ struct acpi_rsdump_info acpi_rs_dump_address16[8] = {
{
ACPI_RSD_TITLE
,
ACPI_RSD_TABLE_SIZE
(
acpi_rs_dump_address16
),
"16-Bit WORD Address Space"
,
NULL
},
{
ACPI_RSD_ADDRESS
,
0
,
NULL
,
NULL
},
{
ACPI_RSD_UINT16
,
ACPI_RSD_OFFSET
(
address16
.
granularity
),
"Granularity"
,
NULL
},
{
ACPI_RSD_UINT16
,
ACPI_RSD_OFFSET
(
address16
.
minimum
),
"Address Minimum"
,
NULL
},
{
ACPI_RSD_UINT16
,
ACPI_RSD_OFFSET
(
address16
.
maximum
),
"Address Maximum"
,
NULL
},
{
ACPI_RSD_UINT16
,
ACPI_RSD_OFFSET
(
address16
.
translation_offset
),
{
ACPI_RSD_UINT16
,
ACPI_RSD_OFFSET
(
address16
.
address
.
granularity
)
,
"Granularity"
,
NULL
},
{
ACPI_RSD_UINT16
,
ACPI_RSD_OFFSET
(
address16
.
address
.
minimum
)
,
"Address Minimum"
,
NULL
},
{
ACPI_RSD_UINT16
,
ACPI_RSD_OFFSET
(
address16
.
address
.
maximum
)
,
"Address Maximum"
,
NULL
},
{
ACPI_RSD_UINT16
,
ACPI_RSD_OFFSET
(
address16
.
address
.
translation_offset
),
"Translation Offset"
,
NULL
},
{
ACPI_RSD_UINT16
,
ACPI_RSD_OFFSET
(
address16
.
address_length
),
{
ACPI_RSD_UINT16
,
ACPI_RSD_OFFSET
(
address16
.
address
.
address
_length
),
"Address Length"
,
NULL
},
{
ACPI_RSD_SOURCE
,
ACPI_RSD_OFFSET
(
address16
.
resource_source
),
NULL
,
NULL
}
};
...
...
@@ -200,15 +200,15 @@ struct acpi_rsdump_info acpi_rs_dump_address32[8] = {
{
ACPI_RSD_TITLE
,
ACPI_RSD_TABLE_SIZE
(
acpi_rs_dump_address32
),
"32-Bit DWORD Address Space"
,
NULL
},
{
ACPI_RSD_ADDRESS
,
0
,
NULL
,
NULL
},
{
ACPI_RSD_UINT32
,
ACPI_RSD_OFFSET
(
address32
.
granularity
),
"Granularity"
,
NULL
},
{
ACPI_RSD_UINT32
,
ACPI_RSD_OFFSET
(
address32
.
minimum
),
"Address Minimum"
,
NULL
},
{
ACPI_RSD_UINT32
,
ACPI_RSD_OFFSET
(
address32
.
maximum
),
"Address Maximum"
,
NULL
},
{
ACPI_RSD_UINT32
,
ACPI_RSD_OFFSET
(
address32
.
translation_offset
),
{
ACPI_RSD_UINT32
,
ACPI_RSD_OFFSET
(
address32
.
address
.
granularity
)
,
"Granularity"
,
NULL
},
{
ACPI_RSD_UINT32
,
ACPI_RSD_OFFSET
(
address32
.
address
.
minimum
)
,
"Address Minimum"
,
NULL
},
{
ACPI_RSD_UINT32
,
ACPI_RSD_OFFSET
(
address32
.
address
.
maximum
)
,
"Address Maximum"
,
NULL
},
{
ACPI_RSD_UINT32
,
ACPI_RSD_OFFSET
(
address32
.
address
.
translation_offset
),
"Translation Offset"
,
NULL
},
{
ACPI_RSD_UINT32
,
ACPI_RSD_OFFSET
(
address32
.
address_length
),
{
ACPI_RSD_UINT32
,
ACPI_RSD_OFFSET
(
address32
.
address
.
address
_length
),
"Address Length"
,
NULL
},
{
ACPI_RSD_SOURCE
,
ACPI_RSD_OFFSET
(
address32
.
resource_source
),
NULL
,
NULL
}
};
...
...
@@ -217,15 +217,15 @@ struct acpi_rsdump_info acpi_rs_dump_address64[8] = {
{
ACPI_RSD_TITLE
,
ACPI_RSD_TABLE_SIZE
(
acpi_rs_dump_address64
),
"64-Bit QWORD Address Space"
,
NULL
},
{
ACPI_RSD_ADDRESS
,
0
,
NULL
,
NULL
},
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
address64
.
granularity
),
"Granularity"
,
NULL
},
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
address64
.
minimum
),
"Address Minimum"
,
NULL
},
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
address64
.
maximum
),
"Address Maximum"
,
NULL
},
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
address64
.
translation_offset
),
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
address64
.
address
.
granularity
)
,
"Granularity"
,
NULL
},
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
address64
.
address
.
minimum
)
,
"Address Minimum"
,
NULL
},
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
address64
.
address
.
maximum
)
,
"Address Maximum"
,
NULL
},
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
address64
.
address
.
translation_offset
),
"Translation Offset"
,
NULL
},
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
address64
.
address_length
),
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
address64
.
address
.
address
_length
),
"Address Length"
,
NULL
},
{
ACPI_RSD_SOURCE
,
ACPI_RSD_OFFSET
(
address64
.
resource_source
),
NULL
,
NULL
}
};
...
...
@@ -234,15 +234,16 @@ struct acpi_rsdump_info acpi_rs_dump_ext_address64[8] = {
{
ACPI_RSD_TITLE
,
ACPI_RSD_TABLE_SIZE
(
acpi_rs_dump_ext_address64
),
"64-Bit Extended Address Space"
,
NULL
},
{
ACPI_RSD_ADDRESS
,
0
,
NULL
,
NULL
},
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
ext_address64
.
granularity
),
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
ext_address64
.
address
.
granularity
),
"Granularity"
,
NULL
},
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
ext_address64
.
minimum
),
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
ext_address64
.
address
.
minimum
),
"Address Minimum"
,
NULL
},
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
ext_address64
.
maximum
),
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
ext_address64
.
address
.
maximum
),
"Address Maximum"
,
NULL
},
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
ext_address64
.
translation_offset
),
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
ext_address64
.
address
.
translation_offset
),
"Translation Offset"
,
NULL
},
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
ext_address64
.
address_length
),
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
ext_address64
.
address
.
address
_length
),
"Address Length"
,
NULL
},
{
ACPI_RSD_UINT64
,
ACPI_RSD_OFFSET
(
ext_address64
.
type_specific
),
"Type-Specific Attribute"
,
NULL
}
...
...
drivers/acpi/acpica/rsxface.c
View file @
b2cd5dd7
...
...
@@ -60,11 +60,11 @@ ACPI_MODULE_NAME("rsxface")
ACPI_COPY_FIELD(out, in, min_address_fixed); \
ACPI_COPY_FIELD(out, in, max_address_fixed); \
ACPI_COPY_FIELD(out, in, info); \
ACPI_COPY_FIELD(out, in,
granularity);
\
ACPI_COPY_FIELD(out, in,
minimum);
\
ACPI_COPY_FIELD(out, in,
maximum);
\
ACPI_COPY_FIELD(out, in,
translation_offset);
\
ACPI_COPY_FIELD(out, in, address
_length);
\
ACPI_COPY_FIELD(out, in,
address.granularity);
\
ACPI_COPY_FIELD(out, in,
address.minimum);
\
ACPI_COPY_FIELD(out, in,
address.maximum);
\
ACPI_COPY_FIELD(out, in,
address.translation_offset);
\
ACPI_COPY_FIELD(out, in, address
.address_length);
\
ACPI_COPY_FIELD(out, in, resource_source);
/* Local prototypes */
static
acpi_status
...
...
drivers/acpi/acpica/tbxface.c
View file @
b2cd5dd7
...
...
@@ -263,45 +263,6 @@ acpi_get_table_header(char *signature,
ACPI_EXPORT_SYMBOL
(
acpi_get_table_header
)
/*******************************************************************************
*
* FUNCTION: acpi_unload_table_id
*
* PARAMETERS: id - Owner ID of the table to be removed.
*
* RETURN: Status
*
* DESCRIPTION: This routine is used to force the unload of a table (by id)
*
******************************************************************************/
acpi_status
acpi_unload_table_id
(
acpi_owner_id
id
)
{
int
i
;
acpi_status
status
=
AE_NOT_EXIST
;
ACPI_FUNCTION_TRACE
(
acpi_unload_table_id
);
/* Find table in the global table list */
for
(
i
=
0
;
i
<
acpi_gbl_root_table_list
.
current_table_count
;
++
i
)
{
if
(
id
!=
acpi_gbl_root_table_list
.
tables
[
i
].
owner_id
)
{
continue
;
}
/*
* Delete all namespace objects owned by this table. Note that these
* objects can appear anywhere in the namespace by virtue of the AML
* "Scope" operator. Thus, we need to track ownership by an ID, not
* simply a position within the hierarchy
*/
acpi_tb_delete_namespace_by_owner
(
i
);
status
=
acpi_tb_release_owner_id
(
i
);
acpi_tb_set_table_loaded_flag
(
i
,
FALSE
);
break
;
}
return_ACPI_STATUS
(
status
);
}
ACPI_EXPORT_SYMBOL
(
acpi_unload_table_id
)
/*******************************************************************************
*
* FUNCTION: acpi_get_table_with_size
...
...
drivers/acpi/pci_root.c
View file @
b2cd5dd7
...
...
@@ -112,10 +112,10 @@ get_root_bridge_busnr_callback(struct acpi_resource *resource, void *data)
if
(
ACPI_FAILURE
(
status
))
return
AE_OK
;
if
((
address
.
address_length
>
0
)
&&
if
((
address
.
address
.
address
_length
>
0
)
&&
(
address
.
resource_type
==
ACPI_BUS_NUMBER_RANGE
))
{
res
->
start
=
address
.
minimum
;
res
->
end
=
address
.
minimum
+
address
.
address_length
-
1
;
res
->
start
=
address
.
address
.
minimum
;
res
->
end
=
address
.
address
.
minimum
+
address
.
address
.
address_length
-
1
;
}
return
AE_OK
;
...
...
drivers/acpi/resource.c
View file @
b2cd5dd7
...
...
@@ -202,22 +202,22 @@ bool acpi_dev_resource_address_space(struct acpi_resource *ares,
if
(
ACPI_FAILURE
(
status
))
return
false
;
res
->
start
=
addr
.
minimum
;
res
->
end
=
addr
.
maximum
;
res
->
start
=
addr
.
address
.
minimum
;
res
->
end
=
addr
.
address
.
maximum
;
window
=
addr
.
producer_consumer
==
ACPI_PRODUCER
;
switch
(
addr
.
resource_type
)
{
case
ACPI_MEMORY_RANGE
:
len
=
addr
.
maximum
-
addr
.
minimum
+
1
;
len
=
addr
.
address
.
maximum
-
addr
.
address
.
minimum
+
1
;
res
->
flags
=
acpi_dev_memresource_flags
(
len
,
addr
.
info
.
mem
.
write_protect
,
window
);
break
;
case
ACPI_IO_RANGE
:
io_decode
=
addr
.
granularity
==
0xfff
?
io_decode
=
addr
.
address
.
granularity
==
0xfff
?
ACPI_DECODE_10
:
ACPI_DECODE_16
;
res
->
flags
=
acpi_dev_ioresource_flags
(
addr
.
minimum
,
addr
.
maximum
,
res
->
flags
=
acpi_dev_ioresource_flags
(
addr
.
address
.
minimum
,
addr
.
address
.
maximum
,
io_decode
,
window
);
break
;
case
ACPI_BUS_NUMBER_RANGE
:
...
...
@@ -253,22 +253,22 @@ bool acpi_dev_resource_ext_address_space(struct acpi_resource *ares,
ext_addr
=
&
ares
->
data
.
ext_address64
;
res
->
start
=
ext_addr
->
minimum
;
res
->
end
=
ext_addr
->
maximum
;
res
->
start
=
ext_addr
->
address
.
minimum
;
res
->
end
=
ext_addr
->
address
.
maximum
;
window
=
ext_addr
->
producer_consumer
==
ACPI_PRODUCER
;
switch
(
ext_addr
->
resource_type
)
{
case
ACPI_MEMORY_RANGE
:
len
=
ext_addr
->
maximum
-
ext_addr
->
minimum
+
1
;
len
=
ext_addr
->
address
.
maximum
-
ext_addr
->
address
.
minimum
+
1
;
res
->
flags
=
acpi_dev_memresource_flags
(
len
,
ext_addr
->
info
.
mem
.
write_protect
,
window
);
break
;
case
ACPI_IO_RANGE
:
io_decode
=
ext_addr
->
granularity
==
0xfff
?
io_decode
=
ext_addr
->
address
.
granularity
==
0xfff
?
ACPI_DECODE_10
:
ACPI_DECODE_16
;
res
->
flags
=
acpi_dev_ioresource_flags
(
ext_addr
->
minimum
,
ext_addr
->
maximum
,
res
->
flags
=
acpi_dev_ioresource_flags
(
ext_addr
->
address
.
minimum
,
ext_addr
->
address
.
maximum
,
io_decode
,
window
);
break
;
case
ACPI_BUS_NUMBER_RANGE
:
...
...
drivers/char/hpet.c
View file @
b2cd5dd7
...
...
@@ -976,8 +976,8 @@ static acpi_status hpet_resources(struct acpi_resource *res, void *data)
status
=
acpi_resource_to_address64
(
res
,
&
addr
);
if
(
ACPI_SUCCESS
(
status
))
{
hdp
->
hd_phys_address
=
addr
.
minimum
;
hdp
->
hd_address
=
ioremap
(
addr
.
minimum
,
addr
.
address_length
);
hdp
->
hd_phys_address
=
addr
.
address
.
minimum
;
hdp
->
hd_address
=
ioremap
(
addr
.
address
.
minimum
,
addr
.
address
.
address_length
);
if
(
hpet_is_known
(
hdp
))
{
iounmap
(
hdp
->
hd_address
);
...
...
drivers/hv/vmbus_drv.c
View file @
b2cd5dd7
...
...
@@ -861,8 +861,8 @@ static acpi_status vmbus_walk_resources(struct acpi_resource *res, void *ctx)
break
;
case
ACPI_RESOURCE_TYPE_ADDRESS64
:
hyperv_mmio
.
start
=
res
->
data
.
address64
.
minimum
;
hyperv_mmio
.
end
=
res
->
data
.
address64
.
maximum
;
hyperv_mmio
.
start
=
res
->
data
.
address64
.
address
.
minimum
;
hyperv_mmio
.
end
=
res
->
data
.
address64
.
address
.
maximum
;
break
;
}
...
...
drivers/pci/hotplug/sgi_hotplug.c
View file @
b2cd5dd7
...
...
@@ -475,7 +475,7 @@ static int disable_slot(struct hotplug_slot *bss_hotplug_slot)
struct
slot
*
slot
=
bss_hotplug_slot
->
private
;
struct
pci_dev
*
dev
,
*
temp
;
int
rc
;
acpi_
owner_id
ssdt_id
=
0
;
acpi_
handle
ssdt_hdl
=
NULL
;
/* Acquire update access to the bus */
mutex_lock
(
&
sn_hotplug_mutex
);
...
...
@@ -522,7 +522,7 @@ static int disable_slot(struct hotplug_slot *bss_hotplug_slot)
if
(
ACPI_SUCCESS
(
ret
)
&&
(
adr
>>
16
)
==
(
slot
->
device_num
+
1
))
{
/* retain the owner id */
acpi_get_id
(
chandle
,
&
ssdt_id
)
;
ssdt_hdl
=
chandle
;
ret
=
acpi_bus_get_device
(
chandle
,
&
device
);
...
...
@@ -547,12 +547,13 @@ static int disable_slot(struct hotplug_slot *bss_hotplug_slot)
pci_unlock_rescan_remove
();
/* Remove the SSDT for the slot from the ACPI namespace */
if
(
SN_ACPI_BASE_SUPPORT
()
&&
ssdt_
id
)
{
if
(
SN_ACPI_BASE_SUPPORT
()
&&
ssdt_
hdl
)
{
acpi_status
ret
;
ret
=
acpi_unload_
table_id
(
ssdt_id
);
ret
=
acpi_unload_
parent_table
(
ssdt_hdl
);
if
(
ACPI_FAILURE
(
ret
))
{
printk
(
KERN_ERR
"%s: acpi_unload_table_id failed (0x%x) for id %d
\n
"
,
__func__
,
ret
,
ssdt_id
);
acpi_handle_err
(
ssdt_hdl
,
"%s: acpi_unload_parent_table failed (0x%x)
\n
"
,
__func__
,
ret
);
/* try to continue on */
}
}
...
...
drivers/pnp/pnpacpi/rsparser.c
View file @
b2cd5dd7
...
...
@@ -410,12 +410,12 @@ static __init void pnpacpi_parse_address_option(struct pnp_dev *dev,
if
(
p
->
resource_type
==
ACPI_MEMORY_RANGE
)
{
if
(
p
->
info
.
mem
.
write_protect
==
ACPI_READ_WRITE_MEMORY
)
flags
=
IORESOURCE_MEM_WRITEABLE
;
pnp_register_mem_resource
(
dev
,
option_flags
,
p
->
minimum
,
p
->
minimum
,
0
,
p
->
address_length
,
pnp_register_mem_resource
(
dev
,
option_flags
,
p
->
address
.
minimum
,
p
->
address
.
minimum
,
0
,
p
->
address
.
address_length
,
flags
);
}
else
if
(
p
->
resource_type
==
ACPI_IO_RANGE
)
pnp_register_port_resource
(
dev
,
option_flags
,
p
->
minimum
,
p
->
minimum
,
0
,
p
->
address_length
,
pnp_register_port_resource
(
dev
,
option_flags
,
p
->
address
.
minimum
,
p
->
address
.
minimum
,
0
,
p
->
address
.
address_length
,
IORESOURCE_IO_FIXED
);
}
...
...
@@ -429,12 +429,12 @@ static __init void pnpacpi_parse_ext_address_option(struct pnp_dev *dev,
if
(
p
->
resource_type
==
ACPI_MEMORY_RANGE
)
{
if
(
p
->
info
.
mem
.
write_protect
==
ACPI_READ_WRITE_MEMORY
)
flags
=
IORESOURCE_MEM_WRITEABLE
;
pnp_register_mem_resource
(
dev
,
option_flags
,
p
->
minimum
,
p
->
minimum
,
0
,
p
->
address_length
,
pnp_register_mem_resource
(
dev
,
option_flags
,
p
->
address
.
minimum
,
p
->
address
.
minimum
,
0
,
p
->
address
.
address_length
,
flags
);
}
else
if
(
p
->
resource_type
==
ACPI_IO_RANGE
)
pnp_register_port_resource
(
dev
,
option_flags
,
p
->
minimum
,
p
->
minimum
,
0
,
p
->
address_length
,
pnp_register_port_resource
(
dev
,
option_flags
,
p
->
address
.
minimum
,
p
->
address
.
minimum
,
0
,
p
->
address
.
address_length
,
IORESOURCE_IO_FIXED
);
}
...
...
drivers/xen/xen-acpi-memhotplug.c
View file @
b2cd5dd7
...
...
@@ -117,8 +117,8 @@ acpi_memory_get_resource(struct acpi_resource *resource, void *context)
list_for_each_entry
(
info
,
&
mem_device
->
res_list
,
list
)
{
if
((
info
->
caching
==
address64
.
info
.
mem
.
caching
)
&&
(
info
->
write_protect
==
address64
.
info
.
mem
.
write_protect
)
&&
(
info
->
start_addr
+
info
->
length
==
address64
.
minimum
))
{
info
->
length
+=
address64
.
address_length
;
(
info
->
start_addr
+
info
->
length
==
address64
.
address
.
minimum
))
{
info
->
length
+=
address64
.
address
.
address
_length
;
return
AE_OK
;
}
}
...
...
@@ -130,8 +130,8 @@ acpi_memory_get_resource(struct acpi_resource *resource, void *context)
INIT_LIST_HEAD
(
&
new
->
list
);
new
->
caching
=
address64
.
info
.
mem
.
caching
;
new
->
write_protect
=
address64
.
info
.
mem
.
write_protect
;
new
->
start_addr
=
address64
.
minimum
;
new
->
length
=
address64
.
address_length
;
new
->
start_addr
=
address64
.
address
.
minimum
;
new
->
length
=
address64
.
address
.
address
_length
;
list_add_tail
(
&
new
->
list
,
&
mem_device
->
res_list
);
return
AE_OK
;
...
...
include/acpi/acpixf.h
View file @
b2cd5dd7
...
...
@@ -890,12 +890,6 @@ ACPI_APP_DEPENDENT_RETURN_VOID(ACPI_PRINTF_LIKE(1)
*/
ACPI_GLOBAL
(
u8
,
acpi_gbl_permanent_mmap
);
ACPI_EXTERNAL_RETURN_STATUS
(
acpi_status
acpi_get_id
(
acpi_handle
object
,
acpi_owner_id
*
out_type
))
ACPI_EXTERNAL_RETURN_STATUS
(
acpi_status
acpi_unload_table_id
(
acpi_owner_id
id
))
ACPI_EXTERNAL_RETURN_STATUS
(
acpi_status
acpi_get_table_with_size
(
acpi_string
signature
,
u32
instance
,
...
...
include/acpi/acrestyp.h
View file @
b2cd5dd7
...
...
@@ -305,43 +305,51 @@ struct acpi_resource_source {
u8 max_address_fixed; \
union acpi_resource_attribute info;
struct
acpi_resource_address
{
ACPI_RESOURCE_ADDRESS_COMMON
};
struct
acpi_resource_address16
{
ACPI_RESOURCE_ADDRESS_COMMON
u16
granularity
;
struct
acpi_address16_attribute
{
u16
granularity
;
u16
minimum
;
u16
maximum
;
u16
translation_offset
;
u16
address_length
;
struct
acpi_resource_source
resource_source
;
};
struct
acpi_
resource_address32
{
ACPI_RESOURCE_ADDRESS_COMMON
u32
granularity
;
struct
acpi_
address32_attribute
{
u32
granularity
;
u32
minimum
;
u32
maximum
;
u32
translation_offset
;
u32
address_length
;
struct
acpi_resource_source
resource_source
;
};
struct
acpi_
resource_address64
{
ACPI_RESOURCE_ADDRESS_COMMON
u64
granularity
;
struct
acpi_
address64_attribute
{
u64
granularity
;
u64
minimum
;
u64
maximum
;
u64
translation_offset
;
u64
address_length
;
};
struct
acpi_resource_address
{
ACPI_RESOURCE_ADDRESS_COMMON
};
struct
acpi_resource_address16
{
ACPI_RESOURCE_ADDRESS_COMMON
struct
acpi_address16_attribute
address
;
struct
acpi_resource_source
resource_source
;
};
struct
acpi_resource_address32
{
ACPI_RESOURCE_ADDRESS_COMMON
struct
acpi_address32_attribute
address
;
struct
acpi_resource_source
resource_source
;
};
struct
acpi_resource_address64
{
ACPI_RESOURCE_ADDRESS_COMMON
struct
acpi_address64_attribute
address
;
struct
acpi_resource_source
resource_source
;
};
struct
acpi_resource_extended_address64
{
ACPI_RESOURCE_ADDRESS_COMMON
u8
revision_ID
;
u64
granularity
;
u64
minimum
;
u64
maximum
;
u64
translation_offset
;
u64
address_length
;
struct
acpi_address64_attribute
address
;
u64
type_specific
;
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment