VT_WAITACTIVE: Avoid returning EINTR when not necessary

2007-10-07 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=70cb97935b8859f27296772885104b599f560576
Commit: 70cb97935b8859f27296772885104b599f560576
Parent: fc8b28a65d81a6fdf58ef81ce5b8ac7a35304e68
Author: Linus Torvalds [EMAIL PROTECTED]
AuthorDate: Sun Oct 7 16:02:55 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Sun Oct 7 16:02:55 2007 -0700

VT_WAITACTIVE: Avoid returning EINTR when not necessary

We should generally prefer to return ERESTARTNOHAND rather than EINTR,
so that processes with unhandled signals that get ignored don't return
EINTR.

This can help with X startup issues:

Fatal server error:
xf86OpenConsole: VT_WAITACTIVE failed: Interrupted system call

although the real fix is having the X server always retry EINTR
regardless (since EINTR does happen for signals that have handlers
installed). Keithp has a patch for that.

Regardless, ERESTARTNOHAND is the correct thing to use.

Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/char/vt_ioctl.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/char/vt_ioctl.c b/drivers/char/vt_ioctl.c
index c799b7f..7a61a2a 100644
--- a/drivers/char/vt_ioctl.c
+++ b/drivers/char/vt_ioctl.c
@@ -1032,7 +1032,7 @@ static DECLARE_WAIT_QUEUE_HEAD(vt_activate_queue);
 
 /*
  * Sleeps until a vt is activated, or the task is interrupted. Returns
- * 0 if activation, -EINTR if interrupted.
+ * 0 if activation, -EINTR if interrupted by a signal handler.
  */
 int vt_waitactive(int vt)
 {
@@ -1057,7 +1057,7 @@ int vt_waitactive(int vt)
break;
}
release_console_sem();
-   retval = -EINTR;
+   retval = -ERESTARTNOHAND;
if (signal_pending(current))
break;
schedule();
-
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


Don't do load-average calculations at even 5-second intervals

2007-10-07 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0c2043abefacac97b6d01129c1123a466c95b7c1
Commit: 0c2043abefacac97b6d01129c1123a466c95b7c1
Parent: 70cb97935b8859f27296772885104b599f560576
Author: Linus Torvalds [EMAIL PROTECTED]
AuthorDate: Sun Oct 7 16:17:38 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Sun Oct 7 16:23:13 2007 -0700

Don't do load-average calculations at even 5-second intervals

It turns out that there are a few other five-second timers in the
kernel, and if the timers get in sync, the load-average can get
artificially inflated by events that just happen to coincide.

So just offset the load average calculation it by a timer tick.

Noticed by Anders Boström, for whom the coincidence started triggering
on one of his machines with the JBD jiffies rounding code (JBD is one of
the subsystems that also end up using a 5-second timer by default).

Tested-by: Anders Boström [EMAIL PROTECTED]
Cc: Chuck Ebbert [EMAIL PROTECTED]
Cc: Arjan van de Ven [EMAIL PROTECTED]
Cc: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 include/linux/sched.h |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/linux/sched.h b/include/linux/sched.h
index a01ac6d..313c6b6 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -113,7 +113,7 @@ extern unsigned long avenrun[]; /* Load 
averages */
 
 #define FSHIFT 11  /* nr of bits of precision */
 #define FIXED_1(1FSHIFT) /* 1.0 as fixed-point */
-#define LOAD_FREQ  (5*HZ)  /* 5 sec intervals */
+#define LOAD_FREQ  (5*HZ+1)/* 5 sec intervals */
 #define EXP_1  1884/* 1/exp(5sec/1min) as fixed-point */
 #define EXP_5  2014/* 1/exp(5sec/5min) */
 #define EXP_15 2037/* 1/exp(5sec/15min) */
-
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 timer_stats printout of events/sec

2007-10-07 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=74922be1485818ed368c4cf4f0b100f70bf01e08
Commit: 74922be1485818ed368c4cf4f0b100f70bf01e08
Parent: 0c2043abefacac97b6d01129c1123a466c95b7c1
Author: Anton Blanchard [EMAIL PROTECTED]
AuthorDate: Sun Oct 7 00:24:31 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Sun Oct 7 16:28:43 2007 -0700

Fix timer_stats printout of events/sec

