TPM: fix suspend and resume failure

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2490c681ea3d7f5ac3fb876f14567bf1a9e0aa87
Commit: 2490c681ea3d7f5ac3fb876f14567bf1a9e0aa87
Parent: 40d6a146629b98d8e322b6f9332b182c7cbff3df
Author: David Smith [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:12 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:22 2008 -0800

TPM: fix suspend and resume failure

The savestate command structure was being overwritten by the result of
running the TPM_SaveState command after one run, so make it a local
variable to the function instead of a global variable that gets
overwritten.

Acked-by: Pavel Machek [EMAIL PROTECTED]
Cc: Kent Yoder [EMAIL PROTECTED]
Cc: Marcel Selhorst [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/char/tpm/tpm.c |   12 ++--
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c
index 39564b7..c88424a 100644
--- a/drivers/char/tpm/tpm.c
+++ b/drivers/char/tpm/tpm.c
@@ -1046,12 +1046,6 @@ void tpm_remove_hardware(struct device *dev)
 }
 EXPORT_SYMBOL_GPL(tpm_remove_hardware);
 
-static u8 savestate[] = {
-   0, 193, /* TPM_TAG_RQU_COMMAND */
-   0, 0, 0, 10,/* blob length (in bytes) */
-   0, 0, 0, 152/* TPM_ORD_SaveState */
-};
-
 /*
  * We are about to suspend. Save the TPM state
  * so that it can be restored.
@@ -1059,6 +1053,12 @@ static u8 savestate[] = {
 int tpm_pm_suspend(struct device *dev, pm_message_t pm_state)
 {
struct tpm_chip *chip = dev_get_drvdata(dev);
+   u8 savestate[] = {
+   0, 193, /* TPM_TAG_RQU_COMMAND */
+   0, 0, 0, 10,/* blob length (in bytes) */
+   0, 0, 0, 152/* TPM_ORD_SaveState */
+   };
+
if (chip == NULL)
return -ENODEV;
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Kick CPUS that might be sleeping in cpus_idle_wait

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=40d6a146629b98d8e322b6f9332b182c7cbff3df
Commit: 40d6a146629b98d8e322b6f9332b182c7cbff3df
Parent: a2a6c74d34c3ae9de6825767a30ab17f709b59ce
Author: Steven Rostedt [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:10 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:22 2008 -0800

Kick CPUS that might be sleeping in cpus_idle_wait

Sometimes cpu_idle_wait gets stuck because it might miss CPUS that are
already in idle, have no tasks waiting to run and have no interrupts going
to them.  This is common on bootup when switching cpu idle governors.

This patch gives those CPUS that don't check in an IPI kick.

 Background:
 ---
I notice this while developing the mcount patches, that every once in a
while the system would hang. Looking deeper, the hang was always at boot
up when registering init_menu of the cpu_idle menu governor. Talking
with Thomas Gliexner, we discovered that one of the CPUS had no timer
events scheduled for it and it was in idle (running with NO_HZ). So the
CPU would not set the cpu_idle_state bit.

Hitting sysrq-t a few times would eventually route the interrupt to the
stuck CPU and the system would continue.

Note, I would have used the PDA isidle but that is set after the
cpu_idle_state bit is cleared, and would leave a window open where we
may miss being kicked.

hmm, looking closer at this, we still have a small race window between
clearing the cpu_idle_state and disabling interrupts (hence the RFC).

CPU0:  CPU 1:
  -   -
 cpu_idle_wait(): cpu_idle():
  |   __cpu_cpu_var(is_idle) = 1;
  |   if (__get_cpu_var(cpu_idle_state)) /* == 
0 */
 per_cpu(cpu_idle_state, 1) = 1; |
 if (per_cpu(is_idle, 1)) /* == 1 */ |
 smp_call_function(1)|
  | receives ipi and runs do_nothing.
 wait on map == empty   idle();
   /* waits forever */

So really we need interrupts off for most of this then. One might think
that we could simply clear the cpu_idle_state from do_nothing, but I'm
assuming that cpu_idle governors can be removed, and this might cause a
race that a governor might be used after the module was removed.

Venki said:

  I think your RFC patch is the right solution here.  As I see it, there is
  no race with your RFC patch.  As long as you call a dummy 
smp_call_function
  on all CPUs, we should be OK.  We can get rid of cpu_idle_state and the
  current wait forever logic altogether with dummy smp_call_function.  And 
so
  there wont be any wait forever scenario.

  The whole point of cpu_idle_wait() is to make all CPUs come out of idle
  loop atleast once.  The caller will use cpu_idle_wait something like this.

  // Want to change idle handler

  - Switch global idle handler to always present default_idle

  - call cpu_idle_wait so that all cpus come out of idle for an instant
and stop using old idle pointer and start using default idle

  - Change the idle handler to a new handler

  - optional cpu_idle_wait if you want all cpus to start using the new
handler immediately.

Maybe the below 1s patch is safe bet for .24.  But for .25, I would say we
just replace all complicated logic by simple dummy smp_call_function and
remove cpu_idle_state altogether.

Signed-off-by: Steven Rostedt [EMAIL PROTECTED]
Cc: Venkatesh Pallipadi [EMAIL PROTECTED]
Acked-by: Ingo Molnar [EMAIL PROTECTED]
Acked-by: Thomas Gleixner [EMAIL PROTECTED]
Cc: Andi Kleen [EMAIL PROTECTED]
Cc: Len Brown [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/x86/kernel/process_32.c |   11 +++
 arch/x86/kernel/process_64.c |   11 +++
 2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
index 9663c2a..46d391d 100644
--- a/arch/x86/kernel/process_32.c
+++ b/arch/x86/kernel/process_32.c
@@ -204,6 +204,10 @@ void cpu_idle(void)
}
 }
 
+static void do_nothing(void *unused)
+{
+}
+
 void cpu_idle_wait(void)
 {
unsigned int cpu, this_cpu = get_cpu();
@@ -228,6 +232,13 @@ void cpu_idle_wait(void)
cpu_clear(cpu, map);
}
cpus_and(map, map, cpu_online_map);
+   /*
+* We waited 1 sec, if a CPU still did not call idle
+* it may be because it is in idle and not waking up
+* because 

modules: de-mutex more symbol lookup paths in the module code

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb2a52052cebe4716e83b9d2e53682ba00f67de6
Commit: cb2a52052cebe4716e83b9d2e53682ba00f67de6
Parent: 1a1b285c24e1468afe82b09330dde5192a6e0013
Author: Rusty Russell [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:03 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:22 2008 -0800

modules: de-mutex more symbol lookup paths in the module code

Kyle McMartin reports sysrq_timer_list_show() can hit the module mutex
from hard interrupt context.  These paths don't need to though, since we
long ago changed all the module list manipulation to occur via
stop_machine().

Disabling preemption is enough.

Signed-off-by: Rusty Russell [EMAIL PROTECTED]
Cc: Ingo Molnar [EMAIL PROTECTED]
Cc: Kyle McMartin [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/module.c |   29 ++---
 1 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/kernel/module.c b/kernel/module.c
index 91fe695..c2e3e2e 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -2214,29 +2214,34 @@ static const char *get_ksymbol(struct module *mod,
 /* For kallsyms to ask for address resolution.  NULL means not found.
We don't lock, as this is used for oops resolution and races are a
lesser concern. */
+/* FIXME: Risky: returns a pointer into a module w/o lock */
 const char *module_address_lookup(unsigned long addr,
  unsigned long *size,
  unsigned long *offset,
  char **modname)
 {
struct module *mod;
+   const char *ret = NULL;
 
+   preempt_disable();
list_for_each_entry(mod, modules, list) {
if (within(addr, mod-module_init, mod-init_size)
|| within(addr, mod-module_core, mod-core_size)) {
if (modname)
*modname = mod-name;
-   return get_ksymbol(mod, addr, size, offset);
+   ret = get_ksymbol(mod, addr, size, offset);
+   break;
}
}
-   return NULL;
+   preempt_enable();
+   return ret;
 }
 
 int lookup_module_symbol_name(unsigned long addr, char *symname)
 {
struct module *mod;
 
-   mutex_lock(module_mutex);
+   preempt_disable();
list_for_each_entry(mod, modules, list) {
if (within(addr, mod-module_init, mod-init_size) ||
within(addr, mod-module_core, mod-core_size)) {
@@ -2246,12 +2251,12 @@ int lookup_module_symbol_name(unsigned long addr, char 
*symname)
if (!sym)
goto out;
strlcpy(symname, sym, KSYM_NAME_LEN);
-   mutex_unlock(module_mutex);
+   preempt_enable();
return 0;
}
}
 out:
-   mutex_unlock(module_mutex);
+   preempt_enable();
return -ERANGE;
 }
 
