Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
3145012c
Commit
3145012c
authored
Jun 15, 2006
by
Len Brown
Browse files
Options
Browse Files
Download
Plain Diff
Pull motherboard into release branch
parents
1465887c
cd090eed
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
33 additions
and
28 deletions
+33
-28
drivers/acpi/motherboard.c
drivers/acpi/motherboard.c
+33
-28
No files found.
drivers/acpi/motherboard.c
View file @
3145012c
...
...
@@ -37,7 +37,7 @@ ACPI_MODULE_NAME("acpi_motherboard")
#define ACPI_MB_HID2 "PNP0C02"
/**
* Doesn't care about legacy IO ports, only IO ports beyond 0x1000 are reserved
* Doesn't care about the failure of 'request_region', since other may reserve
* Doesn't care about the failure of 'request_region', since other may reserve
* the io ports as well
*/
#define IS_RESERVED_ADDR(base, len) \
...
...
@@ -46,7 +46,7 @@ ACPI_MODULE_NAME("acpi_motherboard")
/*
* Clearing the flag (IORESOURCE_BUSY) allows drivers to use
* the io ports if they really know they can use it, while
* still preventing hotplug PCI devices from using it.
* still preventing hotplug PCI devices from using it.
*/
static
acpi_status
acpi_reserve_io_ranges
(
struct
acpi_resource
*
res
,
void
*
data
)
{
...
...
@@ -123,49 +123,54 @@ static struct acpi_driver acpi_motherboard_driver2 = {
},
};
static
void
__init
acpi_request_region
(
struct
acpi_generic_address
*
addr
,
unsigned
int
length
,
char
*
desc
)
{
if
(
!
addr
->
address
||
!
length
)
return
;
if
(
addr
->
address_space_id
==
ACPI_ADR_SPACE_SYSTEM_IO
)
request_region
(
addr
->
address
,
length
,
desc
);
else
if
(
addr
->
address_space_id
==
ACPI_ADR_SPACE_SYSTEM_MEMORY
)
request_mem_region
(
addr
->
address
,
length
,
desc
);
}
static
void
__init
acpi_reserve_resources
(
void
)
{
if
(
acpi_gbl_FADT
->
xpm1a_evt_blk
.
address
&&
acpi_gbl_FADT
->
pm1_evt_len
)
request_region
(
acpi_gbl_FADT
->
xpm1a_evt_blk
.
address
,
acpi_gbl_FADT
->
pm1_evt_len
,
"PM1a_EVT_BLK"
);
acpi_request_region
(
&
acpi_gbl_FADT
->
xpm1a_evt_blk
,
acpi_gbl_FADT
->
pm1_evt_len
,
"ACPI PM1a_EVT_BLK"
);
if
(
acpi_gbl_FADT
->
xpm1b_evt_blk
.
address
&&
acpi_gbl_FADT
->
pm1_evt_len
)
request_region
(
acpi_gbl_FADT
->
xpm1b_evt_blk
.
address
,
acpi_gbl_FADT
->
pm1_evt_len
,
"PM1b_EVT_BLK"
);
acpi_request_region
(
&
acpi_gbl_FADT
->
xpm1b_evt_blk
,
acpi_gbl_FADT
->
pm1_evt_len
,
"ACPI PM1b_EVT_BLK"
);
if
(
acpi_gbl_FADT
->
xpm1a_cnt_blk
.
address
&&
acpi_gbl_FADT
->
pm1_cnt_len
)
request_region
(
acpi_gbl_FADT
->
xpm1a_cnt_blk
.
address
,
acpi_gbl_FADT
->
pm1_cnt_len
,
"PM1a_CNT_BLK"
);
acpi_request_region
(
&
acpi_gbl_FADT
->
xpm1a_cnt_blk
,
acpi_gbl_FADT
->
pm1_cnt_len
,
"ACPI PM1a_CNT_BLK"
);
if
(
acpi_gbl_FADT
->
xpm1b_cnt_blk
.
address
&&
acpi_gbl_FADT
->
pm1_cnt_len
)
request_region
(
acpi_gbl_FADT
->
xpm1b_cnt_blk
.
address
,
acpi_gbl_FADT
->
pm1_cnt_len
,
"PM1b_CNT_BLK"
);
acpi_request_region
(
&
acpi_gbl_FADT
->
xpm1b_cnt_blk
,
acpi_gbl_FADT
->
pm1_cnt_len
,
"ACPI PM1b_CNT_BLK"
);
if
(
acpi_gbl_FADT
->
xpm_tmr_blk
.
address
&&
acpi_gbl_FADT
->
pm_tm_len
==
4
)
request_region
(
acpi_gbl_FADT
->
xpm_tmr_blk
.
address
,
4
,
"
PM_TMR"
);
if
(
acpi_gbl_FADT
->
pm_tm_len
==
4
)
acpi_request_region
(
&
acpi_gbl_FADT
->
xpm_tmr_blk
,
4
,
"ACPI
PM_TMR"
);
if
(
acpi_gbl_FADT
->
xpm2_cnt_blk
.
address
&&
acpi_gbl_FADT
->
pm2_cnt_len
)
request_region
(
acpi_gbl_FADT
->
xpm2_cnt_blk
.
address
,
acpi_gbl_FADT
->
pm2_cnt_len
,
"PM2_CNT_BLK"
);
acpi_request_region
(
&
acpi_gbl_FADT
->
xpm2_cnt_blk
,
acpi_gbl_FADT
->
pm2_cnt_len
,
"ACPI PM2_CNT_BLK"
);
/* Length of GPE blocks must be a non-negative multiple of 2 */
if
(
acpi_gbl_FADT
->
xgpe0_blk
.
address
&&
acpi_gbl_FADT
->
gpe0_blk_len
&&
!
(
acpi_gbl_FADT
->
gpe0_blk_len
&
0x1
))
request_region
(
acpi_gbl_FADT
->
xgpe0_blk
.
address
,
acpi_gbl_FADT
->
gpe0_blk_len
,
"GPE0_BLK"
);
if
(
!
(
acpi_gbl_FADT
->
gpe0_blk_len
&
0x1
))
acpi_request_region
(
&
acpi_gbl_FADT
->
xgpe0_blk
,
acpi_gbl_FADT
->
gpe0_blk_len
,
"ACPI GPE0_BLK"
);
if
(
acpi_gbl_FADT
->
xgpe1_blk
.
address
&&
acpi_gbl_FADT
->
gpe1_blk_len
&&
!
(
acpi_gbl_FADT
->
gpe1_blk_len
&
0x1
))
request_region
(
acpi_gbl_FADT
->
xgpe1_blk
.
address
,
acpi_gbl_FADT
->
gpe1_blk_len
,
"GPE1_BLK"
);
if
(
!
(
acpi_gbl_FADT
->
gpe1_blk_len
&
0x1
))
acpi_request_region
(
&
acpi_gbl_FADT
->
xgpe1_blk
,
acpi_gbl_FADT
->
gpe1_blk_len
,
"ACPI GPE1_BLK"
);
}
static
int
__init
acpi_motherboard_init
(
void
)
{
acpi_bus_register_driver
(
&
acpi_motherboard_driver1
);
acpi_bus_register_driver
(
&
acpi_motherboard_driver2
);
/*
/*
* Guarantee motherboard IO reservation first
* This module must run after scan.c
*/
...
...
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