When using /proc/timer_stats on ppc64 I noticed the events/sec field wasnt
accurate.  Sometimes the integer part was incorrect due to rounding (we
werent taking the fractional seconds into consideration).

The fraction part is also wrong, we need to pad the printf statement and
take the bottom three digits of 1000 times the value.

Signed-off-by: Anton Blanchard [EMAIL PROTECTED]
Acked-by: Ingo Molnar [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/time/timer_stats.c |5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/kernel/time/timer_stats.c b/kernel/time/timer_stats.c
index 3c38fb5..c36bb7e 100644
--- a/kernel/time/timer_stats.c
+++ b/kernel/time/timer_stats.c
@@ -327,8 +327,9 @@ static int tstats_show(struct seq_file *m, void *v)
ms = 1;
 
if (events  period.tv_sec)
-   seq_printf(m, %ld total events, %ld.%ld events/sec\n, events,
-  events / period.tv_sec, events * 1000 / ms);
+   seq_printf(m, %ld total events, %ld.%03ld events/sec\n,
+  events, events * 1000 / ms,
+  (events * 100 / ms) % 1000);
else
seq_printf(m, %ld total events\n, events);
 
-
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


Longhaul: add auto enabled revid_errata option

2007-10-07 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52a2638bff063acb28ba3355891c49cc240cc98b
Commit: 52a2638bff063acb28ba3355891c49cc240cc98b
Parent: 74922be1485818ed368c4cf4f0b100f70bf01e08
Author: Rafal Bilski [EMAIL PROTECTED]
AuthorDate: Sun Oct 7 00:24:32 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Sun Oct 7 16:28:43 2007 -0700

Longhaul: add auto enabled revid_errata option

VIA C3 Ezra-T has RevisionID equal to 1, but it needs RevisionKey to be 0
or CPU will ignore new frequency and will continue to work at old
frequency.  New revid_errata option will force RevisionKey to be set to
0, whatever RevisionID is.

Additionaly Longhaul will not silently ignore unsuccessful transition.
It will try to check if revid_errata or disable_acpi_c3 options need to
be enabled for this processor/system.

Same for Longhaul ver.  2 support.  It will be disabled if none of above
options will work.

 Best case scenario (with patch apllied and v2 enabled):
 longhaul: VIA C3 'Ezra' [C5C] CPU detected.  Longhaul v2 supported.
 longhaul: Using northbridge support.
 longhaul: VRM 8.5
 longhaul: Max VID=1.350  Min VID=1.050, 13 possible voltage scales
 longhaul: f: 30 kHz, index: 0, vid: 1050 mV
 [...]
 longhaul: Voltage scaling enabled.
 Worst case scenario:
 longhaul: VIA C3 'Ezra-T' [C5M] CPU detected.  Powersaver supported.
 longhaul: Using northbridge support.
 longhaul: Using ACPI support.
 longhaul: VRM 8.5
 longhaul: Claims to support voltage scaling but min  max are both 1.250. 
Voltage scaling disabled
 longhaul: Failed to set requested frequency!
 longhaul: Enabling Ignore Revision ID option.
 longhaul: Failed to set requested frequency!
 longhaul: Disabling ACPI C3 support.
 longhaul: Disabling Ignore Revision ID option.
 longhaul: Failed to set requested frequency!
 longhaul: Enabling Ignore Revision ID option.

[EMAIL PROTECTED]: coding-style cleanups]
Signed-off-by: Rafal Bilski [EMAIL PROTECTED]
Signed-off-by: Dave Jones [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 arch/i386/kernel/cpu/cpufreq/longhaul.c |   60 +--
 1 files changed, 57 insertions(+), 3 deletions(-)

diff --git a/arch/i386/kernel/cpu/cpufreq/longhaul.c 
b/arch/i386/kernel/cpu/cpufreq/longhaul.c
index ef8f0bc..f0cce3c 100644
--- a/arch/i386/kernel/cpu/cpufreq/longhaul.c
+++ b/arch/i386/kernel/cpu/cpufreq/longhaul.c
@@ -76,6 +76,7 @@ static unsigned int longhaul_index;
 /* Module parameters */
 static int scale_voltage;
 static int disable_acpi_c3;
+static int revid_errata;
 
 #define dprintk(msg...) cpufreq_debug_printk(CPUFREQ_DEBUG_DRIVER, longhaul, 
msg)
 
