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
4c8aded7
Commit
4c8aded7
authored
Oct 21, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://kernel.bkbits.net/jgarzik/libata-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents
f5b8a851
892e9689
Changes
22
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
598 additions
and
177 deletions
+598
-177
arch/i386/Kconfig
arch/i386/Kconfig
+4
-0
arch/ppc/kernel/irq.c
arch/ppc/kernel/irq.c
+5
-0
arch/ppc64/boot/main.c
arch/ppc64/boot/main.c
+1
-1
arch/ppc64/kernel/prom_init.c
arch/ppc64/kernel/prom_init.c
+1
-1
arch/ppc64/mm/init.c
arch/ppc64/mm/init.c
+1
-1
arch/x86_64/Kconfig
arch/x86_64/Kconfig
+4
-0
drivers/macintosh/therm_pm72.c
drivers/macintosh/therm_pm72.c
+475
-105
drivers/macintosh/therm_pm72.h
drivers/macintosh/therm_pm72.h
+39
-11
drivers/scsi/aic7xxx_old.c
drivers/scsi/aic7xxx_old.c
+6
-11
drivers/scsi/initio.c
drivers/scsi/initio.c
+5
-5
drivers/scsi/qlogicisp.c
drivers/scsi/qlogicisp.c
+8
-9
drivers/video/aty/aty128fb.c
drivers/video/aty/aty128fb.c
+12
-12
drivers/video/aty/atyfb.h
drivers/video/aty/atyfb.h
+3
-3
drivers/video/aty/atyfb_base.c
drivers/video/aty/atyfb_base.c
+6
-8
drivers/video/aty/mach64_cursor.c
drivers/video/aty/mach64_cursor.c
+5
-4
include/asm-i386/thread_info.h
include/asm-i386/thread_info.h
+1
-1
include/asm-ppc/thread_info.h
include/asm-ppc/thread_info.h
+1
-1
include/asm-ppc64/thread_info.h
include/asm-ppc64/thread_info.h
+1
-1
include/asm-x86_64/thread_info.h
include/asm-x86_64/thread_info.h
+1
-1
include/linux/hardirq.h
include/linux/hardirq.h
+1
-1
include/linux/interrupt.h
include/linux/interrupt.h
+16
-0
kernel/irq/Makefile
kernel/irq/Makefile
+2
-1
No files found.
arch/i386/Kconfig
View file @
4c8aded7
...
...
@@ -1207,6 +1207,10 @@ config GENERIC_HARDIRQS
bool
default y
config GENERIC_IRQ_PROBE
bool
default y
config X86_SMP
bool
depends on SMP && !X86_VOYAGER
...
...
arch/ppc/kernel/irq.c
View file @
4c8aded7
...
...
@@ -71,6 +71,11 @@ unsigned long ppc_cached_irq_mask[NR_MASK_WORDS];
unsigned
long
ppc_lost_interrupts
[
NR_MASK_WORDS
];
atomic_t
ppc_n_lost_interrupts
;
#ifdef CONFIG_TAU_INT
extern
int
tau_initialized
;
extern
int
tau_interrupts
(
int
);
#endif
int
show_interrupts
(
struct
seq_file
*
p
,
void
*
v
)
{
int
i
=
*
(
loff_t
*
)
v
,
j
;
...
...
arch/ppc64/boot/main.c
View file @
4c8aded7
...
...
@@ -166,7 +166,7 @@ void start(unsigned long a1, unsigned long a2, void *promptr)
gunzip
((
void
*
)
vmlinux
.
addr
,
vmlinux
.
size
,
(
unsigned
char
*
)
vmlinuz
.
addr
,
&
len
);
printf
(
"done 0x%lx bytes
\n\r
"
,
len
);
printf
(
"0x%x bytes of heap consumed, max in use 0x%
\n\r
"
,
printf
(
"0x%x bytes of heap consumed, max in use 0x%
x
\n\r
"
,
(
unsigned
)(
avail_high
-
begin_avail
),
heap_max
);
}
else
{
memmove
((
void
*
)
vmlinux
.
addr
,(
void
*
)
vmlinuz
.
addr
,
vmlinuz
.
size
);
...
...
arch/ppc64/kernel/prom_init.c
View file @
4c8aded7
...
...
@@ -675,7 +675,7 @@ static void __init prom_init_mem(void)
if
(
RELOC
(
of_platform
)
==
PLATFORM_PSERIES_LPAR
)
RELOC
(
alloc_top
)
=
RELOC
(
rmo_top
);
else
RELOC
(
alloc_top
)
=
min
(
0x40000000ul
,
RELOC
(
ram_top
));
RELOC
(
alloc_top
)
=
RELOC
(
rmo_top
)
=
min
(
0x40000000ul
,
RELOC
(
ram_top
));
RELOC
(
alloc_bottom
)
=
PAGE_ALIGN
(
RELOC
(
klimit
)
-
offset
+
0x4000
);
RELOC
(
alloc_top_high
)
=
RELOC
(
ram_top
);
...
...
arch/ppc64/mm/init.c
View file @
4c8aded7
...
...
@@ -265,7 +265,7 @@ int __ioremap_explicit(unsigned long pa, unsigned long ea,
}
else
{
area
=
im_get_area
(
ea
,
size
,
IM_REGION_UNUSED
|
IM_REGION_SUBSET
);
if
(
area
==
NULL
)
{
printk
(
KERN_ERR
"could not obtain imalloc area for ea 0x%lx
\n
"
,
ea
);
/* Expected when PHB-dlpar is in play */
return
1
;
}
if
(
ea
!=
(
unsigned
long
)
area
->
addr
)
{
...
...
arch/x86_64/Kconfig
View file @
4c8aded7
...
...
@@ -346,6 +346,10 @@ config GENERIC_HARDIRQS
bool
default y
config GENERIC_IRQ_PROBE
bool
default y
menu "Power management options"
source kernel/power/Kconfig
...
...
drivers/macintosh/therm_pm72.c
View file @
4c8aded7
This diff is collapsed.
Click to expand it.
drivers/macintosh/therm_pm72.h
View file @
4c8aded7
...
...
@@ -119,18 +119,33 @@ static char * critical_overtemp_path = "/sbin/critical_overtemp";
#define ADC_CPU_CURRENT_SCALE 0x1f40
/* _AD4 */
/*
* PID factors for the U3/Backside fan control loop
* PID factors for the U3/Backside fan control loop. We have 2 sets
* of values here, one set for U3 and one set for U3H
*/
#define BACKSIDE_FAN_PWM_ID 1
#define BACKSIDE_PID_G_d 0x02800000
#define BACKSIDE_FAN_PWM_DEFAULT_ID 1
#define BACKSIDE_FAN_PWM_INDEX 0
#define BACKSIDE_PID_U3_G_d 0x02800000
#define BACKSIDE_PID_U3H_G_d 0x01400000
#define BACKSIDE_PID_G_p 0x00500000
#define BACKSIDE_PID_G_r 0x00000000
#define BACKSIDE_PID_INPUT_TARGET 0x00410000
#define BACKSIDE_PID_U3_INPUT_TARGET 0x00410000
#define BACKSIDE_PID_U3H_INPUT_TARGET 0x004b0000
#define BACKSIDE_PID_INTERVAL 5
#define BACKSIDE_PID_OUTPUT_MAX 100
#define BACKSIDE_PID_OUTPUT_MIN 20
#define BACKSIDE_PID_U3_OUTPUT_MIN 20
#define BACKSIDE_PID_U3H_OUTPUT_MIN 30
#define BACKSIDE_PID_HISTORY_SIZE 2
struct
basckside_pid_params
{
s32
G_d
;
s32
G_p
;
s32
G_r
;
s32
input_target
;
s32
output_min
;
s32
output_max
;
};
struct
backside_pid_state
{
int
ticks
;
...
...
@@ -146,7 +161,8 @@ struct backside_pid_state
/*
* PID factors for the Drive Bay fan control loop
*/
#define DRIVES_FAN_RPM_ID 2
#define DRIVES_FAN_RPM_DEFAULT_ID 2
#define DRIVES_FAN_RPM_INDEX 1
#define DRIVES_PID_G_d 0x01e00000
#define DRIVES_PID_G_p 0x00500000
#define DRIVES_PID_G_r 0x00000000
...
...
@@ -168,7 +184,8 @@ struct drives_pid_state
int
first
;
};
#define SLOTS_FAN_PWM_ID 2
#define SLOTS_FAN_PWM_DEFAULT_ID 2
#define SLOTS_FAN_PWM_INDEX 2
#define SLOTS_FAN_DEFAULT_PWM 50
/* Do better here ! */
/*
...
...
@@ -191,10 +208,15 @@ struct drives_pid_state
* CPU B FAKE POWER 49 (I_V_inputs: 18, 19)
*/
#define CPUA_INTAKE_FAN_RPM_ID 3
#define CPUA_EXHAUST_FAN_RPM_ID 4
#define CPUB_INTAKE_FAN_RPM_ID 5
#define CPUB_EXHAUST_FAN_RPM_ID 6
#define CPUA_INTAKE_FAN_RPM_DEFAULT_ID 3
#define CPUA_EXHAUST_FAN_RPM_DEFAULT_ID 4
#define CPUB_INTAKE_FAN_RPM_DEFAULT_ID 5
#define CPUB_EXHAUST_FAN_RPM_DEFAULT_ID 6
#define CPUA_INTAKE_FAN_RPM_INDEX 3
#define CPUA_EXHAUST_FAN_RPM_INDEX 4
#define CPUB_INTAKE_FAN_RPM_INDEX 5
#define CPUB_EXHAUST_FAN_RPM_INDEX 6
#define CPU_INTAKE_SCALE 0x0000f852
#define CPU_TEMP_HISTORY_SIZE 2
...
...
@@ -202,6 +224,11 @@ struct drives_pid_state
#define CPU_PID_INTERVAL 1
#define CPU_MAX_OVERTEMP 30
#define CPUA_PUMP_RPM_INDEX 7
#define CPUB_PUMP_RPM_INDEX 8
#define CPU_PUMP_OUTPUT_MAX 3700
#define CPU_PUMP_OUTPUT_MIN 1000
struct
cpu_pid_state
{
int
index
;
...
...
@@ -219,6 +246,7 @@ struct cpu_pid_state
s32
voltage
;
s32
current_a
;
s32
last_temp
;
s32
last_power
;
int
first
;
u8
adc_config
;
};
...
...
drivers/scsi/aic7xxx_old.c
View file @
4c8aded7
...
...
@@ -924,7 +924,7 @@ struct aic7xxx_host {
volatile
long
flags
;
ahc_feature
features
;
/* chip features */
unsigned
long
base
;
/* card base address */
volatile
unsigned
char
*
maddr
;
/* memory mapped address */
volatile
unsigned
char
__iomem
*
maddr
;
/* memory mapped address */
unsigned
long
isr_count
;
/* Interrupt count */
unsigned
long
spurious_int
;
scb_data_type
*
scb_data
;
...
...
@@ -7967,8 +7967,8 @@ aic7xxx_register(Scsi_Host_Template *template, struct aic7xxx_host *p,
printk
(
KERN_INFO
"(scsi%d) BIOS %sabled, IO Port 0x%lx, IRQ %d
\n
"
,
p
->
host_no
,
(
p
->
flags
&
AHC_BIOS_ENABLED
)
?
"en"
:
"dis"
,
p
->
base
,
p
->
irq
);
printk
(
KERN_INFO
"(scsi%d) IO Memory at 0x%lx, MMAP Memory at
0x%lx
\n
"
,
p
->
host_no
,
p
->
mbase
,
(
unsigned
long
)
p
->
maddr
);
printk
(
KERN_INFO
"(scsi%d) IO Memory at 0x%lx, MMAP Memory at
%p
\n
"
,
p
->
host_no
,
p
->
mbase
,
p
->
maddr
);
}
#ifdef CONFIG_PCI
...
...
@@ -9311,14 +9311,9 @@ aic7xxx_detect(Scsi_Host_Template *template)
((
temp_p
->
chip
!=
(
AHC_AIC7870
|
AHC_PCI
))
&&
(
temp_p
->
chip
!=
(
AHC_AIC7880
|
AHC_PCI
)))
)
{
unsigned
long
page_offset
,
base
;
base
=
temp_p
->
mbase
&
PAGE_MASK
;
page_offset
=
temp_p
->
mbase
-
base
;
temp_p
->
maddr
=
ioremap_nocache
(
base
,
page_offset
+
256
);
temp_p
->
maddr
=
ioremap_nocache
(
temp_p
->
mbase
,
256
);
if
(
temp_p
->
maddr
)
{
temp_p
->
maddr
+=
page_offset
;
/*
* We need to check the I/O with the MMAPed address. Some machines
* simply fail to work with MMAPed I/O and certain controllers.
...
...
@@ -9335,7 +9330,7 @@ aic7xxx_detect(Scsi_Host_Template *template)
PCI_FUNC
(
temp_p
->
pci_device_fn
));
printk
(
KERN_INFO
"aic7xxx: MMAPed I/O failed, reverting to "
"Programmed I/O.
\n
"
);
iounmap
(
(
void
*
)
(((
unsigned
long
)
temp_p
->
maddr
)
&
PAGE_MASK
)
);
iounmap
(
temp_p
->
maddr
);
temp_p
->
maddr
=
NULL
;
if
(
temp_p
->
base
==
0
)
{
...
...
@@ -10965,7 +10960,7 @@ aic7xxx_release(struct Scsi_Host *host)
#ifdef MMAPIO
if
(
p
->
maddr
)
{
iounmap
(
(
void
*
)
(((
unsigned
long
)
p
->
maddr
)
&
PAGE_MASK
)
);
iounmap
(
p
->
maddr
);
}
#endif
/* MMAPIO */
if
(
!
p
->
pdev
)
...
...
drivers/scsi/initio.c
View file @
4c8aded7
...
...
@@ -316,7 +316,7 @@ static void tul_do_pause(unsigned amount)
/*******************************************************************
Use memeory refresh time ~ 15us * 2
********************************************************************/
void
tul_se2_wait
()
void
tul_se2_wait
(
void
)
{
#if 1
udelay
(
30
);
...
...
@@ -815,7 +815,7 @@ void tul_release_scb(HCS * hcsp, SCB * scbp)
printk
(
"Release SCB %lx; "
,
(
ULONG
)
scbp
);
#endif
spin_lock_irqsave
(
&
(
hcsp
->
HCS_AvailLock
),
flags
);
scbp
->
SCB_Srb
=
0
;
scbp
->
SCB_Srb
=
NULL
;
scbp
->
SCB_Status
=
0
;
scbp
->
SCB_NxtScb
=
NULL
;
if
(
hcsp
->
HCS_LastAvail
!=
NULL
)
{
...
...
@@ -1231,7 +1231,7 @@ int tul_device_reset(HCS * pCurHcb, struct scsi_cmnd *pSrb,
pScb
->
SCB_Target
=
target
;
pScb
->
SCB_Mode
=
0
;
pScb
->
SCB_Srb
=
0
;
pScb
->
SCB_Srb
=
NULL
;
if
(
ResetFlags
&
SCSI_RESET_SYNCHRONOUS
)
{
pScb
->
SCB_Srb
=
pSrb
;
}
...
...
@@ -2535,8 +2535,8 @@ int tul_post_scsi_rst(HCS * pCurHcb)
TCS
*
pCurTcb
;
int
i
;
pCurHcb
->
HCS_ActScb
=
0
;
pCurHcb
->
HCS_ActTcs
=
0
;
pCurHcb
->
HCS_ActScb
=
NULL
;
pCurHcb
->
HCS_ActTcs
=
NULL
;
pCurHcb
->
HCS_Flags
=
0
;
while
((
pCurScb
=
tul_pop_busy_scb
(
pCurHcb
))
!=
NULL
)
{
...
...
drivers/scsi/qlogicisp.c
View file @
4c8aded7
...
...
@@ -564,7 +564,7 @@ struct isp_queue_entry {
};
struct
isp1020_hostdata
{
u_long
memaddr
;
void
__iomem
*
memaddr
;
u_char
revision
;
struct
host_param
host_param
;
struct
dev_param
dev_param
[
MAX_TARGETS
];
...
...
@@ -714,7 +714,7 @@ int isp1020_detect(Scsi_Host_Template *tmpt)
continue
;
fail_uninit:
iounmap
(
(
void
*
)
hostdata
->
memaddr
);
iounmap
(
hostdata
->
memaddr
);
release_region
(
host
->
io_port
,
0xff
);
fail_and_unregister:
if
(
hostdata
->
res_cpu
)
...
...
@@ -747,7 +747,7 @@ int isp1020_release(struct Scsi_Host *host)
isp_outw
(
0x0
,
host
,
PCI_INTF_CTL
);
free_irq
(
host
->
irq
,
host
);
iounmap
(
(
void
*
)
hostdata
->
memaddr
);
iounmap
(
hostdata
->
memaddr
);
release_region
(
host
->
io_port
,
0xff
);
...
...
@@ -769,7 +769,7 @@ const char *isp1020_info(struct Scsi_Host *host)
"QLogic ISP1020 SCSI on PCI bus %02x device %02x irq %d %s base 0x%lx"
,
hostdata
->
pci_dev
->
bus
->
number
,
hostdata
->
pci_dev
->
devfn
,
host
->
irq
,
(
hostdata
->
memaddr
?
"MEM"
:
"I/O"
),
(
hostdata
->
memaddr
?
hostdata
->
memaddr
:
host
->
io_port
));
(
hostdata
->
memaddr
?
(
unsigned
long
)
hostdata
->
memaddr
:
host
->
io_port
));
LEAVE
(
"isp1020_info"
);
...
...
@@ -1410,18 +1410,17 @@ static int isp1020_init(struct Scsi_Host *sh)
if
((
command
&
PCI_COMMAND_MEMORY
)
&&
((
mem_flags
&
1
)
==
0
))
{
mem_base
=
(
u_long
)
ioremap
(
mem_base
,
PAGE_SIZE
);
if
(
!
mem_base
)
{
hostdata
->
memaddr
=
ioremap
(
mem_base
,
PAGE_SIZE
);
if
(
!
hostdata
->
memaddr
)
{
printk
(
"qlogicisp : i/o remapping failed.
\n
"
);
goto
out_release
;
}
hostdata
->
memaddr
=
mem_base
;
}
else
{
if
(
command
&
PCI_COMMAND_IO
&&
(
io_flags
&
3
)
!=
1
)
{
printk
(
"qlogicisp : i/o mapping is disabled
\n
"
);
goto
out_release
;
}
hostdata
->
memaddr
=
0
;
/* zero to signify no i/o mapping */
hostdata
->
memaddr
=
NULL
;
/* zero to signify no i/o mapping */
mem_base
=
0
;
}
...
...
@@ -1470,7 +1469,7 @@ static int isp1020_init(struct Scsi_Host *sh)
return
0
;
out_unmap:
iounmap
(
(
void
*
)
hostdata
->
memaddr
);
iounmap
(
hostdata
->
memaddr
);
out_release:
release_region
(
sh
->
io_port
,
0xff
);
return
1
;
...
...
drivers/video/aty/aty128fb.c
View file @
4c8aded7
...
...
@@ -397,7 +397,7 @@ struct aty128fb_par {
struct
aty128_ddafifo
fifo_reg
;
u32
accel_flags
;
struct
aty128_constants
constants
;
/* PLL and others */
void
*
regbase
;
/* remapped mmio */
void
__iomem
*
regbase
;
/* remapped mmio */
u32
vram_size
;
/* onboard video ram */
int
chip_gen
;
const
struct
aty128_meminfo
*
mem
;
/* onboard mem info */
...
...
@@ -450,9 +450,9 @@ static int aty128_decode_var(struct fb_var_screeninfo *var,
struct
aty128fb_par
*
par
);
#if 0
static void __init aty128_get_pllinfo(struct aty128fb_par *par,
void *bios);
static void __init *aty128_map_ROM(struct pci_dev *pdev, const struct aty128fb_par *par);
static void __init aty128_unmap_ROM(struct pci_dev *dev, void * rom);
void
__iomem
*bios);
static void __init
__iomem
*aty128_map_ROM(struct pci_dev *pdev, const struct aty128fb_par *par);
static void __init aty128_unmap_ROM(struct pci_dev *dev, void
__iomem
* rom);
#endif
static
void
aty128_timings
(
struct
aty128fb_par
*
par
);
static
void
aty128_init_engine
(
struct
aty128fb_par
*
par
);
...
...
@@ -788,7 +788,7 @@ static u32 depth_to_dst(u32 depth)
#ifndef __sparc__
static
void
__init
aty128_unmap_ROM
(
struct
pci_dev
*
dev
,
void
*
rom
)
static
void
__init
aty128_unmap_ROM
(
struct
pci_dev
*
dev
,
void
__iomem
*
rom
)
{
struct
resource
*
r
=
&
dev
->
resource
[
PCI_ROM_RESOURCE
];
...
...
@@ -806,12 +806,12 @@ static void __init aty128_unmap_ROM(struct pci_dev *dev, void * rom)
}
static
void
*
__init
aty128_map_ROM
(
const
struct
aty128fb_par
*
par
,
struct
pci_dev
*
dev
)
static
void
__iomem
*
__init
aty128_map_ROM
(
const
struct
aty128fb_par
*
par
,
struct
pci_dev
*
dev
)
{
struct
resource
*
r
;
u16
dptr
;
u8
rom_type
;
void
*
bios
;
void
__iomem
*
bios
;
/* Fix from ATI for problem with Rage128 hardware not leaving ROM enabled */
unsigned
int
temp
;
...
...
@@ -903,7 +903,7 @@ static void * __init aty128_map_ROM(const struct aty128fb_par *par, struct pci_d
return
NULL
;
}
static
void
__init
aty128_get_pllinfo
(
struct
aty128fb_par
*
par
,
unsigned
char
*
bios
)
static
void
__init
aty128_get_pllinfo
(
struct
aty128fb_par
*
par
,
unsigned
char
__iomem
*
bios
)
{
unsigned
int
bios_hdr
;
unsigned
int
bios_pll
;
...
...
@@ -925,7 +925,7 @@ static void __init aty128_get_pllinfo(struct aty128fb_par *par, unsigned char *b
}
#ifdef CONFIG_X86
static
void
*
__devinit
aty128_find_mem_vbios
(
struct
aty128fb_par
*
par
)
static
void
__iomem
*
__devinit
aty128_find_mem_vbios
(
struct
aty128fb_par
*
par
)
{
/* I simplified this code as we used to miss the signatures in
* a lot of case. It's now closer to XFree, we just don't check
...
...
@@ -933,10 +933,10 @@ static void * __devinit aty128_find_mem_vbios(struct aty128fb_par *par)
* if we end up having conflicts
*/
u32
segstart
;
unsigned
char
*
rom_base
=
NULL
;
unsigned
char
__iomem
*
rom_base
=
NULL
;
for
(
segstart
=
0x000c0000
;
segstart
<
0x000f0000
;
segstart
+=
0x00001000
)
{
rom_base
=
(
char
*
)
ioremap
(
segstart
,
0x10000
);
rom_base
=
ioremap
(
segstart
,
0x10000
);
if
(
rom_base
==
NULL
)
return
NULL
;
if
((
*
rom_base
==
0x55
)
&&
(((
*
(
rom_base
+
1
))
&
0xff
)
==
0xaa
))
...
...
@@ -1885,7 +1885,7 @@ static int __init aty128_probe(struct pci_dev *pdev, const struct pci_device_id
struct
fb_info
*
info
;
int
err
;
#ifndef __sparc__
void
*
bios
=
NULL
;
void
__iomem
*
bios
=
NULL
;
#endif
/* Enable device in PCI config */
...
...
drivers/video/aty/atyfb.h
View file @
4c8aded7
...
...
@@ -59,15 +59,15 @@ union aty_pll {
struct
aty_cursor
{
u8
bits
[
8
][
64
];
u8
mask
[
8
][
64
];
u8
*
ram
;
u8
__iomem
*
ram
;
};
struct
atyfb_par
{
struct
aty_cmap_regs
*
aty_cmap_regs
;
struct
aty_cmap_regs
__iomem
*
aty_cmap_regs
;
const
struct
aty_dac_ops
*
dac_ops
;
const
struct
aty_pll_ops
*
pll_ops
;
struct
aty_cursor
*
cursor
;
unsigned
long
ati_regbase
;
void
__iomem
*
ati_regbase
;
unsigned
long
clk_wr_offset
;
struct
crtc
crtc
;
union
aty_pll
pll
;
...
...
drivers/video/aty/atyfb_base.c
View file @
4c8aded7
...
...
@@ -1514,7 +1514,7 @@ static int __init aty_init(struct fb_info *info, const char *name)
u8
pll_ref_div
;
par
->
aty_cmap_regs
=
(
struct
aty_cmap_regs
*
)
(
par
->
ati_regbase
+
0xc0
);
(
struct
aty_cmap_regs
__iomem
*
)
(
par
->
ati_regbase
+
0xc0
);
chip_id
=
aty_ld_le32
(
CONFIG_CHIP_ID
,
par
);
type
=
chip_id
&
CFG_CHIP_TYPE
;
rev
=
(
chip_id
&
CFG_CHIP_REV
)
>>
24
;
...
...
@@ -1782,8 +1782,7 @@ static int __init aty_init(struct fb_info *info, const char *name)
info
->
fix
.
smem_len
-=
GUI_RESERVE
;
/* Clear the video memory */
fb_memset
((
void
*
)
info
->
screen_base
,
0
,
info
->
fix
.
smem_len
);
fb_memset
(
info
->
screen_base
,
0
,
info
->
fix
.
smem_len
);
info
->
fbops
=
&
atyfb_ops
;
info
->
pseudo_palette
=
pseudo_palette
;
...
...
@@ -2216,7 +2215,7 @@ int __init atyfb_do_init(void)
#else
/* __sparc__ */
info
->
fix
.
mmio_start
=
0x7ff000
+
addr
;
default_par
->
ati_regbase
=
(
unsigned
long
)
default_par
->
ati_regbase
=
ioremap
(
info
->
fix
.
mmio_start
,
0x1000
);
if
(
!
default_par
->
ati_regbase
)
{
...
...
@@ -2249,8 +2248,7 @@ int __init atyfb_do_init(void)
/* Map in frame buffer */
info
->
fix
.
smem_start
=
addr
;
info
->
screen_base
=
(
char
*
)
ioremap
(
addr
,
0x800000
);
info
->
screen_base
=
ioremap
(
addr
,
0x800000
);
if
(
!
info
->
screen_base
)
{
#ifdef __sparc__
...
...
@@ -2616,9 +2614,9 @@ void cleanup_module(void)
#ifndef __sparc__
if
(
par
->
ati_regbase
)
iounmap
(
(
void
*
)
par
->
ati_regbase
);
iounmap
(
par
->
ati_regbase
);
if
(
info
->
screen_base
)
iounmap
(
(
void
*
)
info
->
screen_base
);
iounmap
(
info
->
screen_base
);
#ifdef __BIG_ENDIAN
if
(
par
->
cursor
&&
par
->
cursor
->
ram
)
iounmap
(
par
->
cursor
->
ram
);
...
...
drivers/video/aty/mach64_cursor.c
View file @
4c8aded7
...
...
@@ -73,7 +73,8 @@ void aty_set_cursor_shape(struct fb_info *info)
struct
atyfb_par
*
par
=
(
struct
atyfb_par
*
)
info
->
par
;
struct
fb_cursor
*
cursor
=
&
info
->
cursor
;
struct
aty_cursor
*
c
=
par
->
cursor
;
u8
*
ram
,
m
,
b
;
u8
m
,
b
;
u8
__iomem
*
ram
;
int
x
,
y
;
if
(
!
c
)
...
...
@@ -178,7 +179,7 @@ int atyfb_cursor(struct fb_info *info, struct fb_cursor *cursor)
struct
aty_cursor
*
__init
aty_init_cursor
(
struct
fb_info
*
info
)
{
struct
aty_cursor
*
cursor
;
unsigned
long
addr
;
void
__iomem
*
addr
;
cursor
=
kmalloc
(
sizeof
(
struct
aty_cursor
),
GFP_ATOMIC
);
if
(
!
cursor
)
...
...
@@ -195,8 +196,8 @@ struct aty_cursor *__init aty_init_cursor(struct fb_info *info)
addr
=
info
->
fix
.
smem_start
-
0x800000
+
info
->
fix
.
smem_len
;
cursor
->
ram
=
(
u8
*
)
ioremap
(
addr
,
1024
);
#else
addr
=
(
unsigned
long
)
info
->
screen_base
+
info
->
fix
.
smem_len
;
cursor
->
ram
=
(
u8
*
)
addr
;
addr
=
info
->
screen_base
+
info
->
fix
.
smem_len
;
cursor
->
ram
=
addr
;
#endif
#endif
if
(
!
cursor
->
ram
)
{
...
...
include/asm-i386/thread_info.h
View file @
4c8aded7
...
...
@@ -51,7 +51,7 @@ struct thread_info {
#endif
#define PREEMPT_ACTIVE 0x
4
000000
#define PREEMPT_ACTIVE 0x
10
000000
#ifdef CONFIG_4KSTACKS
#define THREAD_SIZE (4096)
#else
...
...
include/asm-ppc/thread_info.h
View file @
4c8aded7
...
...
@@ -65,7 +65,7 @@ static inline struct thread_info *current_thread_info(void)
*/
#define THREAD_SIZE 8192
/* 2 pages */
#define PREEMPT_ACTIVE 0x
4
000000
#define PREEMPT_ACTIVE 0x
10
000000
/*
* thread information flag bit numbers
...
...
include/asm-ppc64/thread_info.h
View file @
4c8aded7
...
...
@@ -82,7 +82,7 @@ static inline struct thread_info *current_thread_info(void)
#endif
/* __ASSEMBLY__ */
#define PREEMPT_ACTIVE 0x
4
000000
#define PREEMPT_ACTIVE 0x
10
000000
/*
* thread information flag bit numbers
...
...
include/asm-x86_64/thread_info.h
View file @
4c8aded7
...
...
@@ -125,7 +125,7 @@ static inline struct thread_info *stack_thread_info(void)
/* work to do on any return to user space */
#define _TIF_ALLWORK_MASK 0x0000FFFF
#define PREEMPT_ACTIVE 0x
4
000000
#define PREEMPT_ACTIVE 0x
10
000000
/*
* Thread-synchronous status.
...
...
include/linux/hardirq.h
View file @
4c8aded7
...
...
@@ -14,7 +14,7 @@
* - bits 8-15 are the softirq count (max # of softirqs: 256)
* - bits 16-27 are the hardirq count (max # of hardirqs: 4096)
*
* - ( bit 2
6
is the PREEMPT_ACTIVE flag. )
* - ( bit 2
8
is the PREEMPT_ACTIVE flag. )
*
* PREEMPT_MASK: 0x000000ff
* SOFTIRQ_MASK: 0x0000ff00
...
...
include/linux/interrupt.h
View file @
4c8aded7
...
...
@@ -252,8 +252,24 @@ extern void tasklet_init(struct tasklet_struct *t,
* or zero if none occurred, or a negative irq number
* if more than one irq occurred.
*/
#if defined(CONFIG_GENERIC_HARDIRQS) && !defined(CONFIG_GENERIC_IRQ_PROBE)
static
inline
unsigned
long
probe_irq_on
(
void
)
{
return
0
;
}
static
inline
int
probe_irq_off
(
unsigned
long
val
)
{
return
0
;
}
static
inline
unsigned
int
probe_irq_mask
(
unsigned
long
val
)
{
return
0
;
}
#else
extern
unsigned
long
probe_irq_on
(
void
);
/* returns 0 on failure */
extern
int
probe_irq_off
(
unsigned
long
);
/* returns 0 or negative on failure */
extern
unsigned
int
probe_irq_mask
(
unsigned
long
);
/* returns mask of ISA interrupts */
#endif
#endif
kernel/irq/Makefile
View file @
4c8aded7
obj-y
:=
autoprobe.o handle.o manage.o spurious.o
obj-y
:=
handle.o manage.o spurious.o
obj-$(CONFIG_GENERIC_IRQ_PROBE)
+=
autoprobe.o
obj-$(CONFIG_PROC_FS)
+=
proc.o
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