Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
xcap
xcap-capability-linux
Commits
45424376
Commit
45424376
authored
Oct 28, 2005
by
Paul Mackerras
Browse files
Merge in v2.6.14 by hand
parents
2227718c
741b2252
Changes
47
Expand all
Hide whitespace changes
Inline
Side-by-side
Documentation/kernel-parameters.txt
View file @
45424376
This diff is collapsed.
Click to expand it.
Makefile
View file @
45424376
VERSION
=
2
PATCHLEVEL
=
6
SUBLEVEL
=
14
EXTRAVERSION
=
-rc5
EXTRAVERSION
=
NAME
=
Affluent Albatross
# *DOCUMENTATION*
...
...
arch/arm/mach-pxa/corgi_lcd.c
View file @
45424376
...
...
@@ -488,6 +488,7 @@ static int is_pxafb_device(struct device * dev, void * data)
unsigned
long
spitz_get_hsync_len
(
void
)
{
#ifdef CONFIG_FB_PXA
if
(
!
spitz_pxafb_dev
)
{
spitz_pxafb_dev
=
bus_find_device
(
&
platform_bus_type
,
NULL
,
NULL
,
is_pxafb_device
);
if
(
!
spitz_pxafb_dev
)
...
...
@@ -496,6 +497,7 @@ unsigned long spitz_get_hsync_len(void)
if
(
!
get_hsync_time
)
get_hsync_time
=
symbol_get
(
pxafb_get_hsync_time
);
if
(
!
get_hsync_time
)
#endif
return
0
;
return
pxafb_get_hsync_time
(
spitz_pxafb_dev
);
...
...
arch/um/include/sysdep-i386/thread.h
View file @
45424376
...
...
@@ -4,7 +4,7 @@
#include
<kern_constants.h>
#define TASK_DEBUGREGS(task) ((unsigned long *) &(((char *) (task))[HOST_TASK_DEBUGREGS]))
#ifdef CONFIG_MODE_TT
#ifdef
UML_
CONFIG_MODE_TT
#define TASK_EXTERN_PID(task) *((int *) &(((char *) (task))[HOST_TASK_EXTERN_PID]))
#endif
...
...
arch/um/include/sysdep-x86_64/thread.h
View file @
45424376
...
...
@@ -3,7 +3,7 @@
#include
<kern_constants.h>
#ifdef CONFIG_MODE_TT
#ifdef
UML_
CONFIG_MODE_TT
#define TASK_EXTERN_PID(task) *((int *) &(((char *) (task))[HOST_TASK_EXTERN_PID]))
#endif
...
...
drivers/char/drm/radeon_cp.c
View file @
45424376
...
...
@@ -1133,10 +1133,10 @@ static void radeon_cp_init_ring_buffer( drm_device_t *dev,
ring_start
=
(
dev_priv
->
cp_ring
->
offset
-
dev
->
agp
->
base
+
dev_priv
->
gart_vm_start
);
}
else
}
else
#endif
ring_start
=
(
dev_priv
->
cp_ring
->
offset
-
dev
->
sg
->
handle
-
(
unsigned
long
)
dev
->
sg
->
virtual
+
dev_priv
->
gart_vm_start
);
RADEON_WRITE
(
RADEON_CP_RB_BASE
,
ring_start
);
...
...
@@ -1164,7 +1164,8 @@ static void radeon_cp_init_ring_buffer( drm_device_t *dev,
drm_sg_mem_t
*
entry
=
dev
->
sg
;
unsigned
long
tmp_ofs
,
page_ofs
;
tmp_ofs
=
dev_priv
->
ring_rptr
->
offset
-
dev
->
sg
->
handle
;
tmp_ofs
=
dev_priv
->
ring_rptr
->
offset
-
(
unsigned
long
)
dev
->
sg
->
virtual
;
page_ofs
=
tmp_ofs
>>
PAGE_SHIFT
;
RADEON_WRITE
(
RADEON_CP_RB_RPTR_ADDR
,
...
...
@@ -1491,8 +1492,8 @@ static int radeon_do_init_cp( drm_device_t *dev, drm_radeon_init_t *init )
else
#endif
dev_priv
->
gart_buffers_offset
=
(
dev
->
agp_buffer_map
->
offset
-
dev
->
sg
->
handle
+
dev_priv
->
gart_vm_start
);
-
(
unsigned
long
)
dev
->
sg
->
virtual
+
dev_priv
->
gart_vm_start
);
DRM_DEBUG
(
"dev_priv->gart_size %d
\n
"
,
dev_priv
->
gart_size
);
...
...
drivers/cpufreq/cpufreq_conservative.c
View file @
45424376
...
...
@@ -315,9 +315,9 @@ static void dbs_check_cpu(int cpu)
policy
=
this_dbs_info
->
cur_policy
;
if
(
init_flag
==
0
)
{
for
(
/* NULL */
;
init_flag
<
NR_CPUS
;
init_flag
++
)
{
dbs_info
=
&
per_cpu
(
cpu_dbs_info
,
init_flag
);
requested_freq
[
cpu
]
=
dbs_info
->
cur_policy
->
cur
;
for
_each_online_cpu
(
j
)
{
dbs_info
=
&
per_cpu
(
cpu_dbs_info
,
j
);
requested_freq
[
j
]
=
dbs_info
->
cur_policy
->
cur
;
}
init_flag
=
1
;
}
...
...
drivers/infiniband/hw/mthca/mthca_eq.c
View file @
45424376
...
...
@@ -396,20 +396,21 @@ static irqreturn_t mthca_tavor_interrupt(int irq, void *dev_ptr, struct pt_regs
writel
(
dev
->
eq_table
.
clr_mask
,
dev
->
eq_table
.
clr_int
);
ecr
=
readl
(
dev
->
eq_regs
.
tavor
.
ecr_base
+
4
);
if
(
ecr
)
{
writel
(
ecr
,
dev
->
eq_regs
.
tavor
.
ecr_base
+
MTHCA_ECR_CLR_BASE
-
MTHCA_ECR_BASE
+
4
);
if
(
!
ecr
)
return
IRQ_NONE
;
for
(
i
=
0
;
i
<
MTHCA_NUM_EQ
;
++
i
)
if
(
ecr
&
dev
->
eq_table
.
eq
[
i
].
eqn_mask
&&
mthca_eq_int
(
dev
,
&
dev
->
eq_table
.
eq
[
i
]))
{
writel
(
ecr
,
dev
->
eq_regs
.
tavor
.
ecr_base
+
MTHCA_ECR_CLR_BASE
-
MTHCA_ECR_BASE
+
4
);
for
(
i
=
0
;
i
<
MTHCA_NUM_EQ
;
++
i
)
if
(
ecr
&
dev
->
eq_table
.
eq
[
i
].
eqn_mask
)
{
if
(
mthca_eq_int
(
dev
,
&
dev
->
eq_table
.
eq
[
i
]))
tavor_set_eq_ci
(
dev
,
&
dev
->
eq_table
.
eq
[
i
],
dev
->
eq_table
.
eq
[
i
].
cons_index
);
tavor_eq_req_not
(
dev
,
dev
->
eq_table
.
eq
[
i
].
eqn
);
}
}
tavor_eq_req_not
(
dev
,
dev
->
eq_table
.
eq
[
i
].
eqn
);
}
return
IRQ_
RETVAL
(
ecr
)
;
return
IRQ_
HANDLED
;
}
static
irqreturn_t
mthca_tavor_msi_x_interrupt
(
int
irq
,
void
*
eq_ptr
,
...
...
drivers/md/md.c
View file @
45424376
...
...
@@ -3568,7 +3568,8 @@ static void md_do_sync(mddev_t *mddev)
mddev
->
curr_resync
=
2
;
try_again:
if
(
signal_pending
(
current
))
{
if
(
signal_pending
(
current
)
||
kthread_should_stop
())
{
flush_signals
(
current
);
set_bit
(
MD_RECOVERY_INTR
,
&
mddev
->
recovery
);
goto
skip
;
...
...
@@ -3590,8 +3591,9 @@ static void md_do_sync(mddev_t *mddev)
*/
continue
;
prepare_to_wait
(
&
resync_wait
,
&
wq
,
TASK_INTERRUPTIBLE
);
if
(
!
signal_pending
(
current
)
&&
mddev2
->
curr_resync
>=
mddev
->
curr_resync
)
{
if
(
!
signal_pending
(
current
)
&&
!
kthread_should_stop
()
&&
mddev2
->
curr_resync
>=
mddev
->
curr_resync
)
{
printk
(
KERN_INFO
"md: delaying resync of %s"
" until %s has finished resync (they"
" share one or more physical units)
\n
"
,
...
...
@@ -3697,7 +3699,7 @@ static void md_do_sync(mddev_t *mddev)
}
if
(
signal_pending
(
current
))
{
if
(
signal_pending
(
current
)
||
kthread_should_stop
()
)
{
/*
* got a signal, exit.
*/
...
...
drivers/media/video/Kconfig
View file @
45424376
...
...
@@ -262,7 +262,6 @@ config VIDEO_SAA7134_DVB
depends on VIDEO_SAA7134 && DVB_CORE
select VIDEO_BUF_DVB
select DVB_MT352
select DVB_CX22702
select DVB_TDA1004X
---help---
This adds support for DVB cards based on the
...
...
drivers/pci/quirks.c
View file @
45424376
...
...
@@ -241,7 +241,8 @@ static void __devinit quirk_s3_64M(struct pci_dev *dev)
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_S3
,
PCI_DEVICE_ID_S3_868
,
quirk_s3_64M
);
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_S3
,
PCI_DEVICE_ID_S3_968
,
quirk_s3_64M
);
static
void
__devinit
quirk_io_region
(
struct
pci_dev
*
dev
,
unsigned
region
,
unsigned
size
,
int
nr
)
static
void
__devinit
quirk_io_region
(
struct
pci_dev
*
dev
,
unsigned
region
,
unsigned
size
,
int
nr
,
const
char
*
name
)
{
region
&=
~
(
size
-
1
);
if
(
region
)
{
...
...
@@ -259,6 +260,7 @@ static void __devinit quirk_io_region(struct pci_dev *dev, unsigned region, unsi
pcibios_bus_to_resource
(
dev
,
res
,
&
bus_region
);
pci_claim_resource
(
dev
,
nr
);
printk
(
"PCI quirk: region %04x-%04x claimed by %s
\n
"
,
region
,
region
+
size
-
1
,
name
);
}
}
...
...
@@ -291,25 +293,98 @@ static void __devinit quirk_ali7101_acpi(struct pci_dev *dev)
u16
region
;
pci_read_config_word
(
dev
,
0xE0
,
&
region
);
quirk_io_region
(
dev
,
region
,
64
,
PCI_BRIDGE_RESOURCES
);
quirk_io_region
(
dev
,
region
,
64
,
PCI_BRIDGE_RESOURCES
,
"ali7101 ACPI"
);
pci_read_config_word
(
dev
,
0xE2
,
&
region
);
quirk_io_region
(
dev
,
region
,
32
,
PCI_BRIDGE_RESOURCES
+
1
);
quirk_io_region
(
dev
,
region
,
32
,
PCI_BRIDGE_RESOURCES
+
1
,
"ali7101 SMB"
);
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_AL
,
PCI_DEVICE_ID_AL_M7101
,
quirk_ali7101_acpi
);
static
void
piix4_io_quirk
(
struct
pci_dev
*
dev
,
const
char
*
name
,
unsigned
int
port
,
unsigned
int
enable
)
{
u32
devres
;
u32
mask
,
size
,
base
;
pci_read_config_dword
(
dev
,
port
,
&
devres
);
if
((
devres
&
enable
)
!=
enable
)
return
;
mask
=
(
devres
>>
16
)
&
15
;
base
=
devres
&
0xffff
;
size
=
16
;
for
(;;)
{
unsigned
bit
=
size
>>
1
;
if
((
bit
&
mask
)
==
bit
)
break
;
size
=
bit
;
}
/*
* For now we only print it out. Eventually we'll want to
* reserve it (at least if it's in the 0x1000+ range), but
* let's get enough confirmation reports first.
*/
base
&=
-
size
;
printk
(
"%s PIO at %04x-%04x
\n
"
,
name
,
base
,
base
+
size
-
1
);
}
static
void
piix4_mem_quirk
(
struct
pci_dev
*
dev
,
const
char
*
name
,
unsigned
int
port
,
unsigned
int
enable
)
{
u32
devres
;
u32
mask
,
size
,
base
;
pci_read_config_dword
(
dev
,
port
,
&
devres
);
if
((
devres
&
enable
)
!=
enable
)
return
;
base
=
devres
&
0xffff0000
;
mask
=
(
devres
&
0x3f
)
<<
16
;
size
=
128
<<
16
;
for
(;;)
{
unsigned
bit
=
size
>>
1
;
if
((
bit
&
mask
)
==
bit
)
break
;
size
=
bit
;
}
/*
* For now we only print it out. Eventually we'll want to
* reserve it, but let's get enough confirmation reports first.
*/
base
&=
-
size
;
printk
(
"%s MMIO at %04x-%04x
\n
"
,
name
,
base
,
base
+
size
-
1
);
}
/*
* PIIX4 ACPI: Two IO regions pointed to by longwords at
* 0x40 (64 bytes of ACPI registers)
* 0x90 (32 bytes of SMB registers)
* and a few strange programmable PIIX4 device resources.
*/
static
void
__devinit
quirk_piix4_acpi
(
struct
pci_dev
*
dev
)
{
u32
region
;
u32
region
,
res_a
;
pci_read_config_dword
(
dev
,
0x40
,
&
region
);
quirk_io_region
(
dev
,
region
,
64
,
PCI_BRIDGE_RESOURCES
);
quirk_io_region
(
dev
,
region
,
64
,
PCI_BRIDGE_RESOURCES
,
"PIIX4 ACPI"
);
pci_read_config_dword
(
dev
,
0x90
,
&
region
);
quirk_io_region
(
dev
,
region
,
32
,
PCI_BRIDGE_RESOURCES
+
1
);
quirk_io_region
(
dev
,
region
,
32
,
PCI_BRIDGE_RESOURCES
+
1
,
"PIIX4 SMB"
);
/* Device resource A has enables for some of the other ones */
pci_read_config_dword
(
dev
,
0x5c
,
&
res_a
);
piix4_io_quirk
(
dev
,
"PIIX4 devres B"
,
0x60
,
3
<<
21
);
piix4_io_quirk
(
dev
,
"PIIX4 devres C"
,
0x64
,
3
<<
21
);
/* Device resource D is just bitfields for static resources */
/* Device 12 enabled? */
if
(
res_a
&
(
1
<<
29
))
{
piix4_io_quirk
(
dev
,
"PIIX4 devres E"
,
0x68
,
1
<<
20
);
piix4_mem_quirk
(
dev
,
"PIIX4 devres F"
,
0x6c
,
1
<<
7
);
}
/* Device 13 enabled? */
if
(
res_a
&
(
1
<<
30
))
{
piix4_io_quirk
(
dev
,
"PIIX4 devres G"
,
0x70
,
1
<<
20
);
piix4_mem_quirk
(
dev
,
"PIIX4 devres H"
,
0x74
,
1
<<
7
);
}
piix4_io_quirk
(
dev
,
"PIIX4 devres I"
,
0x78
,
1
<<
20
);
piix4_io_quirk
(
dev
,
"PIIX4 devres J"
,
0x7c
,
1
<<
20
);
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82371AB_3
,
quirk_piix4_acpi
);
...
...
@@ -323,10 +398,10 @@ static void __devinit quirk_ich4_lpc_acpi(struct pci_dev *dev)
u32
region
;
pci_read_config_dword
(
dev
,
0x40
,
&
region
);
quirk_io_region
(
dev
,
region
,
128
,
PCI_BRIDGE_RESOURCES
);
quirk_io_region
(
dev
,
region
,
128
,
PCI_BRIDGE_RESOURCES
,
"ICH4 ACPI/GPIO/TCO"
);
pci_read_config_dword
(
dev
,
0x58
,
&
region
);
quirk_io_region
(
dev
,
region
,
64
,
PCI_BRIDGE_RESOURCES
+
1
);
quirk_io_region
(
dev
,
region
,
64
,
PCI_BRIDGE_RESOURCES
+
1
,
"ICH4 GPIO"
);
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82801AA_0
,
quirk_ich4_lpc_acpi
);
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82801AB_0
,
quirk_ich4_lpc_acpi
);
...
...
@@ -352,7 +427,7 @@ static void __devinit quirk_vt82c586_acpi(struct pci_dev *dev)
if
(
rev
&
0x10
)
{
pci_read_config_dword
(
dev
,
0x48
,
&
region
);
region
&=
PCI_BASE_ADDRESS_IO_MASK
;
quirk_io_region
(
dev
,
region
,
256
,
PCI_BRIDGE_RESOURCES
);
quirk_io_region
(
dev
,
region
,
256
,
PCI_BRIDGE_RESOURCES
,
"vt82c586 ACPI"
);
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_VIA
,
PCI_DEVICE_ID_VIA_82C586_3
,
quirk_vt82c586_acpi
);
...
...
@@ -372,11 +447,11 @@ static void __devinit quirk_vt82c686_acpi(struct pci_dev *dev)
pci_read_config_word
(
dev
,
0x70
,
&
hm
);
hm
&=
PCI_BASE_ADDRESS_IO_MASK
;
quirk_io_region
(
dev
,
hm
,
128
,
PCI_BRIDGE_RESOURCES
+
1
);
quirk_io_region
(
dev
,
hm
,
128
,
PCI_BRIDGE_RESOURCES
+
1
,
"vt82c868 HW-mon"
);
pci_read_config_dword
(
dev
,
0x90
,
&
smb
);
smb
&=
PCI_BASE_ADDRESS_IO_MASK
;
quirk_io_region
(
dev
,
smb
,
16
,
PCI_BRIDGE_RESOURCES
+
2
);
quirk_io_region
(
dev
,
smb
,
16
,
PCI_BRIDGE_RESOURCES
+
2
,
"vt82c868 SMB"
);
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_VIA
,
PCI_DEVICE_ID_VIA_82C686_4
,
quirk_vt82c686_acpi
);
...
...
@@ -391,11 +466,11 @@ static void __devinit quirk_vt8235_acpi(struct pci_dev *dev)
pci_read_config_word
(
dev
,
0x88
,
&
pm
);
pm
&=
PCI_BASE_ADDRESS_IO_MASK
;
quirk_io_region
(
dev
,
pm
,
128
,
PCI_BRIDGE_RESOURCES
);
quirk_io_region
(
dev
,
pm
,
128
,
PCI_BRIDGE_RESOURCES
,
"vt8235 PM"
);
pci_read_config_word
(
dev
,
0xd0
,
&
smb
);
smb
&=
PCI_BASE_ADDRESS_IO_MASK
;
quirk_io_region
(
dev
,
smb
,
16
,
PCI_BRIDGE_RESOURCES
+
1
);
quirk_io_region
(
dev
,
smb
,
16
,
PCI_BRIDGE_RESOURCES
+
1
,
"vt8235 SMB"
);
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_VIA
,
PCI_DEVICE_ID_VIA_8235
,
quirk_vt8235_acpi
);
...
...
drivers/pci/setup-bus.c
View file @
45424376
...
...
@@ -40,7 +40,7 @@
* FIXME: IO should be max 256 bytes. However, since we may
* have a P2P bridge below a cardbus bridge, we need 4K.
*/
#define CARDBUS_IO_SIZE (
4*1024
)
#define CARDBUS_IO_SIZE (
256
)
#define CARDBUS_MEM_SIZE (32*1024*1024)
static
void
__devinit
...
...
drivers/scsi/NCR5380.c
View file @
45424376
...
...
@@ -91,7 +91,7 @@
#ifndef NDEBUG
#define NDEBUG 0
#endif
#ifndef NDEBUG
#ifndef NDEBUG
_ABORT
#define NDEBUG_ABORT 0
#endif
...
...
drivers/scsi/aacraid/aacraid.h
View file @
45424376
...
...
@@ -19,7 +19,7 @@
#define AAC_MAX_LUN (8)
#define AAC_MAX_HOSTPHYSMEMPAGES (0xfffff)
#define AAC_MAX_32BIT_SGBCOUNT ((unsigned short)
512
)
#define AAC_MAX_32BIT_SGBCOUNT ((unsigned short)
256
)
/*
* These macros convert from physical channels to virtual channels
...
...
drivers/scsi/qla2xxx/qla_os.c
View file @
45424376
...
...
@@ -1325,6 +1325,8 @@ int qla2x00_probe_one(struct pci_dev *pdev, struct qla_board_info *brd_info)
ha
->
brd_info
=
brd_info
;
sprintf
(
ha
->
host_str
,
"%s_%ld"
,
ha
->
brd_info
->
drv_name
,
ha
->
host_no
);
ha
->
dpc_pid
=
-
1
;
/* Configure PCI I/O space */
ret
=
qla2x00_iospace_config
(
ha
);
if
(
ret
)
...
...
@@ -1448,7 +1450,6 @@ int qla2x00_probe_one(struct pci_dev *pdev, struct qla_board_info *brd_info)
*/
spin_lock_init
(
&
ha
->
mbx_reg_lock
);
ha
->
dpc_pid
=
-
1
;
init_completion
(
&
ha
->
dpc_inited
);
init_completion
(
&
ha
->
dpc_exited
);
...
...
drivers/scsi/scsi_devinfo.c
View file @
45424376
...
...
@@ -185,6 +185,7 @@ static struct {
{
"PIONEER"
,
"CD-ROM DRM-600"
,
NULL
,
BLIST_FORCELUN
|
BLIST_SINGLELUN
},
{
"PIONEER"
,
"CD-ROM DRM-602X"
,
NULL
,
BLIST_FORCELUN
|
BLIST_SINGLELUN
},
{
"PIONEER"
,
"CD-ROM DRM-604X"
,
NULL
,
BLIST_FORCELUN
|
BLIST_SINGLELUN
},
{
"PIONEER"
,
"CD-ROM DRM-624X"
,
NULL
,
BLIST_FORCELUN
|
BLIST_SINGLELUN
},
{
"REGAL"
,
"CDC-4X"
,
NULL
,
BLIST_MAX5LUN
|
BLIST_SINGLELUN
},
{
"SanDisk"
,
"ImageMate CF-SD1"
,
NULL
,
BLIST_FORCELUN
},
{
"SEAGATE"
,
"ST34555N"
,
"0930"
,
BLIST_NOTQ
},
/* Chokes on tagged INQUIRY */
...
...
drivers/scsi/scsi_lib.c
View file @
45424376
...
...
@@ -97,7 +97,6 @@ int scsi_insert_special_req(struct scsi_request *sreq, int at_head)
}
static
void
scsi_run_queue
(
struct
request_queue
*
q
);
static
void
scsi_release_buffers
(
struct
scsi_cmnd
*
cmd
);
/*
* Function: scsi_unprep_request()
...
...
@@ -1040,8 +1039,10 @@ static int scsi_init_io(struct scsi_cmnd *cmd)
* if sg table allocation fails, requeue request later.
*/
sgpnt
=
scsi_alloc_sgtable
(
cmd
,
GFP_ATOMIC
);
if
(
unlikely
(
!
sgpnt
))
if
(
unlikely
(
!
sgpnt
))
{
scsi_unprep_request
(
req
);
return
BLKPREP_DEFER
;
}
cmd
->
request_buffer
=
(
char
*
)
sgpnt
;
cmd
->
request_bufflen
=
req
->
nr_sectors
<<
9
;
...
...
@@ -1245,8 +1246,8 @@ static int scsi_prep_fn(struct request_queue *q, struct request *req)
*/
ret
=
scsi_init_io
(
cmd
);
switch
(
ret
)
{
/* For BLKPREP_KILL/DEFER the cmd was released */
case
BLKPREP_KILL
:
/* BLKPREP_KILL return also releases the command */
goto
kill
;
case
BLKPREP_DEFER
:
goto
defer
;
...
...
drivers/scsi/scsi_transport_fc.c
View file @
45424376
...
...
@@ -819,12 +819,15 @@ show_fc_private_host_tgtid_bind_type(struct class_device *cdev, char *buf)
return
snprintf
(
buf
,
FC_BINDTYPE_MAX_NAMELEN
,
"%s
\n
"
,
name
);
}
#define get_list_head_entry(pos, head, member) \
pos = list_entry((head)->next, typeof(*pos), member)
static
ssize_t
store_fc_private_host_tgtid_bind_type
(
struct
class_device
*
cdev
,
const
char
*
buf
,
size_t
count
)
{
struct
Scsi_Host
*
shost
=
transport_class_to_shost
(
cdev
);
struct
fc_rport
*
rport
,
*
next_rport
;
struct
fc_rport
*
rport
;
enum
fc_tgtid_binding_type
val
;
unsigned
long
flags
;
...
...
@@ -834,9 +837,13 @@ store_fc_private_host_tgtid_bind_type(struct class_device *cdev,
/* if changing bind type, purge all unused consistent bindings */
if
(
val
!=
fc_host_tgtid_bind_type
(
shost
))
{
spin_lock_irqsave
(
shost
->
host_lock
,
flags
);
list_for_each_entry_safe
(
rport
,
next_rport
,
&
fc_host_rport_bindings
(
shost
),
peers
)
while
(
!
list_empty
(
&
fc_host_rport_bindings
(
shost
)))
{
get_list_head_entry
(
rport
,
&
fc_host_rport_bindings
(
shost
),
peers
);
spin_unlock_irqrestore
(
shost
->
host_lock
,
flags
);
fc_rport_terminate
(
rport
);
spin_lock_irqsave
(
shost
->
host_lock
,
flags
);
}
spin_unlock_irqrestore
(
shost
->
host_lock
,
flags
);
}
...
...
drivers/serial/8250_pci.c
View file @
45424376
...
...
@@ -152,6 +152,7 @@ static int __devinit pci_hp_diva_init(struct pci_dev *dev)
rc
=
4
;
break
;
case
PCI_DEVICE_ID_HP_DIVA_POWERBAR
:
case
PCI_DEVICE_ID_HP_DIVA_HURRICANE
:
rc
=
1
;
break
;
}
...
...
@@ -226,8 +227,10 @@ static int __devinit pci_plx9050_init(struct pci_dev *dev)
}
irq_config
=
0x41
;
if
(
dev
->
vendor
==
PCI_VENDOR_ID_PANACOM
)
if
(
dev
->
vendor
==
PCI_VENDOR_ID_PANACOM
||
dev
->
subsystem_vendor
==
PCI_SUBVENDOR_ID_EXSYS
)
{
irq_config
=
0x43
;
}
if
((
dev
->
vendor
==
PCI_VENDOR_ID_PLX
)
&&
(
dev
->
device
==
PCI_DEVICE_ID_PLX_ROMULUS
))
{
/*
...
...
@@ -661,6 +664,15 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
/*
* PLX
*/
{
.
vendor
=
PCI_VENDOR_ID_PLX
,
.
device
=
PCI_DEVICE_ID_PLX_9050
,
.
subvendor
=
PCI_SUBVENDOR_ID_EXSYS
,
.
subdevice
=
PCI_SUBDEVICE_ID_EXSYS_4055
,
.
init
=
pci_plx9050_init
,
.
setup
=
pci_default_setup
,
.
exit
=
__devexit_p
(
pci_plx9050_exit
),
},
{
.
vendor
=
PCI_VENDOR_ID_PLX
,
.
device
=
PCI_DEVICE_ID_PLX_9050
,
...
...
@@ -927,6 +939,7 @@ enum pci_board_num_t {
pbn_panacom
,
pbn_panacom2
,
pbn_panacom4
,
pbn_exsys_4055
,
pbn_plx_romulus
,
pbn_oxsemi
,
pbn_intel_i960
,
...
...
@@ -1292,6 +1305,13 @@ static struct pciserial_board pci_boards[] __devinitdata = {
.
reg_shift
=
7
,
},
[
pbn_exsys_4055
]
=
{
.
flags
=
FL_BASE2
,
.
num_ports
=
4
,
.
base_baud
=
115200
,
.
uart_offset
=
8
,
},
/* I think this entry is broken - the first_offset looks wrong --rmk */
[
pbn_plx_romulus
]
=
{
.
flags
=
FL_BASE2
,
...
...
@@ -1853,6 +1873,10 @@ static struct pci_device_id serial_pci_tbl[] = {
PCI_SUBVENDOR_ID_CHASE_PCIRAS
,
PCI_SUBDEVICE_ID_CHASE_PCIRAS8
,
0
,
0
,
pbn_b2_8_460800
},
{
PCI_VENDOR_ID_PLX
,
PCI_DEVICE_ID_PLX_9050
,
PCI_SUBVENDOR_ID_EXSYS
,
PCI_SUBDEVICE_ID_EXSYS_4055
,
0
,
0
,
pbn_exsys_4055
},
/*
* Megawolf Romulus PCI Serial Card, from Mike Hudson
* (Exoray@isys.ca)
...
...
drivers/video/fbsysfs.c
View file @
45424376
...
...
@@ -242,6 +242,13 @@ static ssize_t show_virtual(struct class_device *class_device, char *buf)
fb_info
->
var
.
yres_virtual
);
}
static
ssize_t
show_stride
(
struct
class_device
*
class_device
,
char
*
buf
)
{
struct
fb_info
*
fb_info
=
(
struct
fb_info
*
)
class_get_devdata
(
class_device
);
return
snprintf
(
buf
,
PAGE_SIZE
,
"%d
\n
"
,
fb_info
->
fix
.
line_length
);
}
/* Format for cmap is "%02x%c%4x%4x%4x\n" */
/* %02x entry %c transp %4x red %4x blue %4x green \n */
/* 256 rows at 16 chars equals 4096, the normal page size */
...
...
@@ -432,6 +439,7 @@ static struct class_device_attribute class_device_attrs[] = {
__ATTR
(
pan
,
S_IRUGO
|
S_IWUSR
,
show_pan
,
store_pan
),
__ATTR
(
virtual_size
,
S_IRUGO
|
S_IWUSR
,
show_virtual
,
store_virtual
),
__ATTR
(
name
,
S_IRUGO
,
show_name
,
NULL
),
__ATTR
(
stride
,
S_IRUGO
,
show_stride
,
NULL
),
};
int
fb_init_class_device
(
struct
fb_info
*
fb_info
)
...
...
Prev
1
2
3
Next
Write
Preview
Supports
Markdown
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