@@ -168,7 +169,10 @@ static void do_powersaver(int cx_address, unsigned int 
clock_ratio_index,
 
rdmsrl(MSR_VIA_LONGHAUL, longhaul.val);
/* Setup new frequency */
-   longhaul.bits.RevisionKey = longhaul.bits.RevisionID;
+   if (!revid_errata)
+   longhaul.bits.RevisionKey = longhaul.bits.RevisionID;
+   else
+   longhaul.bits.RevisionKey = 0;
longhaul.bits.SoftBusRatio = clock_ratio_index  0xf;
longhaul.bits.SoftBusRatio4 = (clock_ratio_index  0x10)  4;
/* Setup new voltage */
@@ -272,7 +276,7 @@ static void longhaul_setstate(unsigned int table_index)
 
dprintk (Setting to FSB:%dMHz Mult:%d.%dx (%s)\n,
fsb, mult/10, mult%10, print_speed(speed/1000));
-
+retry_loop:
preempt_disable();
local_irq_save(flags);
 
@@ -344,6 +348,47 @@ static void longhaul_setstate(unsigned int table_index)
preempt_enable();
 
freqs.new = calc_speed(longhaul_get_cpu_mult());
+   /* Check if requested frequency is set. */
+   if (unlikely(freqs.new != speed)) {
+   printk(KERN_INFO PFX Failed to set requested frequency!\n);
+   /* Revision ID = 1 but processor is expecting revision key
+* equal to 0. Jumpers at the bottom of processor will change
+* multiplier and FSB, but will not change bits in Longhaul
+* MSR nor enable voltage scaling. */
+   if (!revid_errata) {
+   printk(KERN_INFO PFX Enabling \Ignore Revision ID\ 
+   option.\n);
+   revid_errata = 1;
+   msleep(200);
+   goto retry_loop;
+   }
+   /* Why ACPI C3 sometimes doesn't work is a mystery for me.
+* But it does happen. Processor is entering ACPI C3 state,
+* but it doesn't change frequency. I tried poking various
+* bits in northbridge registers, but without success. */
+   

lockstat: documentation

2007-10-07 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a560aa48eed66fdf78f2a2813ab7b4ca766a84ce
Commit: a560aa48eed66fdf78f2a2813ab7b4ca766a84ce
Parent: 52a2638bff063acb28ba3355891c49cc240cc98b
Author: Peter Zijlstra [EMAIL PROTECTED]
AuthorDate: Sun Oct 7 00:24:33 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Sun Oct 7 16:28:43 2007 -0700

lockstat: documentation

Provide some documentation for CONFIG_LOCK_STAT.

Signed-off-by: Peter Zijlstra [EMAIL PROTECTED]
Acked-by: Ingo Molnar [EMAIL PROTECTED]
Cc: Randy.Dunlap [EMAIL PROTECTED]
Cc: Rob Landley [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 Documentation/lockstat.txt |  120 
 lib/Kconfig.debug  |2 +
 2 files changed, 122 insertions(+), 0 deletions(-)

diff --git a/Documentation/lockstat.txt b/Documentation/lockstat.txt
new file mode 100644
index 000..4ba4664
--- /dev/null
+++ b/Documentation/lockstat.txt
@@ -0,0 +1,120 @@
+
+LOCK STATISTICS
+
+- WHAT
+
+As the name suggests, it provides statistics on locks.
+
+- WHY
+
+Because things like lock contention can severely impact performance.
+
+- HOW
+
+Lockdep already has hooks in the lock functions and maps lock instances to
+lock classes. We build on that. The graph below shows the relation between
+the lock functions and the various hooks therein.
+
+__acquire
+|
+   lock _
+|\
+|__contended
+| |
+|   wait
+| ___/
+|/
+|
+   __acquired
+|
+.
+  hold
+.
+|
+   __release
+|
+ unlock
+
+lock, unlock   - the regular lock functions
+__*- the hooks
+ - states
+
+With these hooks we provide the following statistics:
+
+ con-bounces   - number of lock contention that involved x-cpu data
+ contentions   - number of lock acquisitions that had to wait
+ wait time min - shortest (non-0) time we ever had to wait for a lock
+   max - longest time we ever had to wait for a lock
+   total   - total time we spend waiting on this lock
+ acq-bounces   - number of lock acquisitions that involved x-cpu data
+ acquisitions  - number of times we took the lock
+ hold time min - shortest (non-0) time we ever held the lock
+   max - longest time we ever held the lock
+   total   - total time this lock was held
+
+From these number various other statistics can be derived, such as:
+
+ hold time average = hold time total / acquisitions
+
+These numbers are gathered per lock class, per read/write state (when
+applicable).
+
+It also tracks 4 contention points per class. A contention point is a call site
+that had to wait on lock acquisition.
+
+ - USAGE
+
+Look at the current lock statistics:
+
+( line numbers not part of actual output, done for clarity in the explanation
+  below )
+
+# less /proc/lock_stat
+
+01 lock_stat version 0.2
+02 
---
+03   class namecon-bouncescontentions   
waittime-min   waittime-max waittime-totalacq-bounces   acquisitions   
holdtime-min   holdtime-max holdtime-total
+04 
---
+05
+06   inode-i_data.tree_lock-W:15  21657  
 0.18 1093295.30 11547131054.85 58  10415   
0.16  87.516387.60
+07   inode-i_data.tree_lock-R: 0  0  
 0.00   0.00   0.00  23302 231198   
0.25   8.45   98023.38
+08   --
+09 inode-i_data.tree_lock  0  
[8027c08f] add_to_page_cache+0x5f/0x190
+10
+11 
...
+12
+13  dcache_lock:  1037   1161  
 0.38  45.32 774.51   6611 243371   
0.15 306.48   77387.24
+14  ---
+15  dcache_lock180  
[802c0d7e] sys_getcwd+0x11e/0x230
+16  dcache_lock165  

Move kasprintf.o to obj-y

2007-10-07 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a5c5d5735e785a700a377a5fce913b8ad45a58f
Commit: 7a5c5d5735e785a700a377a5fce913b8ad45a58f
Parent: a560aa48eed66fdf78f2a2813ab7b4ca766a84ce
Author: Alexey Dobriyan [EMAIL PROTECTED]
AuthorDate: Sun Oct 7 00:24:34 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Sun Oct 7 16:28:43 2007 -0700

Move kasprintf.o to obj-y

Modulat lguest started giving linking errors

MODPOST 1 modules
ERROR: kasprintf [drivers/lguest/lg.ko] undefined!

Signed-off-by: Alexey Dobriyan [EMAIL PROTECTED]
Cc: Rusty Russell [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 lib/Makefile |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/Makefile b/lib/Makefile
index 6b0ba8c..4f3f3e2 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -2,7 +2,7 @@
 # Makefile for some libs needed in the kernel.
 #
 
-lib-y := ctype.o string.o vsprintf.o kasprintf.o cmdline.o \
+lib-y := ctype.o string.o vsprintf.o cmdline.o \
 rbtree.o radix-tree.o dump_stack.o \
 idr.o int_sqrt.o bitmap.o extable.o prio_tree.o \
 sha1.o irq_regs.o reciprocal_div.o argv_split.o
@@ -13,7 +13,7 @@ lib-$(CONFIG_SMP) += cpumask.o
 lib-y  += kobject.o kref.o kobject_uevent.o klist.o
 
 obj-y += div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \
-bust_spinlocks.o hexdump.o
+bust_spinlocks.o hexdump.o kasprintf.o
 
 ifeq ($(CONFIG_DEBUG_KOBJECT),y)
 CFLAGS_kobject.o += -DDEBUG
-
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 bogus reporting of signals by audit

2007-10-07 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=291041e935e6d0513f2b7e4a300aa9f02ec1d925
Commit: 291041e935e6d0513f2b7e4a300aa9f02ec1d925
Parent: 7a5c5d5735e785a700a377a5fce913b8ad45a58f
Author: Al Viro [EMAIL PROTECTED]
AuthorDate: Sun Oct 7 00:24:36 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Sun Oct 7 16:28:43 2007 -0700

fix bogus reporting of signals by audit

Async signals should not be reported as sent by current in audit log.  As
it is, we call audit_signal_info() too early in check_kill_permission().
Note that check_kill_permission() has that test already - it needs to know
if it should apply current-based permission checks.  So the solution is to
move the call of audit_signal_info() between those.

Bogosity in question is easily reproduced - add a rule watching for e.g.
kill(2) from specific process (so that audit_signal_info() would not
short-circuit to nothing), say load_policy, watch the bogus OBJ_PID entry
in audit logs claiming that write(2) on selinuxfs file issued by
load_policy(8) had somehow managed to send a signal to syslogd...

Signed-off-by: Al Viro [EMAIL PROTECTED]
Acked-by: Steve Grubb [EMAIL PROTECTED]
Acked-by: Eric Paris [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 kernel/signal.c |   22 +++---
 1 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/kernel/signal.c b/kernel/signal.c
index 9fb91a3..7929523 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -531,18 +531,18 @@ static int check_kill_permission(int sig, struct siginfo 
*info,
if (!valid_signal(sig))
return error;
 
-   error = audit_signal_info(sig, t); /* Let audit system see the signal */
-   if (error)
-   return error;
-
-   error = -EPERM;
-   if ((info == SEND_SIG_NOINFO || (!is_si_special(info)  
SI_FROMUSER(info)))
-((sig != SIGCONT) ||
-   (process_session(current) != process_session(t)))
-(current-euid ^ t-suid)  (current-euid ^ t-uid)
-(current-uid ^ t-suid)  (current-uid ^ t-uid)
-!capable(CAP_KILL))
+   if (info == SEND_SIG_NOINFO || (!is_si_special(info)  
SI_FROMUSER(info))) {
+   error = audit_signal_info(sig, t); /* Let audit system see the 
signal */
+   if (error)
+   return error;
+   error = -EPERM;
+   if (((sig != SIGCONT) ||
+   (process_session(current) != process_session(t)))
+(current-euid ^ t-suid)  (current-euid ^ t-uid)
+(current-uid ^ t-suid)  (current-uid ^ t-uid)
+!capable(CAP_KILL))
return error;
+   }
 
return security_task_kill(t, info, sig, 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


sysrq docs: document sequence that actually works

2007-10-07 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dfb0042d43d4e7664f7e3af1b51c9b08175483a6
Commit: dfb0042d43d4e7664f7e3af1b51c9b08175483a6
Parent: 291041e935e6d0513f2b7e4a300aa9f02ec1d925
Author: Pavel Machek [EMAIL PROTECTED]
AuthorDate: Sun Oct 7 00:24:37 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Sun Oct 7 16:28:43 2007 -0700

sysrq docs: document sequence that actually works

Document sequence of keypresses that actually works. Yes, this changed
year-or-so ago.

Signed-off-by: Pavel Machek [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 Documentation/sysrq.txt |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Documentation/sysrq.txt b/Documentation/sysrq.txt
index ef19142..10c8f69 100644
--- a/Documentation/sysrq.txt
+++ b/Documentation/sysrq.txt
@@ -43,7 +43,7 @@ On x86   - You press the key combo 'ALT-SysRq-command key'. 
Note - Some
keyboards may not have a key labeled 'SysRq'. The 'SysRq' key is
also known as the 'Print Screen' key. Also some keyboards cannot
   handle so many keys being pressed at the same time, so you might
-  have better luck with press Alt, press SysRq, release Alt,
+  have better luck with press Alt, press SysRq, release SysRq,
   press command key, release everything.
 
 On SPARC - You press 'ALT-STOP-command key', I believe.
-
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


Add manufacturer and card id of teltonica pcmcia modems

2007-10-07 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d9b7ad717474636dc961e6c321970fd799e1cb3
Commit: 9d9b7ad717474636dc961e6c321970fd799e1cb3
Parent: dfb0042d43d4e7664f7e3af1b51c9b08175483a6
Author: Attila Kinali [EMAIL PROTECTED]
AuthorDate: Sun Oct 7 00:24:38 2007 -0700
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Sun Oct 7 16:28:43 2007 -0700

Add manufacturer and card id of teltonica pcmcia modems

Add the manufacturer and card id of teltonica pcmcia modems to serial_cs.c

Signed-off-by: Attila Kinali [EMAIL PROTECTED]
Acked-by: Alan Cox [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/serial/serial_cs.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c
index a0ea435..7c8d78f 100644
--- a/drivers/serial/serial_cs.c
+++ b/drivers/serial/serial_cs.c
@@ -943,6 +943,7 @@ static struct pcmcia_device_id serial_ids[] = {
PCMCIA_MFC_DEVICE_PROD_ID12(1,Elan,Serial Port: 
SL432,0x3beb8cf2,0x1cce7ac4),
PCMCIA_MFC_DEVICE_PROD_ID12(2,Elan,Serial Port: 
SL432,0x3beb8cf2,0x1cce7ac4),
PCMCIA_MFC_DEVICE_PROD_ID12(3,Elan,Serial Port: 
SL432,0x3beb8cf2,0x1cce7ac4),
+   PCMCIA_DEVICE_MANF_CARD(0x0279, 0x950b),
/* too generic */
/* PCMCIA_MFC_DEVICE_MANF_CARD(0, 0x0160, 0x0002), */
/* PCMCIA_MFC_DEVICE_MANF_CARD(1, 0x0160, 0x0002), */
-
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


firewire: point to migration document

2007-10-07 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a1134dd48d59e532b801659163539bf01cae7673
Commit: a1134dd48d59e532b801659163539bf01cae7673
Parent: fc8b28a65d81a6fdf58ef81ce5b8ac7a35304e68
Author: Stefan Richter [EMAIL PROTECTED]
AuthorDate: Sun Oct 7 12:31:22 2007 +0200
Committer:  Stefan Richter [EMAIL PROTECTED]
CommitDate: Sun Oct 7 13:48:41 2007 +0200

firewire: point to migration document

Signed-off-by: Stefan Richter [EMAIL PROTECTED]
---
 drivers/firewire/Kconfig |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/firewire/Kconfig b/drivers/firewire/Kconfig
index d011a76..fe9e768 100644
--- a/drivers/firewire/Kconfig
+++ b/drivers/firewire/Kconfig
@@ -11,7 +11,8 @@ config FIREWIRE
  This is the Juju FireWire stack, a new alternative implementation
  designed for robustness and simplicity.  You can build either this
  stack, or the classic stack (the ieee1394 driver, ohci1394 etc.)
- or both.
+ or both.  Please read http://wiki.linux1394.org/JujuMigration before
+ you enable the new stack.
 
  To compile this driver as a module, say M here: the module will be
  called firewire-core.  It functionally replaces ieee1394, raw1394,
-
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


Driver core: fix SYSF_DEPRECATED breakage for nested classdevs

2007-10-07 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3eb215de26e6e94bf5fed9cb77230c383b30e53b
Commit: 3eb215de26e6e94bf5fed9cb77230c383b30e53b
Parent: 85923b124624eb49ebef4731bb6b5670e792ff57
Author: Dmitry Torokhov [EMAIL PROTECTED]
AuthorDate: Sun Oct 7 12:22:21 2007 -0400
Committer:  Linus Torvalds [EMAIL PROTECTED]
CommitDate: Sun Oct 7 16:42:22 2007 -0700

Driver core: fix SYSF_DEPRECATED breakage for nested classdevs

We should only reparent to a class former class devices that
form the base of class hierarchy. Nested devices should still
grow from their real parents.

Signed-off-by: Dmitry Torokhov [EMAIL PROTECTED]
Tested-by: Andrey Borzenkov [EMAIL PROTECTED]
Tested-by: Anssi Hannula [EMAIL PROTECTED]
Signed-off-by: Linus Torvalds [EMAIL PROTECTED]
---
 drivers/base/core.c |   10 +++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/base/core.c b/drivers/base/core.c
index 67c9258..ec86d6f 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -586,9 +586,13 @@ void device_initialize(struct device *dev)
 static struct kobject * get_device_parent(struct device *dev,
  struct device *parent)
 {
-   /* Set the parent to the class, not the parent device */
-   /* this keeps sysfs from having a symlink to make old udevs happy */
-   if (dev-class)
+   /*
+* Set the parent to the class, not the parent device
+* for topmost devices in class hierarchy.
+* This keeps sysfs from having a symlink to make old
+* udevs happy
+*/
+   if (dev-class  (!parent || parent-class != dev-class))
return dev-class-subsys.kobj;
else if (parent)
return parent-kobj;
-
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