@@ -2260,7 +2265,7 @@ int lookup_module_symbol_attrs(unsigned long addr, 
unsigned long *size,
 {
struct module *mod;
 
-   mutex_lock(module_mutex);
+   preempt_disable();
list_for_each_entry(mod, modules, list) {
if (within(addr, mod-module_init, mod-init_size) ||
within(addr, mod-module_core, mod-core_size)) {
@@ -2273,12 +2278,12 @@ int lookup_module_symbol_attrs(unsigned long addr, 
unsigned long *size,
strlcpy(modname, mod-name, MODULE_NAME_LEN);
if (name)
strlcpy(name, sym, KSYM_NAME_LEN);
-   mutex_unlock(module_mutex);
+   preempt_enable();
return 0;
}
}
 out:
-   mutex_unlock(module_mutex);
+   preempt_enable();
return -ERANGE;
 }
 
@@ -2287,7 +2292,7 @@ int module_get_kallsym(unsigned int symnum, unsigned long 
*value, char *type,
 {
struct module *mod;
 
-   mutex_lock(module_mutex);
+   preempt_disable();
list_for_each_entry(mod, modules, list) {
if (symnum  mod-num_symtab) {
*value = mod-symtab[symnum].st_value;
@@ -2296,12 +2301,12 @@ int module_get_kallsym(unsigned int symnum, unsigned 
long *value, char *type,
KSYM_NAME_LEN);
strlcpy(module_name, mod-name, MODULE_NAME_LEN);
*exported = is_exported(name, mod);
-   mutex_unlock(module_mutex);
+   preempt_enable();
return 0;
}
symnum -= mod-num_symtab;
}
-   mutex_unlock(module_mutex);
+  

MAINTAINERS: email update and add missing entry

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8f4c79ce79d1552014af3c115d03e13092443905
Commit: 8f4c79ce79d1552014af3c115d03e13092443905
Parent: 2490c681ea3d7f5ac3fb876f14567bf1a9e0aa87
Author: Nicolas Ferre [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:13 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:22 2008 -0800

MAINTAINERS: email update and add missing entry

 - MAINTAINERS email update
 - add atmel_lcdfb entry

Signed-off-by: Nicolas Ferre [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 MAINTAINERS |8 +++-
 drivers/video/atmel_lcdfb.c |2 +-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 92aa0a7..2340cfb 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -665,12 +665,18 @@ S:Maintained
 
 ATMEL AT91 MCI DRIVER
 P: Nicolas Ferre
-M: [EMAIL PROTECTED]
+M: [EMAIL PROTECTED]
 L: [EMAIL PROTECTED] (subscribers-only)
 W: http://www.atmel.com/products/AT91/
 W: http://www.at91.com/
 S: Maintained
 
+ATMEL LCDFB DRIVER
+P: Nicolas Ferre
+M: [EMAIL PROTECTED]
+L: [EMAIL PROTECTED] (subscribers-only)
+S: Maintained
+
 ATMEL MACB ETHERNET DRIVER
 P: Haavard Skinnemoen
 M: [EMAIL PROTECTED]
diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
index 11a3a22..7c30cc8 100644
--- a/drivers/video/atmel_lcdfb.c
+++ b/drivers/video/atmel_lcdfb.c
@@ -801,5 +801,5 @@ module_init(atmel_lcdfb_init);
 module_exit(atmel_lcdfb_exit);
 
 MODULE_DESCRIPTION(AT91/AT32 LCD Controller framebuffer driver);
-MODULE_AUTHOR(Nicolas Ferre [EMAIL PROTECTED]);
+MODULE_AUTHOR(Nicolas Ferre [EMAIL PROTECTED]);
 MODULE_LICENSE(GPL);
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


quicklists: Only consider memory that can be used with GFP_KERNEL

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=96990a4ae979df9e235d01097d6175759331e88c
Commit: 96990a4ae979df9e235d01097d6175759331e88c
Parent: 8f4c79ce79d1552014af3c115d03e13092443905
Author: Christoph Lameter [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:14 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:22 2008 -0800

quicklists: Only consider memory that can be used with GFP_KERNEL

Quicklists calculates the size of the quicklists based on the number of
free pages.  This must be the number of free pages that can be allocated
with GFP_KERNEL.  node_page_state() includes the pages in ZONE_HIGHMEM and
ZONE_MOVABLE which may lead the quicklists to become too large causing OOM.

Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
Tested-by: Dhaval Giani [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 mm/quicklist.c |   12 ++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/mm/quicklist.c b/mm/quicklist.c
index ae8189c..3f703f7 100644
--- a/mm/quicklist.c
+++ b/mm/quicklist.c
@@ -26,9 +26,17 @@ DEFINE_PER_CPU(struct quicklist, quicklist)[CONFIG_NR_QUICK];
 static unsigned long max_pages(unsigned long min_pages)
 {
unsigned long node_free_pages, max;
+   struct zone *zones = NODE_DATA(numa_node_id())-node_zones;
+
+   node_free_pages =
+#ifdef CONFIG_ZONE_DMA
+   zone_page_state(zones[ZONE_DMA], NR_FREE_PAGES) +
+#endif
+#ifdef CONFIG_ZONE_DMA32
+   zone_page_state(zones[ZONE_DMA32], NR_FREE_PAGES) +
+#endif
+   zone_page_state(zones[ZONE_NORMAL], NR_FREE_PAGES);
 
-   node_free_pages = node_page_state(numa_node_id(),
-   NR_FREE_PAGES);
max = node_free_pages / FRACTION_OF_NODE_MEM;
return max(max, min_pages);
 }
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


macintosh: fix fabrication of caplock key events

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f31c05ea0f5690d002ae30710fc0fbe0f0c201f
Commit: 9f31c05ea0f5690d002ae30710fc0fbe0f0c201f
Parent: 96990a4ae979df9e235d01097d6175759331e88c
Author: Andy Wingo [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:15 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:22 2008 -0800

macintosh: fix fabrication of caplock key events

If the user has turned on the restore_caplock_events parameter, the
code mangles the capslock events correctly, then erroneously ignores
those events.  Fix logic to allow correct fallthrough.

Signed-off-by: Andy Wingo [EMAIL PROTECTED]
Acked-by: Andrew McNabb [EMAIL PROTECTED]
Cc: Dmitry Torokhov [EMAIL PROTECTED]
Cc: Benjamin Herrenschmidt [EMAIL PROTECTED]
cc: Paul Mackerras [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/macintosh/adbhid.c |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/macintosh/adbhid.c b/drivers/macintosh/adbhid.c
index 883da72..ef4c117 100644
--- a/drivers/macintosh/adbhid.c
+++ b/drivers/macintosh/adbhid.c
@@ -322,8 +322,9 @@ adbhid_input_keycode(int id, int scancode, int repeat)
input_sync(ahid-input);
input_report_key(ahid-input, KEY_CAPSLOCK, 0);
input_sync(ahid-input);
+   return;
}
-   return;
+   break;
 #ifdef CONFIG_PPC_PMAC
case ADB_KEY_POWER_OLD: /* Power key on PBook 3400 needs remapping */
switch(pmac_call_feature(PMAC_FTR_GET_MB_INFO,
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


scsi/qla2xxx/qla_os.c section fix

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c993f76698bcee594f081a295f1b8f48f58062a
Commit: 4c993f76698bcee594f081a295f1b8f48f58062a
Parent: 9f31c05ea0f5690d002ae30710fc0fbe0f0c201f
Author: Adrian Bunk [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:16 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:22 2008 -0800

scsi/qla2xxx/qla_os.c section fix

WARNING: vmlinux.o(.text+0x2a4462): Section mismatch: reference to 
.exit.text:qla2x00_remove_one (between 'qla2xxx_pci_error_detected' and 
'qla2x00_stop_timer')

qla2x00_remove_one() mustn't be __devexit since it's called from
qla2xxx_pci_error_detected().

Signed-off-by: Adrian Bunk [EMAIL PROTECTED]
Acked-by: Seokmann Ju [EMAIL PROTECTED]
Acked-by: Andrew Vasquez [EMAIL PROTECTED]
Cc: Randy Dunlap [EMAIL PROTECTED]
Cc: James Bottomley [EMAIL PROTECTED]
Acked-by: Sam Ravnborg [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/scsi/qla2xxx/qla_os.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index a5bcf1f..8ecc047 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -1831,7 +1831,7 @@ probe_out:
return ret;
 }
 
-static void __devexit
+static void
 qla2x00_remove_one(struct pci_dev *pdev)
 {
scsi_qla_host_t *ha;
@@ -2965,7 +2965,7 @@ static struct pci_driver qla2xxx_pci_driver = {
},
.id_table   = qla2xxx_pci_tbl,
.probe  = qla2x00_probe_one,
-   .remove = __devexit_p(qla2x00_remove_one),
+   .remove = qla2x00_remove_one,
.err_handler= qla2xxx_err_handler,
 };
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


cciss: section mismatch

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d1fd970e4b2e84a624b3274669fa642fcd19c98
Commit: 7d1fd970e4b2e84a624b3274669fa642fcd19c98
Parent: 4c993f76698bcee594f081a295f1b8f48f58062a
Author: Randy Dunlap [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:17 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:22 2008 -0800

cciss: section mismatch

Mark cciss_pci_init() as __devinit, to fix section mismatch warning.

WARNING: vmlinux.o(.text+0x601fc9): Section mismatch: reference to 
.init.text: (between 'cciss_pci_init' and 'cciss_getgeometry')

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Acked-by: Sam Ravnborg [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/block/cciss.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index 7d70496..509b649 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -2927,7 +2927,7 @@ default_int_mode:
return;
 }
 
-static int cciss_pci_init(ctlr_info_t *c, struct pci_dev *pdev)
+static int __devinit cciss_pci_init(ctlr_info_t *c, struct pci_dev *pdev)
 {
ushort subsystem_vendor_id, subsystem_device_id, command;
__u32 board_id, scratchpad = 0;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


gameport: don't export functions that are static inline

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f5ad58675149077b2046905d54fb831873288058
Commit: f5ad58675149077b2046905d54fb831873288058
Parent: 4c64681effcbf349cf9137b8a120badc72340dd4
Author: Ivan Kokshaysky [EMAIL PROTECTED]
AuthorDate: Thu Jan 3 10:46:03 2008 -0500
Committer:  Dmitry Torokhov [EMAIL PROTECTED]
CommitDate: Thu Jan 3 10:46:03 2008 -0500

gameport: don't export functions that are static inline

This does not make sense and moreover causes build failures
on alpha.

Signed-off-by: Ivan Kokshaysky [EMAIL PROTECTED]
Signed-off-by: Dmitry Torokhov [EMAIL PROTECTED]
---
 drivers/input/gameport/gameport.c |2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/drivers/input/gameport/gameport.c 
b/drivers/input/gameport/gameport.c
index bfc6061..1dc2ac9 100644
--- a/drivers/input/gameport/gameport.c
+++ b/drivers/input/gameport/gameport.c
@@ -38,8 +38,6 @@ EXPORT_SYMBOL(gameport_unregister_driver);
 EXPORT_SYMBOL(gameport_open);
 EXPORT_SYMBOL(gameport_close);
 EXPORT_SYMBOL(gameport_rescan);
-EXPORT_SYMBOL(gameport_cooked_read);
-EXPORT_SYMBOL(gameport_set_name);
 EXPORT_SYMBOL(gameport_set_phys);
 EXPORT_SYMBOL(gameport_start_polling);
 EXPORT_SYMBOL(gameport_stop_polling);
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Input: Handle EV_PWR type of input caps in input_set_capability.

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22d1c398e852e7f0ace3482e662886386ef15725
Commit: 22d1c398e852e7f0ace3482e662886386ef15725
Parent: 35baef2afb6270ff731b4d766f0b163c3912304f
Author: Dmitry Baryshkov [EMAIL PROTECTED]
AuthorDate: Fri Dec 14 01:21:03 2007 -0500
Committer:  Dmitry Torokhov [EMAIL PROTECTED]
CommitDate: Fri Dec 14 01:21:03 2007 -0500

Input: Handle EV_PWR type of input caps in input_set_capability.

Signed-off-by: Dmitry Baryshkov [EMAIL PROTECTED]
Signed-off-by: Dmitry Torokhov [EMAIL PROTECTED]
---
 drivers/input/input.c |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/input/input.c b/drivers/input/input.c
index 307c7b5..c0837d3 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -1266,6 +1266,10 @@ void input_set_capability(struct input_dev *dev, 
unsigned int type, unsigned int
__set_bit(code, dev-ffbit);
break;
 
+   case EV_PWR:
+   /* do nothing */
+   break;
+
default:
printk(KERN_ERR
input_set_capability: unknown type %u (code %u)\n,
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


OSS msnd: fix array overflows

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea8e1652c5f4202fa90cfae49f2ca8485423d263
Commit: ea8e1652c5f4202fa90cfae49f2ca8485423d263
Parent: bbde25b1257c169c119601590d011b9b3aaf77f8
Author: Adrian Bunk [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:25 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:23 2008 -0800

OSS msnd: fix array overflows

Fix array overflows in the OSS msnd driver spotted by the Coverity checker.

Signed-off-by: Adrian Bunk [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 sound/oss/msnd.h |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/oss/msnd.h b/sound/oss/msnd.h
index 05cf786..d0ca582 100644
--- a/sound/oss/msnd.h
+++ b/sound/oss/msnd.h
@@ -233,8 +233,8 @@ typedef struct multisound_dev {
spinlock_t lock;
int nresets;
unsigned long recsrc;
-   int left_levels[16];
-   int right_levels[16];
+   int left_levels[32];
+   int right_levels[32];
int mixer_mod_count;
int calibrate_signal;
int play_sample_size, play_sample_rate, play_channels;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


CRIS v10: driver for ds1302 needs to include cris-specific i2c.h

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bbde25b1257c169c119601590d011b9b3aaf77f8
Commit: bbde25b1257c169c119601590d011b9b3aaf77f8
Parent: 27b526a09086d563d61cf0e0fdd5c8e3f3c295d4
Author: Jesper Nilsson [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:24 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:23 2008 -0800

CRIS v10: driver for ds1302 needs to include cris-specific i2c.h

This fixes compilation error where i2c_init wasn't defined.
Also, remove the CVS log and version tags, they are no longer useful.

Signed-off-by: Jesper Nilsson [EMAIL PROTECTED]
Cc: Mikael Starvik [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/cris/arch-v10/drivers/ds1302.c |  131 +--
 1 files changed, 3 insertions(+), 128 deletions(-)

diff --git a/arch/cris/arch-v10/drivers/ds1302.c 
b/arch/cris/arch-v10/drivers/ds1302.c
index 88eff7f..1d1936a 100644
--- a/arch/cris/arch-v10/drivers/ds1302.c
+++ b/arch/cris/arch-v10/drivers/ds1302.c
@@ -6,136 +6,9 @@
 *!
 *! Functions exported: ds1302_readreg, ds1302_writereg, ds1302_init
 *!
-*! $Log: ds1302.c,v $
-*! Revision 1.18  2005/01/24 09:11:26  mikaelam
-*! Minor changes to get DS1302 RTC chip driver to work
-*!
-*! Revision 1.17  2005/01/05 06:11:22  starvik
-*! No need to do local_irq_disable after local_irq_save.
-*!
-*! Revision 1.16  2004/12/13 12:21:52  starvik
-*! Added I/O and DMA allocators from Linux 2.4
-*!
-*! Revision 1.14  2004/08/24 06:48:43  starvik
-*! Whitespace cleanup
-*!
-*! Revision 1.13  2004/05/28 09:26:59  starvik
-*! Modified I2C initialization to work in 2.6.
-*!
-*! Revision 1.12  2004/05/14 07:58:03  starvik
-*! Merge of changes from 2.4
-*!
-*! Revision 1.10  2004/02/04 09:25:12  starvik
-*! Merge of Linux 2.6.2
-*!
-*! Revision 1.9  2003/07/04 08:27:37  starvik
-*! Merge of Linux 2.5.74
-*!
-*! Revision 1.8  2003/04/09 05:20:47  starvik
-*! Merge of Linux 2.5.67
-*!
-*! Revision 1.6  2003/01/09 14:42:51  starvik
-*! Merge of Linux 2.5.55
-*!
-*! Revision 1.4  2002/12/11 13:13:57  starvik
-*! Added arch/ to v10 specific includes
-*! Added fix from Linux 2.4 in serial.c (flush_to_flip_buffer)
-*!
-*! Revision 1.3  2002/11/20 11:56:10  starvik
-*! Merge of Linux 2.5.48
-*!
-*! Revision 1.2  2002/11/18 13:16:06  starvik
-*! Linux 2.5 port of latest 2.4 drivers
-*!
-*! Revision 1.15  2002/10/11 16:14:33  johana
-*! Added CONFIG_ETRAX_DS1302_TRICKLE_CHARGE and initial setting of the
-*! trcklecharge register.
-*!
-*! Revision 1.14  2002/10/10 12:15:38  magnusmn
-*! Added support for having the RST signal on bit g0
-*!
-*! Revision 1.13  2002/05/29 15:16:08  johana
-*! Removed unused variables.
-*!
-*! Revision 1.12  2002/04/10 15:35:25  johana
-*! Moved probe function closer to init function and marked it __init.
-*!
-*! Revision 1.11  2001/06/14 12:35:52  jonashg
-*! The ATA hack is back. It is unfortunately the only way to set g27 to output.
-*!
-*! Revision 1.9  2001/06/14 10:00:14  jonashg
-*! No need for tempudelay to be inline anymore (had to adjust the usec to
-*! loops conversion because of this to make it slow enough to be a udelay).
-*!
-*! Revision 1.8  2001/06/14 08:06:32  jonashg
-*! Made tempudelay delay usecs (well, just a tad more).
-*!
-*! Revision 1.7  2001/06/13 14:18:11  jonashg
-*! Only allow processes with SYS_TIME capability to set time and charge.
-*!
-*! Revision 1.6  2001/06/12 15:22:07  jonashg
-*! * Made init function __init.
-*! * Parameter to out_byte() is unsigned char.
-*! * The magic number 42 has got a name.
-*! * Removed comment about /proc (nothing is exported there).
-*!
-*! Revision 1.5  2001/06/12 14:35:13  jonashg
-*! Gave the module a name and added it to printk's.
-*!
-*! Revision 1.4  2001/05/31 14:53:40  jonashg
-*! Made tempudelay() inline so that the watchdog doesn't reset (see
-*! function comment).
-*!
-*! Revision 1.3  2001/03/26 16:03:06  bjornw
-*! Needs linux/config.h
-*!
-*! Revision 1.2  2001/03/20 19:42:00  bjornw
-*! Use the ETRAX prefix on the DS1302 options
-*!
-*! Revision 1.1  2001/03/20 09:13:50  magnusmn
-*! Linux 2.4 port
-*!
-*! Revision 1.10  2000/07/05 15:38:23  bjornw
-*! Dont update kernel time when a RTC_SET_TIME is done
-*!
-*! Revision 1.9  2000/03/02 15:42:59  macce
-*! * Hack to make RTC work on all 2100/2400
-*!
-*! Revision 1.8  2000/02/23 16:59:18  torbjore
-*! added setup of R_GEN_CONFIG when RTC is connected to the generic port.
-*!
-*! Revision 1.7  2000/01/17 15:51:43  johana
-*! Added RTC_SET_CHARGE ioctl to enable trickle charger.
-*!
-*! Revision 1.6  1999/10/27 13:19:47  bjornw
-*! Added update_xtime_from_cmos which reads back the updated RTC into the 
kernel.
-*! /dev/rtc calls it now.
-*!
-*! Revision 1.5  1999/10/27 12:39:37  bjornw
-*! Disabled superuser check. Anyone can now set the time.
-*!
-*! Revision 1.4  1999/09/02 13:27:46  

uvesafb: fix section mismatch warnings

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=27b526a09086d563d61cf0e0fdd5c8e3f3c295d4
Commit: 27b526a09086d563d61cf0e0fdd5c8e3f3c295d4
Parent: d2d159dbd51a99abdd4ae02fecc68cd1e0b0558e
Author: Randy Dunlap [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:24 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:23 2008 -0800

uvesafb: fix section mismatch warnings

Mark uvesafb_init_mtrr() as __devinit since its caller is __devinit
and since it accesses __devinitdata.

WARNING: vmlinux.o(.text+0x4df80e): Section mismatch: reference to 
.init.data: (between 'uvesafb_init_mtrr' and 'uvesafb_show_vbe_ver')

Variable 'blank' cannot be __devinitdata since it is referenced in an
fb_ops method that could be called at any time.

WARNING: vmlinux.o(.text+0x4dfc1e): Section mismatch: reference to 
.init.data:blank (between 'param_set_scroll' and 'vesa_setpalette')
WARNING: vmlinux.o(.text+0x4dfc24): Section mismatch: reference to 
.init.data:blank (between 'param_set_scroll' and 'vesa_setpalette')

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
Cc: Antonino A. Daplas [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/video/uvesafb.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/video/uvesafb.c b/drivers/video/uvesafb.c
index d1d6c0f..a14ef89 100644
--- a/drivers/video/uvesafb.c
+++ b/drivers/video/uvesafb.c
@@ -43,7 +43,7 @@ static struct fb_fix_screeninfo uvesafb_fix __devinitdata = {
 };
 
 static int mtrr__devinitdata = 3; /* enable mtrr by default */
-static int blank   __devinitdata = 1; /* enable blanking by default */
+static int blank   = 1;   /* enable blanking by default */
 static int ypan__devinitdata = 1; /* 0: scroll, 1: ypan, 2: 
ywrap */
 static int pmi_setpal  __devinitdata = 1; /* use PMI for palette changes */
 static int nocrtc  __devinitdata; /* ignore CRTC settings */
@@ -1549,7 +1549,7 @@ static void __devinit uvesafb_init_info(struct fb_info 
*info,
info-fbops-fb_pan_display = NULL;
 }
 
-static void uvesafb_init_mtrr(struct fb_info *info)
+static void __devinit uvesafb_init_mtrr(struct fb_info *info)
 {
 #ifdef CONFIG_MTRR
if (mtrr  !(info-fix.smem_start  (PAGE_SIZE - 1))) {
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


hugetlbfs: fix quota leak

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=68842c9b94560e647e8e7cc75cbb3dbe59f6fcb5
Commit: 68842c9b94560e647e8e7cc75cbb3dbe59f6fcb5
Parent: 747d016e7e25e216b31022fe2b012508d99fb682
Author: Ken Chen [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:19 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:23 2008 -0800

hugetlbfs: fix quota leak

In the error path of both shared and private hugetlb page allocation,
the file system quota is never undone, leading to fs quota leak.  Fix
them up.

[EMAIL PROTECTED]: cleanup, micro-optimise]
Signed-off-by: Ken Chen [EMAIL PROTECTED]
Acked-by: Adam Litke [EMAIL PROTECTED]
Cc: David Gibson [EMAIL PROTECTED]
Cc: William Lee Irwin III [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 mm/hugetlb.c |   13 ++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 7224a4f..e0fda15 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -418,9 +418,14 @@ static struct page *alloc_huge_page_private(struct 
vm_area_struct *vma,
if (free_huge_pages  resv_huge_pages)
page = dequeue_huge_page(vma, addr);
spin_unlock(hugetlb_lock);
-   if (!page)
+   if (!page) {
page = alloc_buddy_huge_page(vma, addr);
-   return page ? page : ERR_PTR(-VM_FAULT_OOM);
+   if (!page) {
+   hugetlb_put_quota(vma-vm_file-f_mapping, 1);
+   return ERR_PTR(-VM_FAULT_OOM);
+   }
+   }
+   return page;
 }
 
 static struct page *alloc_huge_page(struct vm_area_struct *vma,
@@ -1206,8 +1211,10 @@ int hugetlb_reserve_pages(struct inode *inode, long 
from, long to)
if (hugetlb_get_quota(inode-i_mapping, chg))
return -ENOSPC;
ret = hugetlb_acct_memory(chg);
-   if (ret  0)
+   if (ret  0) {
+   hugetlb_put_quota(inode-i_mapping, chg);
return ret;
+   }
region_add(inode-i_mapping-private_list, from, to);
return 0;
 }
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


CRIS v10: correct do_signal to fix oops and clean up signal handling in general

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4858d4dab4580ec8b1fb7576f91522b6962502c
Commit: a4858d4dab4580ec8b1fb7576f91522b6962502c
Parent: 3ea0345be38555c6a1a04ed7e9c015a42e76bd0e
Author: Jesper Nilsson [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:22 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:23 2008 -0800

CRIS v10: correct do_signal to fix oops and clean up signal handling in 
general

This fixes a kernel panic on boot due to do_signal not being compatible
with it's callers.

- do_signal now returns void, and does not have the previous signal set
  as a parameter.
- Remove sys_rt_sigsuspend, we can use the common one instead.
- Change sys_sigsuspend to be more like x86, don't call do_signal here.
- handle_signal, setup_frame and setup_rt_frame now return -EFAULT
  if we've delivered a segfault, which is used by callers to perform
  necessary cleanup.
- Break long lines, correct whitespace and formatting errors.

Signed-off-by: Jesper Nilsson [EMAIL PROTECTED]
Cc: Mikael Starvik [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/cris/arch-v10/kernel/signal.c |  251 
 1 files changed, 112 insertions(+), 139 deletions(-)

diff --git a/arch/cris/arch-v10/kernel/signal.c 
b/arch/cris/arch-v10/kernel/signal.c
index 41d4a5f..b6be705 100644
--- a/arch/cris/arch-v10/kernel/signal.c
+++ b/arch/cris/arch-v10/kernel/signal.c
@@ -7,7 +7,7 @@
  *
  *  Ideas also taken from arch/arm.
  *
- *  Copyright (C) 2000, 2001 Axis Communications AB
+ *  Copyright (C) 2000-2007 Axis Communications AB
  *
  *  Authors:  Bjorn Wesen ([EMAIL PROTECTED])
  *
@@ -40,84 +40,30 @@
  */
 #define RESTART_CRIS_SYS(regs) regs-r10 = regs-orig_r10; regs-irp -= 2;
 
-int do_signal(int canrestart, sigset_t *oldset, struct pt_regs *regs);
+void do_signal(int canrestart, struct pt_regs *regs);
 
 /*
- * Atomically swap in the new signal mask, and wait for a signal.  Define 
+ * Atomically swap in the new signal mask, and wait for a signal.  Define
  * dummy arguments to be able to reach the regs argument.  (Note that this
  * arrangement relies on old_sigset_t occupying one register.)
  */
-int
-sys_sigsuspend(old_sigset_t mask, long r11, long r12, long r13, long mof, 
-   long srp, struct pt_regs *regs)
+int sys_sigsuspend(old_sigset_t mask, long r11, long r12, long r13, long mof,
+   long srp, struct pt_regs *regs)
 {
-   sigset_t saveset;
-
mask = _BLOCKABLE;
spin_lock_irq(current-sighand-siglock);
-   saveset = current-blocked;
+   current-saved_sigmask = current-blocked;
siginitset(current-blocked, mask);
recalc_sigpending();
spin_unlock_irq(current-sighand-siglock);
-
-   regs-r10 = -EINTR;
-   while (1) {
-   current-state = TASK_INTERRUPTIBLE;
-   schedule();
-   if (do_signal(0, saveset, regs))
-   /* We will get here twice: once to call the signal
-  handler, then again to return from the
-  sigsuspend system call.  When calling the
-  signal handler, R10 holds the signal number as
-  set through do_signal.  The sigsuspend call
-  will return with the restored value set above;
-  always -EINTR.  */
-   return regs-r10;
-   }
+   current-state = TASK_INTERRUPTIBLE;
+   schedule();
+   set_thread_flag(TIF_RESTORE_SIGMASK);
+   return -ERESTARTNOHAND;
 }
 
-/* Define dummy arguments to be able to reach the regs argument.  (Note that
- * this arrangement relies on size_t occupying one register.)
- */
-int
-sys_rt_sigsuspend(sigset_t *unewset, size_t sigsetsize, long r12, long r13, 
-  long mof, long srp, struct pt_regs *regs)
-{
-   sigset_t saveset, newset;
-
-   /* XXX: Don't preclude handling different sized sigset_t's.  */
-   if (sigsetsize != sizeof(sigset_t))
-   return -EINVAL;
-
-   if (copy_from_user(newset, unewset, sizeof(newset)))
-   return -EFAULT;
-   sigdelsetmask(newset, ~_BLOCKABLE);
-
-   spin_lock_irq(current-sighand-siglock);
-   saveset = current-blocked;
-   current-blocked = newset;
-   recalc_sigpending();
-   spin_unlock_irq(current-sighand-siglock);
-
-   regs-r10 = -EINTR;
-   while (1) {
-   current-state = TASK_INTERRUPTIBLE;
-   schedule();
-   if (do_signal(0, saveset, regs))
-   /* We will get here twice: once to call the signal
-  handler, then again to return from the
-  sigsuspend system call.  When calling the
-  

CRIS: define __ARCH_WANT_SYS_RT_SIGSUSPEND in unistd.h for CRIS

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ea0345be38555c6a1a04ed7e9c015a42e76bd0e
Commit: 3ea0345be38555c6a1a04ed7e9c015a42e76bd0e
Parent: f0466441492dc17d0749ef0cce9831fc7e4a7a5d
Author: Jesper Nilsson [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:22 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:23 2008 -0800

CRIS: define __ARCH_WANT_SYS_RT_SIGSUSPEND in unistd.h for CRIS

This allows us to use the commong sys_rt_sigsuspend instead of
having our own.

Signed-off-by: Jesper Nilsson [EMAIL PROTECTED]
Cc: Mikael Starvik [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 include/asm-cris/unistd.h |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/include/asm-cris/unistd.h b/include/asm-cris/unistd.h
index 6f2d924..bd57a79 100644
--- a/include/asm-cris/unistd.h
+++ b/include/asm-cris/unistd.h
@@ -358,6 +358,7 @@
 #define __ARCH_WANT_SYS_SIGPENDING
 #define __ARCH_WANT_SYS_SIGPROCMASK
 #define __ARCH_WANT_SYS_RT_SIGACTION
+#define __ARCH_WANT_SYS_RT_SIGSUSPEND
 
 /*
  * Conditional syscalls
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


CRIS v10: kernel/time.c needs to include linux/vmstat.h to compile

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d2d159dbd51a99abdd4ae02fecc68cd1e0b0558e
Commit: d2d159dbd51a99abdd4ae02fecc68cd1e0b0558e
Parent: a4858d4dab4580ec8b1fb7576f91522b6962502c
Author: Jesper Nilsson [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:23 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:23 2008 -0800

CRIS v10: kernel/time.c needs to include linux/vmstat.h to compile

This fixes compile error when nr_free_pages() from linux/swap.h
expands to global_page_state(NR_FREE_PAGES), but linux/vmstat.h isn't
included to declare global_page_state().

Signed-off-by: Jesper Nilsson [EMAIL PROTECTED]
Cc: Mikael Starvik [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/cris/arch-v10/kernel/time.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/cris/arch-v10/kernel/time.c b/arch/cris/arch-v10/kernel/time.c
index 5976f61..9310a7b 100644
--- a/arch/cris/arch-v10/kernel/time.c
+++ b/arch/cris/arch-v10/kernel/time.c
@@ -13,6 +13,7 @@
 #include linux/swap.h
 #include linux/sched.h
 #include linux/init.h
+#include linux/vmstat.h
 #include asm/arch/svinto.h
 #include asm/types.h
 #include asm/signal.h
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


s3c2410fb: fix incorrect argument type in resume function

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f0466441492dc17d0749ef0cce9831fc7e4a7a5d
Commit: f0466441492dc17d0749ef0cce9831fc7e4a7a5d
Parent: 68842c9b94560e647e8e7cc75cbb3dbe59f6fcb5
Author: Krzysztof Helt [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:20 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:23 2008 -0800

s3c2410fb: fix incorrect argument type in resume function

Fix wrong pointer type passed into the s3c2410fb_init_registers()
function.

Signed-off-by: Krzysztof Helt [EMAIL PROTECTED]
Cc: Antonino A. Daplas [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/video/s3c2410fb.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/video/s3c2410fb.c b/drivers/video/s3c2410fb.c
index 5857ccf..ad35033 100644
--- a/drivers/video/s3c2410fb.c
+++ b/drivers/video/s3c2410fb.c
@@ -1026,7 +1026,7 @@ static int s3c2410fb_resume(struct platform_device *dev)
clk_enable(info-clk);
msleep(1);
 
-   s3c2410fb_init_registers(info);
+   s3c2410fb_init_registers(fbinfo);
 
return 0;
 }
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Input: jornada680_kbd - fix default keymap

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c64681effcbf349cf9137b8a120badc72340dd4
Commit: 4c64681effcbf349cf9137b8a120badc72340dd4
Parent: 22d1c398e852e7f0ace3482e662886386ef15725
Author: Kristoffer Ericson [EMAIL PROTECTED]
AuthorDate: Fri Dec 14 01:21:14 2007 -0500
Committer:  Dmitry Torokhov [EMAIL PROTECTED]
CommitDate: Fri Dec 14 01:21:14 2007 -0500

Input: jornada680_kbd - fix default keymap

This patch fixes the HP Jornada 6xx keyboard default keymap which had some
bad keymap values. This resulted in wrong key being returned when pressed
(for example, key 'y' returned 'r').

Also, while we are at it lets arrange the include files in alphabetical 
order.

Signed-off-by: Kristoffer Ericson [EMAIL PROTECTED]
Signed-off-by: Dmitry Torokhov [EMAIL PROTECTED]
---
 drivers/input/keyboard/jornada680_kbd.c |   40 +++---
 1 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/drivers/input/keyboard/jornada680_kbd.c 
b/drivers/input/keyboard/jornada680_kbd.c
index bec1cf4..a23633a 100644
--- a/drivers/input/keyboard/jornada680_kbd.c
+++ b/drivers/input/keyboard/jornada680_kbd.c
@@ -16,14 +16,14 @@
  * published by the Free Software Foundation.
  */
 
-#include linux/input.h
-#include linux/kernel.h
-#include linux/module.h
 #include linux/init.h
+#include linux/input.h
 #include linux/input-polldev.h
+#include linux/interrupt.h
 #include linux/jiffies.h
+#include linux/kernel.h
+#include linux/module.h
 #include linux/platform_device.h
-#include linux/interrupt.h
 
 #include asm/delay.h
 #include asm/io.h
@@ -43,22 +43,22 @@
 #define PLDR 0xa4000134
 
 static const unsigned short jornada_scancodes[] = {
-/* PTD1 */ KEY_CAPSLOCK, KEY_MACRO, KEY_LEFTCTRL, 0, KEY_ESC, 0, 0, 0, 
/*  1  - 8   */
-   KEY_F1, KEY_F2, KEY_F3, KEY_F8, KEY_F7, KEY_F2, KEY_F4, KEY_F5, 
/*  9  - 16  */
-/* PTD5 */ KEY_SLASH, KEY_APOSTROPHE, KEY_ENTER, 0, KEY_Z, 0, 0, 0,
/*  17 - 24  */
-   KEY_X, KEY_C, KEY_V, KEY_DOT, KEY_COMMA, KEY_M, KEY_B, KEY_N,   
/*  25 - 32  */
-/* PTD7 */ KEY_KP2, KEY_KP6, 0, 0, 0, 0, 0, 0, 
/*  33 - 40  */
-   0, 0, 0, KEY_KP4, 0, 0, KEY_LEFTALT, KEY_HANJA, 
/*  41 - 48  */
-/* PTE0 */ 0, 0, 0, 0, KEY_FINANCE, 0, 0, 0,   
/*  49 - 56  */
-   KEY_LEFTCTRL, 0, KEY_SPACE, KEY_KPDOT, KEY_VOLUMEUP, 249, 0, 0, 
/*  57 - 64  */
-/* PTE1 */ KEY_SEMICOLON, KEY_RIGHTBRACE, KEY_BACKSLASH, 0, KEY_A, 0, 0, 
0,/*  65 - 72  */
-   KEY_S, KEY_D, KEY_F, KEY_L, KEY_K, KEY_J, KEY_G, KEY_H, 
/*  73 - 80  */
-/* PTE3 */ KEY_KP8, KEY_LEFTMETA, KEY_RIGHTSHIFT, 0, KEY_TAB, 0, 0,0,  
/*  81 - 88  */
-   0, KEY_LEFTSHIFT, 0, 0, 0, 0, 0, 0, 
/*  89 - 96  */
-/* PTE6 */ KEY_P, KEY_LEFTBRACE, KEY_BACKSPACE, 0, KEY_Q, 0, 0, 0, 
/*  97 - 104 */
-   KEY_W, KEY_E, KEY_R, KEY_O, KEY_I, KEY_U, KEY_T, KEY_R, 
/* 105 - 112 */
-/* PTE7 */ KEY_0, KEY_MINUS, KEY_EQUAL, 0, KEY_1, 0, 0, 0, 
/* 113 - 120 */
-   KEY_2, KEY_3, KEY_4, KEY_9, KEY_8, KEY_7, KEY_5, KEY_6, 
/* 121 - 128 */
+/* PTD1 */ KEY_CAPSLOCK, KEY_MACRO, KEY_LEFTCTRL, 0, KEY_ESC, KEY_KP5, 0, 
0,   /*  1  - 8   */
+   KEY_F1, KEY_F2, KEY_F3, KEY_F8, KEY_F7, KEY_F6, KEY_F4, KEY_F5, 
/*  9  - 16  */
+/* PTD5 */ KEY_SLASH, KEY_APOSTROPHE, KEY_ENTER, 0, KEY_Z, 0, 0, 0,
/*  17 - 24  */
+   KEY_X, KEY_C, KEY_V, KEY_DOT, KEY_COMMA, KEY_M, KEY_B, KEY_N,   
/*  25 - 32  */
+/* PTD7 */ KEY_KP2, KEY_KP6, KEY_KP3, 0, 0, 0, 0, 0,   
/*  33 - 40  */
+   KEY_F10, KEY_RO, KEY_F9, KEY_KP4, KEY_NUMLOCK, KEY_SCROLLLOCK, 
KEY_LEFTALT, KEY_HANJA,  /*  41 - 48  */
+/* PTE0 */ KEY_KATAKANA, KEY_KP0, KEY_GRAVE, 0, KEY_FINANCE, 0, 0, 0,  
/*  49 - 56  */
+   KEY_KPMINUS, KEY_HIRAGANA, KEY_SPACE, KEY_KPDOT, KEY_VOLUMEUP, 
249, 0, 0,   /*  57 - 64  */
+/* PTE1 */ KEY_SEMICOLON, KEY_RIGHTBRACE, KEY_BACKSLASH, 0, KEY_A, 0, 0, 
0,/*  65 - 72  */
+   KEY_S, KEY_D, KEY_F, KEY_L, KEY_K, KEY_J, KEY_G, KEY_H, 
/*  73 - 80  */
+/* PTE3 */ KEY_KP8, KEY_LEFTMETA, KEY_RIGHTSHIFT, 0, KEY_TAB, 0, 0, 0, 
/*  81 - 88  */
+   0, KEY_LEFTSHIFT, KEY_KP7, KEY_KP9, KEY_KP1, KEY_F11, 
KEY_KPPLUS, KEY_KPASTERISK,   /*  89 - 96  */
+/* PTE6 */ KEY_P, KEY_LEFTBRACE, KEY_BACKSPACE, 0, KEY_Q, 0, 0, 0, 
/*  97 - 104 */
+   KEY_W, KEY_E, KEY_R, KEY_O, KEY_I, KEY_U, KEY_T, KEY_Y, 
/* 

Input: spitzkbd - fix suspend key handling

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9fe4f2aadc3067e36f211f9d8a01634bbc4f7eb4
Commit: 9fe4f2aadc3067e36f211f9d8a01634bbc4f7eb4
Parent: f5ad58675149077b2046905d54fb831873288058
Author: Richard Purdie [EMAIL PROTECTED]
AuthorDate: Thu Jan 3 10:46:13 2008 -0500
Committer:  Dmitry Torokhov [EMAIL PROTECTED]
CommitDate: Thu Jan 3 10:46:13 2008 -0500

Input: spitzkbd - fix suspend key handling

The spitz keyboard driver reports KEY_SUSPEND events but doesn't
register its use of this event in the keybit bitfield, breaking
input events for this key. This patch fixes that by registering
the key in the keybit bitfield.

Signed-off-by: Richard Purdie [EMAIL PROTECTED]
Signed-off-by: Dmitry Torokhov [EMAIL PROTECTED]
---
 drivers/input/keyboard/spitzkbd.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/input/keyboard/spitzkbd.c 
b/drivers/input/keyboard/spitzkbd.c
index 410d78a..1d59a2d 100644
--- a/drivers/input/keyboard/spitzkbd.c
+++ b/drivers/input/keyboard/spitzkbd.c
@@ -391,6 +391,7 @@ static int __init spitzkbd_probe(struct platform_device 
*dev)
for (i = 0; i  ARRAY_SIZE(spitzkbd_keycode); i++)
set_bit(spitzkbd-keycode[i], input_dev-keybit);
clear_bit(0, input_dev-keybit);
+   set_bit(KEY_SUSPEND, input_dev-keybit);
set_bit(SW_LID, input_dev-swbit);
set_bit(SW_TABLET_MODE, input_dev-swbit);
set_bit(SW_HEADPHONE_INSERT, input_dev-swbit);
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Input: pass EV_PWR events to event handlers

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ed2fa4dd41adcac0b82dea029bfb7d856a899258
Commit: ed2fa4dd41adcac0b82dea029bfb7d856a899258
Parent: 9fe4f2aadc3067e36f211f9d8a01634bbc4f7eb4
Author: Richard Purdie [EMAIL PROTECTED]
AuthorDate: Thu Jan 3 10:46:21 2008 -0500
Committer:  Dmitry Torokhov [EMAIL PROTECTED]
CommitDate: Thu Jan 3 10:46:21 2008 -0500

Input: pass EV_PWR events to event handlers

input_handle_event() used to pass EV_PWR events to event handlers
but no longer does so in 2.6.23. Modules to trigger power management
events based on input power events exist but rely on the EV_PWR events
being passed to the input event handlers.

Signed-off-by: Richard Purdie [EMAIL PROTECTED]
Signed-off-by: Dmitry Torokhov [EMAIL PROTECTED]
---
 drivers/input/input.c |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/input/input.c b/drivers/input/input.c
index c0837d3..a0be978 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -235,6 +235,10 @@ static void input_handle_event(struct input_dev *dev,
if (value = 0)
disposition = INPUT_PASS_TO_ALL;
break;
+
+   case EV_PWR:
+   disposition = INPUT_PASS_TO_ALL;
+   break;
}
 
if (type != EV_SYN)
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Input: improve Kconfig help entries for HP Jornada devices

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ff891eb3d3dd6854f11d616c6397a0e403f4e88
Commit: 4ff891eb3d3dd6854f11d616c6397a0e403f4e88
Parent: ed2fa4dd41adcac0b82dea029bfb7d856a899258
Author: Kristoffer Ericson [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:54:23 2008 -0500
Committer:  Dmitry Torokhov [EMAIL PROTECTED]
CommitDate: Mon Jan 14 00:54:23 2008 -0500

Input: improve Kconfig help entries for HP Jornada devices

Signed-off-by: Kristoffer Ericson [EMAIL PROTECTED]
Signed-off-by: Dmitry Torokhov [EMAIL PROTECTED]
---
 drivers/input/keyboard/Kconfig|   12 ++--
 drivers/input/touchscreen/Kconfig |8 +++-
 2 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig
index dfa6592..086d58c 100644
--- a/drivers/input/keyboard/Kconfig
+++ b/drivers/input/keyboard/Kconfig
@@ -209,22 +209,22 @@ config KEYBOARD_HIL
  to your machine, so normally you should say Y here.
 
 config KEYBOARD_HP6XX
-   tristate HP Jornada 6XX Keyboard support
+   tristate HP Jornada 6xx keyboard
depends on SH_HP6XX
select INPUT_POLLDEV
help
- This adds support for the onboard keyboard found on
- HP Jornada 620/660/680/690.
+ Say Y here if you have a HP Jornada 620/660/680/690 and want to
+ support the built-in keyboard.
 
  To compile this driver as a module, choose M here: the
  module will be called jornada680_kbd.
 
 config KEYBOARD_HP7XX
-   tristate HP Jornada 7XX Keyboard Driver
+   tristate HP Jornada 7xx keyboard
depends on SA1100_JORNADA720_SSP  SA1100_SSP
help
- Say Y here to add support for the HP Jornada 7xx (710/720/728)
- onboard keyboard.
+ Say Y here if you have a HP Jornada 710/720/728 and want to
+ support the built-in keyboard.
 
  To compile this driver as a module, choose M here: the
  module will be called jornada720_kbd.
diff --git a/drivers/input/touchscreen/Kconfig 
b/drivers/input/touchscreen/Kconfig
index fa8442b..90e8e92 100644
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -115,19 +115,17 @@ config TOUCHSCREEN_MK712
  module will be called mk712.
 
 config TOUCHSCREEN_HP600
-   tristate HP Jornada 680/690 touchscreen
+   tristate HP Jornada 6xx touchscreen
depends on SH_HP6XX  SH_ADC
help
- Say Y here if you have a HP Jornada 680 or 690 and want to
+ Say Y here if you have a HP Jornada 620/660/680/690 and want to
   support the built-in touchscreen.
 
- If unsure, say N.
-
  To compile this driver as a module, choose M here: the
  module will be called hp680_ts_input.
 
 config TOUCHSCREEN_HP7XX
-   tristate HP Jornada 710/720/728 touchscreen
+   tristate HP Jornada 7xx touchscreen
depends on SA1100_JORNADA720_SSP
help
  Say Y here if you have a HP Jornada 710/720/728 and want
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


advansys: fix section mismatch warning

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=747d016e7e25e216b31022fe2b012508d99fb682
Commit: 747d016e7e25e216b31022fe2b012508d99fb682
Parent: 7d1fd970e4b2e84a624b3274669fa642fcd19c98
Author: Randy Dunlap [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:18 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:23 2008 -0800

advansys: fix section mismatch warning

Fix section mismatch warning:

WARNING: vmlinux.o(.exit.text+0x152a): Section mismatch: reference to 
.init.data:_asc_def_iop_base (between 'advansys_isa_remove' and 'advansys_exit')

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
Cc: Matthew Wilcox [EMAIL PROTECTED]
Cc: James Bottomley [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/scsi/advansys.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c
index 9dd3952..38a1ee2 100644
--- a/drivers/scsi/advansys.c
+++ b/drivers/scsi/advansys.c
@@ -13906,7 +13906,7 @@ static int advansys_release(struct Scsi_Host *shost)
 
 #define ASC_IOADR_TABLE_MAX_IX  11
 
-static PortAddr _asc_def_iop_base[ASC_IOADR_TABLE_MAX_IX] __devinitdata = {
+static PortAddr _asc_def_iop_base[ASC_IOADR_TABLE_MAX_IX] = {
0x100, 0x0110, 0x120, 0x0130, 0x140, 0x0150, 0x0190,
0x0210, 0x0230, 0x0250, 0x0330
 };
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


w1: decrement slave counter only in -release() callback

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a2a6c74d34c3ae9de6825767a30ab17f709b59ce
Commit: a2a6c74d34c3ae9de6825767a30ab17f709b59ce
Parent: cb2a52052cebe4716e83b9d2e53682ba00f67de6
Author: Evgeniy Polyakov [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 00:55:08 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 08:52:22 2008 -0800

w1: decrement slave counter only in -release() callback

Decrement the slave counter only in -release() callback instead of both
in -release() and w1 control.

Patch is based on debug work and preliminary patch made by Henri Laakso.
Henri noticed in debug that this counter becomes negative after w1 slave
device is physically removed.

Signed-off-by: Evgeniy Polyakov [EMAIL PROTECTED]
Cc: Henri Laakso [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/w1/w1.c |6 ++
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/w1/w1.c b/drivers/w1/w1.c
index 0702173..33e5031 100644
--- a/drivers/w1/w1.c
+++ b/drivers/w1/w1.c
@@ -869,11 +869,9 @@ void w1_search_process(struct w1_master *dev, u8 
search_type)
w1_search_devices(dev, search_type, w1_slave_found);
 
list_for_each_entry_safe(sl, sln, dev-slist, w1_slave_entry) {
-   if (!test_bit(W1_SLAVE_ACTIVE, (unsigned long *)sl-flags)  
!--sl-ttl) {
+   if (!test_bit(W1_SLAVE_ACTIVE, (unsigned long *)sl-flags)  
!--sl-ttl)
w1_slave_detach(sl);
-
-   dev-slave_count--;
-   } else if (test_bit(W1_SLAVE_ACTIVE, (unsigned long 
*)sl-flags))
+   else if (test_bit(W1_SLAVE_ACTIVE, (unsigned long *)sl-flags))
sl-ttl = dev-slave_ttl;
}
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


fix the remove task_ppid_nr_ns commit

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a98fdcef941e107eeabae622d85a1f476f25a160
Commit: a98fdcef941e107eeabae622d85a1f476f25a160
Parent: 4fd3670eb1d3c33e8952cf1e79edbb2d517dcfb5
Author: Oleg Nesterov [EMAIL PROTECTED]
AuthorDate: Tue Jan 15 00:02:37 2008 +0300
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 13:23:00 2008 -0800

fix the remove task_ppid_nr_ns commit

Commit 84427eaef1fb91704c7112bdb598c810003b99f3 (remove task_ppid_nr_ns)
moved the task_tgid_nr_ns(task-real_parent) outside of lock_task_sighand().
This is wrong, -real_parent could be freed/reused.

Both -parent/real_parent point to nothing after __exit_signal() because
we remove the child from -children list, and thus the child can't be
reparented when its parent exits.

rcu_read_lock() protects -parent/real_parent, but _only_ if we know it was
valid before we take rcu lock.

Revert this part of the patch.

Signed-off-by: Oleg Nesterov [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/proc/array.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/proc/array.c b/fs/proc/array.c
index 810eb8f..eb97f28 100644
--- a/fs/proc/array.c
+++ b/fs/proc/array.c
@@ -426,7 +426,6 @@ static int do_task_stat(struct task_struct *task, char 
*buffer, int whole)
cgtime = gtime = cputime_zero;
 
rcu_read_lock();
-   ppid = task_tgid_nr_ns(task-real_parent, ns);
if (lock_task_sighand(task, flags)) {
struct signal_struct *sig = task-signal;
 
@@ -465,6 +464,7 @@ static int do_task_stat(struct task_struct *task, char 
*buffer, int whole)
}
 
sid = task_session_nr_ns(task, ns);
+   ppid = task_tgid_nr_ns(task-real_parent, ns);
pgid = task_pgrp_nr_ns(task, ns);
 
unlock_task_sighand(task, flags);
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


i2c-omap: Fix NULL pointer dereferencing

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e39752d5367f9087e058abe768708165e1ec373
Commit: 3e39752d5367f9087e058abe768708165e1ec373
Parent: 1a1b285c24e1468afe82b09330dde5192a6e0013
Author: Tony Lindgren [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 21:53:30 2008 +0100
Committer:  Jean Delvare [EMAIL PROTECTED]
CommitDate: Mon Jan 14 21:53:30 2008 +0100

i2c-omap: Fix NULL pointer dereferencing

This patch fixes bug #9581 reported by Marcio Buss. If kzalloc fails,
omap_i2c_write_reg() tries to reset an unallocated I2C controller.

Cc: Marcio Buss [EMAIL PROTECTED]
Signed-off-by: Tony Lindgren [EMAIL PROTECTED]
Signed-off-by: Jean Delvare [EMAIL PROTECTED]
---
 drivers/i2c/busses/i2c-omap.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index cb55cf2..f2552b1 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -619,13 +619,13 @@ omap_i2c_probe(struct platform_device *pdev)
 err_free_irq:
free_irq(dev-irq, dev);
 err_unuse_clocks:
+   omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0);
omap_i2c_disable_clocks(dev);
omap_i2c_put_clocks(dev);
 err_free_mem:
platform_set_drvdata(pdev, NULL);
kfree(dev);
 err_release_region:
-   omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0);
release_mem_region(mem-start, (mem-end - mem-start) + 1);
 
return r;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


i2c: Spelling fixes

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=96acafe05fad2c9429ca2c39af47efc5db2d8042
Commit: 96acafe05fad2c9429ca2c39af47efc5db2d8042
Parent: 3e39752d5367f9087e058abe768708165e1ec373
Author: Joe Perches [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 21:53:30 2008 +0100
Committer:  Jean Delvare [EMAIL PROTECTED]
CommitDate: Mon Jan 14 21:53:30 2008 +0100

i2c: Spelling fixes

[JD: One more fix in i2c-dev.]

Signed-off-by: Joe Perches [EMAIL PROTECTED]
Signed-off-by: Jean Delvare [EMAIL PROTECTED]
---
 drivers/i2c/busses/i2c-at91.c |2 +-
 drivers/i2c/busses/i2c-powermac.c |2 +-
 drivers/i2c/i2c-dev.c |2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
index 9c8b6d5..c09b036 100644
--- a/drivers/i2c/busses/i2c-at91.c
+++ b/drivers/i2c/busses/i2c-at91.c
@@ -135,7 +135,7 @@ static int xfer_write(struct i2c_adapter *adap, unsigned 
char *buf, int length)
  * Generic i2c master transfer entrypoint.
  *
  * Note: We do not use Atmel's feature of storing the internal device 
address.
- * Instead the internal device address has to be written using a seperate
+ * Instead the internal device address has to be written using a separate
  * i2c message.
  * 
http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2004-September/024411.html
  */
diff --git a/drivers/i2c/busses/i2c-powermac.c 
b/drivers/i2c/busses/i2c-powermac.c
index 0ab4f26..7813127 100644
--- a/drivers/i2c/busses/i2c-powermac.c
+++ b/drivers/i2c/busses/i2c-powermac.c
@@ -94,7 +94,7 @@ static s32 i2c_powermac_smbus_xfer(   struct i2c_adapter* 
adap,
break;
 
/* Note that these are broken vs. the expected smbus API where
-* on reads, the lenght is actually returned from the function,
+* on reads, the length is actually returned from the function,
 * but I think the current API makes no sense and I don't want
 * any driver that I haven't verified for correctness to go
 * anywhere near a pmac i2c bus anyway ...
diff --git a/drivers/i2c/i2c-dev.c b/drivers/i2c/i2c-dev.c
index c21ae20..df540d5 100644
--- a/drivers/i2c/i2c-dev.c
+++ b/drivers/i2c/i2c-dev.c
@@ -184,7 +184,7 @@ static ssize_t i2cdev_write (struct file *file, const char 
__user *buf, size_t c
 
 /* This address checking function differs from the one in i2c-core
in that it considers an address with a registered device, but no
-   bounded driver, as NOT busy. */
+   bound driver, as NOT busy. */
 static int i2cdev_check_addr(struct i2c_adapter *adapter, unsigned int addr)
 {
struct list_head *item;
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


i2c: Driver IDs are optional

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f9dd0194ff23d612e463be764d73da7825da4aa1
Commit: f9dd0194ff23d612e463be764d73da7825da4aa1
Parent: 96acafe05fad2c9429ca2c39af47efc5db2d8042
Author: Jean Delvare [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 21:53:31 2008 +0100
Committer:  Jean Delvare [EMAIL PROTECTED]
CommitDate: Mon Jan 14 21:53:31 2008 +0100

i2c: Driver IDs are optional

Document the fact that I2C driver IDs are optional.

Signed-off-by: Jean Delvare [EMAIL PROTECTED]
---
 include/linux/i2c-id.h |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/include/linux/i2c-id.h b/include/linux/i2c-id.h
index 88c8140..e18017d 100644
--- a/include/linux/i2c-id.h
+++ b/include/linux/i2c-id.h
@@ -23,6 +23,10 @@
 #ifndef LINUX_I2C_ID_H
 #define LINUX_I2C_ID_H
 
+/* Please note that I2C driver IDs are optional. They are only needed if a
+   legacy chip driver needs to identify a bus or a bus driver needs to
+   identify a legacy client. If you don't need them, just don't set them. */
+
 /*
  *  Driver types -
  */
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[MIPS] Cobalt: Fix ethernet interrupts for RaQ1

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6c0f32ee8d21e800097fc35ba8ab2b5a3b9bdfa
Commit: f6c0f32ee8d21e800097fc35ba8ab2b5a3b9bdfa
Parent: 2f02c15a5d963007bd721d76f644c9491f6fec06
Author: Thomas Bogendoerfer [EMAIL PROTECTED]
AuthorDate: Sat Jan 12 00:25:14 2008 +0100
Committer:  Ralf Baechle [EMAIL PROTECTED]
CommitDate: Tue Jan 15 01:04:42 2008 +

[MIPS] Cobalt: Fix ethernet interrupts for RaQ1

RAQ1 uses the same interrupt routing as Qube2.

Signed-off-by: Thomas Bogendoerfer [EMAIL PROTECTED]
Signed-off-by: Ralf Baechle [EMAIL PROTECTED]
---
 arch/mips/pci/fixup-cobalt.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/mips/pci/fixup-cobalt.c b/arch/mips/pci/fixup-cobalt.c
index f7df114..9553b14 100644
--- a/arch/mips/pci/fixup-cobalt.c
+++ b/arch/mips/pci/fixup-cobalt.c
@@ -177,7 +177,7 @@ static char irq_tab_raq2[] __initdata = {
 
 int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
 {
-   if (cobalt_board_id  COBALT_BRD_ID_QUBE2)
+   if (cobalt_board_id = COBALT_BRD_ID_QUBE1)
return irq_tab_qube1[slot];
 
if (cobalt_board_id == COBALT_BRD_ID_RAQ2)
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Revert writeback: introduce writeback_control.more_io to indicate more io

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c23f72cae9523d29ff94eec8f30ccbdaf234b20e
Commit: c23f72cae9523d29ff94eec8f30ccbdaf234b20e
Parent: 031f2dcd7075e218e74dd7f942ad015cf82dffab
Author: Linus Torvalds [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 21:21:29 2008 -0800
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Mon Jan 14 21:21:29 2008 -0800

Revert writeback: introduce writeback_control.more_io to indicate more io

This reverts commit 2e6883bdf49abd0e7f0d9b6297fc3be7ebb2250b, as
requested by Fengguang Wu.  It's not quite fully baked yet, and while
there are patches around to fix the problems it caused, they should get
more testing.  Says Fengguang: I'll resend them both for -mm later on,
in a more complete patchset.

See

http://bugzilla.kernel.org/show_bug.cgi?id=9738

for some of this discussion.

Requested-by: Fengguang Wu [EMAIL PROTECTED]
Cc: Andrew Morton [EMAIL PROTECTED]
Cc: Peter Zijlstra [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 fs/fs-writeback.c |2 --
 include/linux/writeback.h |1 -
 mm/page-writeback.c   |9 +++--
 3 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 0fca820..300324b 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -482,8 +482,6 @@ sync_sb_inodes(struct super_block *sb, struct 
writeback_control *wbc)
if (wbc-nr_to_write = 0)
break;
}
-   if (!list_empty(sb-s_more_io))
-   wbc-more_io = 1;
return; /* Leave any unwritten inodes on s_io */
 }
 
diff --git a/include/linux/writeback.h b/include/linux/writeback.h
index bef7d66..c6148bb 100644
--- a/include/linux/writeback.h
+++ b/include/linux/writeback.h
@@ -62,7 +62,6 @@ struct writeback_control {
unsigned for_reclaim:1; /* Invoked from the page allocator */
unsigned for_writepages:1;  /* This is a writepages() call */
unsigned range_cyclic:1;/* range_start is cyclic */
-   unsigned more_io:1; /* more io to be dispatched */
 };
 
 /*
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index d55cfca..3d3848f 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -558,7 +558,6 @@ static void background_writeout(unsigned long _min_pages)
global_page_state(NR_UNSTABLE_NFS)  background_thresh
 min_pages = 0)
break;
-   wbc.more_io = 0;
wbc.encountered_congestion = 0;
wbc.nr_to_write = MAX_WRITEBACK_PAGES;
wbc.pages_skipped = 0;
@@ -566,9 +565,8 @@ static void background_writeout(unsigned long _min_pages)
min_pages -= MAX_WRITEBACK_PAGES - wbc.nr_to_write;
if (wbc.nr_to_write  0 || wbc.pages_skipped  0) {
/* Wrote less than expected */
-   if (wbc.encountered_congestion || wbc.more_io)
-   congestion_wait(WRITE, HZ/10);
-   else
+   congestion_wait(WRITE, HZ/10);
+   if (!wbc.encountered_congestion)
break;
}
}
@@ -633,12 +631,11 @@ static void wb_kupdate(unsigned long arg)
global_page_state(NR_UNSTABLE_NFS) +
(inodes_stat.nr_inodes - inodes_stat.nr_unused);
while (nr_to_write  0) {
-   wbc.more_io = 0;
wbc.encountered_congestion = 0;
wbc.nr_to_write = MAX_WRITEBACK_PAGES;
writeback_inodes(wbc);
if (wbc.nr_to_write  0) {
-   if (wbc.encountered_congestion || wbc.more_io)
+   if (wbc.encountered_congestion)
congestion_wait(WRITE, HZ/10);
else
break;  /* All the old data is written */
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[MIPS] Kconfig fixes for BCM47XX platform

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f02c15a5d963007bd721d76f644c9491f6fec06
Commit: 2f02c15a5d963007bd721d76f644c9491f6fec06
Parent: 88fb61e4ba263685a0d5b82c7e9cd6f22a9e6a9d
Author: Aurelien Jarno [EMAIL PROTECTED]
AuthorDate: Tue Dec 11 11:30:34 2007 +0100
Committer:  Ralf Baechle [EMAIL PROTECTED]
CommitDate: Tue Jan 15 01:04:41 2008 +

[MIPS] Kconfig fixes for BCM47XX platform

The patch below fixes two problems for Kconfig on the BCM47xx platform:

- arch/mips/bcm47xx/gpio.c uses ssb_extif_* functions. Selecting
  SSB_DRIVER_EXTIF makes sure those functions are available.
- arch/mips/pci/pci.c needs, when enabled, platform specific functions,
  which are defined when SSB_PCICORE_HOSTMODE is enabled.

Signed-off-by: Aurelien Jarno [EMAIL PROTECTED]
Signed-off-by: Ralf Baechle [EMAIL PROTECTED]
---
 arch/mips/Kconfig |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 291d368..b22c043 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -59,6 +59,8 @@ config BCM47XX
select SYS_SUPPORTS_LITTLE_ENDIAN
select SSB
select SSB_DRIVER_MIPS
+   select SSB_DRIVER_EXTIF
+   select SSB_PCICORE_HOSTMODE if PCI
select GENERIC_GPIO
select SYS_HAS_EARLY_PRINTK
select CFE
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[MIPS] Cacheops.h: Fix typo.

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e4f95822cc17cb7095d50babe2d2fc4c043fa25
Commit: 2e4f95822cc17cb7095d50babe2d2fc4c043fa25
Parent: c43756da94863395d5ee088659676029b3ae7191
Author: Ralf Baechle [EMAIL PROTECTED]
AuthorDate: Mon Jan 14 14:46:31 2008 +
Committer:  Ralf Baechle [EMAIL PROTECTED]
CommitDate: Tue Jan 15 01:04:42 2008 +

[MIPS] Cacheops.h: Fix typo.

Signed-off-by: Ralf Baechle [EMAIL PROTECTED]
---
 include/asm-mips/cacheops.h |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/asm-mips/cacheops.h b/include/asm-mips/cacheops.h
index df7f2de..256ad2c 100644
--- a/include/asm-mips/cacheops.h
+++ b/include/asm-mips/cacheops.h
@@ -64,7 +64,7 @@
 #define Page_Invalidate_T  0x16
 
 /*
- * R1000-specific cacheops
+ * R1-specific cacheops
  *
  * Cacheops 0x02, 0x06, 0x0a, 0x0c-0x0e, 0x16, 0x1a and 0x1e are unused.
  * Most of the _S cacheops are identical to the R4000SC _SD cacheops.
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


ata_piix: ignore ATA_DMA_ERR on vmware ich4

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=25f98131a292f4c81e4619bdf48f00a991386f73
Commit: 25f98131a292f4c81e4619bdf48f00a991386f73
Parent: 031f2dcd7075e218e74dd7f942ad015cf82dffab
Author: Tejun Heo [EMAIL PROTECTED]
AuthorDate: Mon Jan 7 19:38:53 2008 +0900
Committer:  Jeff Garzik [EMAIL PROTECTED]
CommitDate: Mon Jan 14 21:11:01 2008 -0500

ata_piix: ignore ATA_DMA_ERR on vmware ich4

VMware ich4 emulation incorrectly sets DMA_ERR on TF error.  Ignore
it.

Signed-off-by: Tejun Heo [EMAIL PROTECTED]
Signed-off-by: Jeff Garzik [EMAIL PROTECTED]
---
 drivers/ata/ata_piix.c |   51 
 1 files changed, 51 insertions(+), 0 deletions(-)

diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c
index bb62a58..b406b39 100644
--- a/drivers/ata/ata_piix.c
+++ b/drivers/ata/ata_piix.c
@@ -132,6 +132,7 @@ enum {
ich8_2port_sata,
ich8m_apple_sata_ahci,  /* locks up on second port enable */
tolapai_sata_ahci,
+   piix_pata_vmw,  /* PIIX4 for VMware, spurious DMA_ERR */
 
/* constants for mapping table */
P0  = 0,  /* port 0 */
@@ -165,6 +166,7 @@ static void piix_set_piomode(struct ata_port *ap, struct 
ata_device *adev);
 static void piix_set_dmamode(struct ata_port *ap, struct ata_device *adev);
 static void ich_set_dmamode(struct ata_port *ap, struct ata_device *adev);
 static int ich_pata_cable_detect(struct ata_port *ap);
+static u8 piix_vmw_bmdma_status(struct ata_port *ap);
 #ifdef CONFIG_PM
 static int piix_pci_device_suspend(struct pci_dev *pdev, pm_message_t mesg);
 static int piix_pci_device_resume(struct pci_dev *pdev);
@@ -175,6 +177,8 @@ static unsigned int in_module_init = 1;
 static const struct pci_device_id piix_pci_tbl[] = {
/* Intel PIIX3 for the 430HX etc */
{ 0x8086, 0x7010, PCI_ANY_ID, PCI_ANY_ID, 0, 0, piix_pata_mwdma },
+   /* VMware ICH4 */
+   { 0x8086, 0x7111, 0x15ad, 0x1976, 0, 0, piix_pata_vmw },
/* Intel PIIX4 for the 430TX/440BX/MX chipset: UDMA 33 */
/* Also PIIX4E (fn3 rev 2) and PIIX4M (fn3 rev 3) */
{ 0x8086, 0x7111, PCI_ANY_ID, PCI_ANY_ID, 0, 0, piix_pata_33 },
@@ -383,6 +387,38 @@ static const struct ata_port_operations piix_sata_ops = {
.port_start = ata_port_start,
 };
 
+static const struct ata_port_operations piix_vmw_ops = {
+   .set_piomode= piix_set_piomode,
+   .set_dmamode= piix_set_dmamode,
+   .mode_filter= ata_pci_default_filter,
+
+   .tf_load= ata_tf_load,
+   .tf_read= ata_tf_read,
+   .check_status   = ata_check_status,
+   .exec_command   = ata_exec_command,
+   .dev_select = ata_std_dev_select,
+
+   .bmdma_setup= ata_bmdma_setup,
+   .bmdma_start= ata_bmdma_start,
+   .bmdma_stop = ata_bmdma_stop,
+   .bmdma_status   = piix_vmw_bmdma_status,
+   .qc_prep= ata_qc_prep,
+   .qc_issue   = ata_qc_issue_prot,
+   .data_xfer  = ata_data_xfer,
+
+   .freeze = ata_bmdma_freeze,
+   .thaw   = ata_bmdma_thaw,
+   .error_handler  = piix_pata_error_handler,
+   .post_internal_cmd  = ata_bmdma_post_internal_cmd,
+   .cable_detect   = ata_cable_40wire,
+
+   .irq_handler= ata_interrupt,
+   .irq_clear  = ata_bmdma_irq_clear,
+   .irq_on = ata_irq_on,
+
+   .port_start = ata_port_start,
+};
+
 static const struct piix_map_db ich5_map_db = {
.mask = 0x7,
.port_enable = 0x3,
@@ -623,6 +659,16 @@ static struct ata_port_info piix_port_info[] = {
.port_ops   = piix_sata_ops,
},
 
+   [piix_pata_vmw] =
+   {
+   .sht= piix_sht,
+   .flags  = PIIX_PATA_FLAGS,
+   .pio_mask   = 0x1f, /* pio0-4 */
+   .mwdma_mask = 0x06, /* mwdma1-2 ?? CHECK 0 should be ok but 
slow */
+   .udma_mask  = ATA_UDMA_MASK_40C,
+   .port_ops   = piix_vmw_ops,
+   },
+
 };
 
 static struct pci_bits piix_enable_bits[] = {
@@ -1135,6 +1181,11 @@ static int piix_pci_device_resume(struct pci_dev *pdev)
 }
 #endif
 
+static u8 piix_vmw_bmdma_status(struct ata_port *ap)
+{
+   return ata_bmdma_status(ap)  ~ATA_DMA_ERR;
+}
+
 #define AHCI_PCI_BAR 5
 #define AHCI_GLOBAL_CTL 0x04
 #define AHCI_ENABLE (1  31)
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[MIPS] Cobalt: Qube1 has no serial port so don't use it

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c43756da94863395d5ee088659676029b3ae7191
Commit: c43756da94863395d5ee088659676029b3ae7191
Parent: f6c0f32ee8d21e800097fc35ba8ab2b5a3b9bdfa
Author: Thomas Bogendoerfer [EMAIL PROTECTED]
AuthorDate: Sat Jan 12 00:25:17 2008 +0100
Committer:  Ralf Baechle [EMAIL PROTECTED]
CommitDate: Tue Jan 15 01:04:42 2008 +

[MIPS] Cobalt: Qube1 has no serial port so don't use it

Because Qube1 doesn't have a serial chip waiting for transmit fifo empty
takes forever, which isn't a good idea. No prom_putchar/early console
for Qube1 fixes this.

Signed-off-by: Thomas Bogendoerfer [EMAIL PROTECTED]
Acked-by: Yoichi Yuasa [EMAIL PROTECTED]
Signed-off-by: Ralf Baechle [EMAIL PROTECTED]
---
 arch/mips/cobalt/console.c |5 +
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/arch/mips/cobalt/console.c b/arch/mips/cobalt/console.c
index db330e8..d1ba701 100644
--- a/arch/mips/cobalt/console.c
+++ b/arch/mips/cobalt/console.c
@@ -4,10 +4,15 @@
 #include linux/io.h
 #include linux/serial_reg.h
 
+#include cobalt.h
+
 #define UART_BASE  ((void __iomem *)CKSEG1ADDR(0x1c80))
 
 void prom_putchar(char c)
 {
+   if (cobalt_board_id = COBALT_BRD_ID_QUBE1)
+   return;
+
while (!(readb(UART_BASE + UART_LSR)  UART_LSR_THRE))
;
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


sata_sil24: fix stupid typo

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7293fa8fb74f17077a2ac7ccd5b58ae3225317d0
Commit: 7293fa8fb74f17077a2ac7ccd5b58ae3225317d0
Parent: 25f98131a292f4c81e4619bdf48f00a991386f73
Author: Tejun Heo [EMAIL PROTECTED]
AuthorDate: Sun Jan 13 13:49:22 2008 +0900
Committer:  Jeff Garzik [EMAIL PROTECTED]
CommitDate: Mon Jan 14 21:11:01 2008 -0500

sata_sil24: fix stupid typo

Fix stupid typo.

Signed-off-by: Tejun Heo [EMAIL PROTECTED]
Signed-off-by: Jeff Garzik [EMAIL PROTECTED]
---
 drivers/ata/sata_sil24.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c
index b4c674d..d9c8b32 100644
--- a/drivers/ata/sata_sil24.c
+++ b/drivers/ata/sata_sil24.c
@@ -301,7 +301,7 @@ static struct sil24_cerr_info {
[PORT_CERR_PKT_PROT]= { AC_ERR_HSM, ATA_EH_SOFTRESET,
invalid data directon for ATAPI CDB },
[PORT_CERR_SGT_BOUNDARY] = { AC_ERR_SYSTEM, ATA_EH_SOFTRESET,
-SGT no on qword boundary },
+SGT not on qword boundary },
[PORT_CERR_SGT_TGTABRT] = { AC_ERR_HOST_BUS, ATA_EH_SOFTRESET,
PCI target abort while fetching SGT },
[PORT_CERR_SGT_MSTABRT] = { AC_ERR_HOST_BUS, ATA_EH_SOFTRESET,
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


libata: relocate sdev-manage_start_stop configuration

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d8cf5389bd9d1f0ac9fea51796c274ba64b83d80
Commit: d8cf5389bd9d1f0ac9fea51796c274ba64b83d80
Parent: c2e14f11120bbef0c883e795da8180b58f3cddae
Author: Tejun Heo [EMAIL PROTECTED]
AuthorDate: Tue Jan 15 08:46:59 2008 +0900
Committer:  Jeff Garzik [EMAIL PROTECTED]
CommitDate: Mon Jan 14 21:11:02 2008 -0500

libata: relocate sdev-manage_start_stop configuration

After 9b8e8de7, manage_start_stop configuration depends on valid ATA
device.  Move it into ata_scsi_dev_config().  This was detected by the
coverity checker.

Signed-off-by: Tejun Heo [EMAIL PROTECTED]
Cc: Adrian Bunk [EMAIL PROTECTED]
Signed-off-by: Jeff Garzik [EMAIL PROTECTED]
---
 drivers/ata/libata-scsi.c |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 264ae60..14daf48 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -841,6 +841,9 @@ static void ata_scsi_dev_config(struct scsi_device *sdev,
blk_queue_max_hw_segments(q, q-max_hw_segments - 1);
}
 
+   if (dev-class == ATA_DEV_ATA)
+   sdev-manage_start_stop = 1;
+
if (dev-flags  ATA_DFLAG_AN)
set_bit(SDEV_EVT_MEDIA_CHANGE, sdev-supported_events);
 
@@ -872,9 +875,6 @@ int ata_scsi_slave_config(struct scsi_device *sdev)
 
ata_scsi_sdev_config(sdev);
 
-   if (dev-class == ATA_DEV_ATA)
-   sdev-manage_start_stop = 1;
-
if (dev)
ata_scsi_dev_config(sdev, dev);
 
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


sata_sil24: freeze on non-dev errors reported via CERR

2008-01-14 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c2e14f11120bbef0c883e795da8180b58f3cddae
Commit: c2e14f11120bbef0c883e795da8180b58f3cddae
Parent: 7293fa8fb74f17077a2ac7ccd5b58ae3225317d0
Author: Tejun Heo [EMAIL PROTECTED]
AuthorDate: Sun Jan 13 14:04:16 2008 +0900
Committer:  Jeff Garzik [EMAIL PROTECTED]
CommitDate: Mon Jan 14 21:11:02 2008 -0500

sata_sil24: freeze on non-dev errors reported via CERR

CERR reports errors detected during executing a command.  This doesn't
mean the error is tied to the command and can be recovered by just
issuing it again.  Many of the errors are fatal port-wide connditions
including HSM violation, host bus error and ATA bus error and require
freezing and port reset.

The freezing part wasn't implemented previously.  This used to be okay
because port resets were scheduled anyway and EH eventually resets and
recovers the port.  With PMP support added, this is no longer true.
The error condition and recover actions are attributed to the fan-out
port and the host port condition isn't properly recovered leading to
EH failures.

This patch makes CERR errors which require resets to freeze the port.
This will force host port reset and proper recovery.

Signed-off-by: Tejun Heo [EMAIL PROTECTED]
Cc: Andrew Ryder [EMAIL PROTECTED]
Signed-off-by: Jeff Garzik [EMAIL PROTECTED]
---
 drivers/ata/sata_sil24.c |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c
index d9c8b32..864c1c1 100644
--- a/drivers/ata/sata_sil24.c
+++ b/drivers/ata/sata_sil24.c
@@ -1094,10 +1094,13 @@ static void sil24_error_intr(struct ata_port *ap)
if (ci  ci-desc) {
err_mask |= ci-err_mask;
action |= ci-action;
+   if (action  ATA_EH_RESET_MASK)
+   freeze = 1;
ata_ehi_push_desc(ehi, %s, ci-desc);
} else {
err_mask |= AC_ERR_OTHER;
action |= ATA_EH_SOFTRESET;
+   freeze = 1;
ata_ehi_push_desc(ehi, unknown command error %d,
  cerr);
}
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html