Commit 0612ec48 authored by Dmitry Torokhov's avatar Dmitry Torokhov
Browse files
parents 4263cf0f 47a5c6fa
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -12,6 +12,9 @@
*.ko
*.ko
*.so
*.so
*.mod.c
*.mod.c
*.i
*.lst
*.symtypes


#
#
# Top-level generic files
# Top-level generic files
@@ -30,6 +33,11 @@ include/config
include/linux/autoconf.h
include/linux/autoconf.h
include/linux/compile.h
include/linux/compile.h
include/linux/version.h
include/linux/version.h
include/linux/utsrelease.h


# stgit generated dirs
# stgit generated dirs
patches-*
patches-*

# quilt's files
patches
series
+6 −6
Original line number Original line Diff line number Diff line
@@ -528,11 +528,11 @@ S: Oxford
S: United Kingdom
S: United Kingdom


N: Luiz Fernando N. Capitulino
N: Luiz Fernando N. Capitulino
E: lcapitulino@terra.com.br
E: lcapitulino@mandriva.com.br
E: lcapitulino@prefeitura.sp.gov.br
E: lcapitulino@gmail.com
W: http://www.telecentros.sp.gov.br
W: http://www.cpu.eti.br
D: Little fixes and a lot of janitorial work
D: misc kernel hacking
S: E-GOV Telecentros SP
S: Mandriva
S: Brazil
S: Brazil


N: Remy Card
N: Remy Card
@@ -2209,7 +2209,7 @@ S: (address available on request)
S: USA
S: USA


N: Ian McDonald
N: Ian McDonald
E: iam4@cs.waikato.ac.nz
E: ian.mcdonald@jandi.co.nz
E: imcdnzl@gmail.com
E: imcdnzl@gmail.com
W: http://wand.net.nz/~iam4
W: http://wand.net.nz/~iam4
W: http://imcdnzl.blogspot.com
W: http://imcdnzl.blogspot.com
+4 −4
Original line number Original line Diff line number Diff line
@@ -698,12 +698,12 @@ these interfaces. Remember that, as defined, consistent mappings are
always going to be SAC addressable.
always going to be SAC addressable.


The first thing your driver needs to do is query the PCI platform
The first thing your driver needs to do is query the PCI platform
layer with your devices DAC addressing capabilities:
layer if it is capable of handling your devices DAC addressing
capabilities:


	int pci_dac_set_dma_mask(struct pci_dev *pdev, u64 mask);
	int pci_dac_dma_supported(struct pci_dev *hwdev, u64 mask);


This routine behaves identically to pci_set_dma_mask.  You may not
You may not use the following interfaces if this routine fails.
use the following interfaces if this routine fails.


Next, DMA addresses using this API are kept track of using the
Next, DMA addresses using this API are kept track of using the
dma64_addr_t type.  It is guaranteed to be big enough to hold any
dma64_addr_t type.  It is guaranteed to be big enough to hold any
+5 −4
Original line number Original line Diff line number Diff line
@@ -58,6 +58,9 @@
!Iinclude/linux/ktime.h
!Iinclude/linux/ktime.h
!Iinclude/linux/hrtimer.h
!Iinclude/linux/hrtimer.h
!Ekernel/hrtimer.c
!Ekernel/hrtimer.c
     </sect1>
     <sect1><title>Workqueues and Kevents</title>
!Ekernel/workqueue.c
     </sect1>
     </sect1>
     <sect1><title>Internal Functions</title>
     <sect1><title>Internal Functions</title>
!Ikernel/exit.c
!Ikernel/exit.c
@@ -300,7 +303,7 @@ X!Ekernel/module.c
     </sect1>
     </sect1>


     <sect1><title>Resources Management</title>
     <sect1><title>Resources Management</title>
!Ekernel/resource.c
!Ikernel/resource.c
     </sect1>
     </sect1>


     <sect1><title>MTRR Handling</title>
     <sect1><title>MTRR Handling</title>
@@ -312,9 +315,7 @@ X!Ekernel/module.c
!Edrivers/pci/pci-driver.c
!Edrivers/pci/pci-driver.c
!Edrivers/pci/remove.c
!Edrivers/pci/remove.c
!Edrivers/pci/pci-acpi.c
!Edrivers/pci/pci-acpi.c
<!-- kerneldoc does not understand __devinit
!Edrivers/pci/search.c
X!Edrivers/pci/search.c
 -->
!Edrivers/pci/msi.c
!Edrivers/pci/msi.c
!Edrivers/pci/bus.c
!Edrivers/pci/bus.c
<!-- FIXME: Removed for now since no structured comments in source
<!-- FIXME: Removed for now since no structured comments in source
+3 −2
Original line number Original line Diff line number Diff line
@@ -687,8 +687,9 @@ diff shows how closely related RCU and reader-writer locking can be.
	+	spin_lock(&listmutex);
	+	spin_lock(&listmutex);
		list_for_each_entry(p, head, lp) {
		list_for_each_entry(p, head, lp) {
			if (p->key == key) {
			if (p->key == key) {
				list_del(&p->list);
	-			list_del(&p->list);
	-			write_unlock(&listmutex);
	-			write_unlock(&listmutex);
	+			list_del_rcu(&p->list);
	+			spin_unlock(&listmutex);
	+			spin_unlock(&listmutex);
	+			synchronize_rcu();
	+			synchronize_rcu();
				kfree(p);
				kfree(p);
@@ -736,7 +737,7 @@ Or, for those who prefer a side-by-side listing:
 5   write_lock(&listmutex);            5   spin_lock(&listmutex);
 5   write_lock(&listmutex);            5   spin_lock(&listmutex);
 6   list_for_each_entry(p, head, lp) { 6   list_for_each_entry(p, head, lp) {
 6   list_for_each_entry(p, head, lp) { 6   list_for_each_entry(p, head, lp) {
 7     if (p->key == key) {             7     if (p->key == key) {
 7     if (p->key == key) {             7     if (p->key == key) {
 8       list_del(&p->list);            8       list_del(&p->list);
 8       list_del(&p->list);            8       list_del_rcu(&p->list);
 9       write_unlock(&listmutex);      9       spin_unlock(&listmutex);
 9       write_unlock(&listmutex);      9       spin_unlock(&listmutex);
                                       10       synchronize_rcu();
                                       10       synchronize_rcu();
10       kfree(p);                     11       kfree(p);
10       kfree(p);                     11       kfree(p);
Loading