GitHub/LineageOS/android_kernel_samsung_universal7580.git
18 years agoInput: HID - add more simulation usages
Dmitry Torokhov [Sat, 14 Jan 2006 05:27:51 +0000 (00:27 -0500)]
Input: HID - add more simulation usages

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
18 years agoInput: psmouse - attempt to re-synchronize mouse every 5 seconds
Dmitry Torokhov [Sat, 14 Jan 2006 05:27:37 +0000 (00:27 -0500)]
Input: psmouse - attempt to re-synchronize mouse every 5 seconds

This should help driver to deal vith KVMs that reset mice when
switching between boxes.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
18 years agoInput: HID - fix an oops in PID initialization code
Dmitry Torokhov [Sat, 14 Jan 2006 05:26:15 +0000 (00:26 -0500)]
Input: HID - fix an oops in PID initialization code

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
18 years agoInput: HID - add support for Cherry Cymotion keyboard
Vojtech Pavlik [Sat, 14 Jan 2006 05:25:39 +0000 (00:25 -0500)]
Input: HID - add support for Cherry Cymotion keyboard

The Cherry Cymotion is a special Linux keyboard made by Cherry, with
only one little problem: it doesn't work with Linux. This patch
(originally by hexten.net, cleaned up by me) makes it work including
all the special keys.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
18 years agoInput: i8042 - add Sony Vaio FSC-115b to MUX blacklist
Vojtech Pavlik [Sat, 14 Jan 2006 05:24:06 +0000 (00:24 -0500)]
Input: i8042 - add Sony Vaio FSC-115b to MUX blacklist

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
18 years agoInput: ibmasm - fix input initialization error path
Dmitry Torokhov [Tue, 10 Jan 2006 07:00:39 +0000 (02:00 -0500)]
Input: ibmasm - fix input initialization error path

Do not try to free device that has already been unregistered,
input_unregister_device() frees it automatically.

Spotted by Vernon Mauery <vernux@us.ibm.com>

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
18 years agoInput: remove obsolete maple input drivers
Paul Mundt [Tue, 10 Jan 2006 07:00:27 +0000 (02:00 -0500)]
Input: remove obsolete maple input drivers

These haven't worked in some time, and we've dropped support for the bus
from the SH tree until someone shows some interest in maintaining it.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
18 years agoInput: prepare for f_ops constness
Arjan van de Ven [Tue, 10 Jan 2006 06:59:51 +0000 (01:59 -0500)]
Input: prepare for f_ops constness

Avoid doing assignments to a live ->fops so it can be marked as 'const'.

Signed-off-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
18 years agoInput: wistron - do not crash if BIOS does not support interface
Miloslav Trmac [Tue, 10 Jan 2006 06:59:07 +0000 (01:59 -0500)]
Input: wistron - do not crash if BIOS does not support interface

offset can never be < 0 because it has type size_t.  The driver
currently oopses on insmod if BIOS does not support the interface,
instead of refusing to load.

Signed-off-by: Miloslav Trmac <mitr@volny.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
18 years agoInput: grip_mp - kill commented out code
Dmitry Torokhov [Tue, 10 Jan 2006 06:58:47 +0000 (01:58 -0500)]
Input: grip_mp - kill commented out code

Kill leftovers of dynalloc conversion.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
18 years agoInput: ibmasm - convert to dynamic input_dev allocation
Vernon Mauery [Sat, 7 Jan 2006 16:35:05 +0000 (11:35 -0500)]
Input: ibmasm - convert to dynamic input_dev allocation

Update the ibmasm driver to use the dynamic allocation of input_dev
structs to work with the sysfs subsystem.

Vojtech: Fixed some problems/bugs in the patch.
Dmitry: Fixed some more.

Signed-off-by: Vernon Mauery <vernux@us.ibm.com>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
18 years agoInput: i8042 - add OQO Zepto to noloop dmi table.
Ben Collins [Fri, 6 Jan 2006 04:00:38 +0000 (23:00 -0500)]
Input: i8042 - add OQO Zepto to noloop dmi table.

Signed-off-by: Ben Collins <bcollins@ubuntu.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
18 years agoInput: add missing keys from input.h to hid-debug.h
Michael Hanselmann [Fri, 6 Jan 2006 04:00:26 +0000 (23:00 -0500)]
Input: add missing keys from input.h to hid-debug.h

Signed-off-by: Michael Hanselmann <linux-kernel@hansmi.ch>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
18 years agoInput: atkbd - don't lose keymap settings when reconnecting keyboard
Dmitry Torokhov [Fri, 6 Jan 2006 04:00:13 +0000 (23:00 -0500)]
Input: atkbd - don't lose keymap settings when reconnecting keyboard

Call serio_reconnect() instead of serio_rescan() when detecting that
a new keyboard was plugged in. This should help KVM uses losing custom
keymap settings when switching between boxes.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
18 years agoMerge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Dmitry Torokhov [Fri, 6 Jan 2006 03:25:13 +0000 (22:25 -0500)]
Merge /pub/scm/linux/kernel/git/torvalds/linux-2.6

18 years ago[NET]: Change 1500 to ETH_DATA_LEN in some files
Kris Katterjohn [Fri, 6 Jan 2006 00:35:42 +0000 (16:35 -0800)]
[NET]: Change 1500 to ETH_DATA_LEN in some files

These patches add the header linux/if_ether.h and change 1500 to
ETH_DATA_LEN in some files.

Signed-off-by: Kris Katterjohn <kjak@users.sourceforge.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPVS]: Another file needs linux/interrupt.h
Andrew Morton [Thu, 5 Jan 2006 22:57:36 +0000 (14:57 -0800)]
[IPVS]: Another file needs linux/interrupt.h

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6
Linus Torvalds [Thu, 5 Jan 2006 23:55:49 +0000 (15:55 -0800)]
Merge git://git./linux/kernel/git/brodo/pcmcia-2.6

18 years ago[PATCH] pcmcia: add some IDs for ide-cs and dtl1_cs
Richard Purdie [Thu, 5 Jan 2006 09:56:03 +0000 (09:56 +0000)]
[PATCH] pcmcia: add some IDs for ide-cs and dtl1_cs

Add some PCMCIA device IDs for the microdrive found in the Sharp Zaurus
and a different revision of the Socket CF+ Bluetooth card.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: cleanup cs.c, reduce size
Daniel Ritz [Fri, 30 Dec 2005 14:12:35 +0000 (15:12 +0100)]
[PATCH] pcmcia: cleanup cs.c, reduce size

kill the socket_shutdown()/shutdown_socket() confusion by making it
one single function. move cs_socket_put() in there. nicer to read and
smaller:

original:
   text    data     bss     dec     hex filename
  25181    1076      32   26289    66b1 drivers/pcmcia/pcmcia_core.ko

patched:
   text    data     bss     dec     hex filename
  24973    1076      32   26081    65e1 drivers/pcmcia/pcmcia_core.ko

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] drivers/pcmcia/cistpl.c: fix endian warnings
Alexey Dobriyan [Fri, 23 Dec 2005 20:51:08 +0000 (23:51 +0300)]
[PATCH] drivers/pcmcia/cistpl.c: fix endian warnings

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: kzalloc conversion
Dominik Brodowski [Sun, 11 Dec 2005 20:18:26 +0000 (21:18 +0100)]
[PATCH] pcmcia: kzalloc conversion

Convert users of kmalloc and memset to kzalloc

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: no probing of ioports on PARISC
Dominik Brodowski [Sun, 11 Dec 2005 19:47:44 +0000 (20:47 +0100)]
[PATCH] pcmcia: no probing of ioports on PARISC

Do not wildly probe the IO ports we're trying to use on PARISC.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: export stored values in sysfs
Dominik Brodowski [Thu, 8 Dec 2005 22:50:36 +0000 (23:50 +0100)]
[PATCH] pcmcia: export stored values in sysfs

Export the stored values instead of re-reading everything in the socket
information sysfs files, and make them accessible to all users, not only
to root.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] 8xx PCMCIA: support for MPC885ADS and MPC866ADS
Vitaly Bordug [Thu, 8 Dec 2005 15:56:12 +0000 (13:56 -0200)]
[PATCH] 8xx PCMCIA: support for MPC885ADS and MPC866ADS

This adds PCMCIA support for both MPC885ADS and MPC866ADS.

This is established not together with FADS, because 885 does not have
io_block_mapping() for BCSR area.
Also, some cleanups done both for 885ADS and MBX.

Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] m8xx_pcmcia: support MAP_AUTOSZ required for CF cards
Vitaly Bordug [Thu, 8 Dec 2005 15:53:20 +0000 (13:53 -0200)]
[PATCH] m8xx_pcmcia: support MAP_AUTOSZ required for CF cards

This fixes misconfiguration that could result in odd work of some old CF
cards.

Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: properly handle static mem, but dynamic io sockets
Dominik Brodowski [Wed, 7 Dec 2005 11:32:20 +0000 (12:32 +0100)]
[PATCH] pcmcia: properly handle static mem, but dynamic io sockets

Some PCMCIA sockets have statically mapped memory windows, but dynamically
mapped IO windows. Using the "nonstatic" socket library is inpractical for
them, as they do neither need a resource database (as we can trust the
kernel resource database on m68k and ppc) nor lots of other features of that
library. Let them get a small "iodyn" socket library (105 lines of code)
instead.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: fix sound drivers
Dominik Brodowski [Thu, 5 Jan 2006 23:27:16 +0000 (00:27 +0100)]
[PATCH] pcmcia: fix sound drivers

Update the PCMCIA sound drivers to handle the recent changes to the PCMCIA
core. A part of this merge was done by Takashi Iwai <tiwai@suse.de>.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe callback
Dominik Brodowski [Mon, 14 Nov 2005 20:25:51 +0000 (21:25 +0100)]
[PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe callback

Unify the EVENT_CARD_INSERTION and "attach" callbacks to one unified
probe() callback. As all in-kernel drivers are changed to this new
callback, there will be no temporary backwards-compatibility. Inside a
probe() function, each driver _must_ set struct pcmcia_device
*p_dev->instance and instance->handle correctly.

With these patches, the basic driver interface for 16-bit PCMCIA drivers
now has the classic four callbacks known also from other buses:

        int (*probe)            (struct pcmcia_device *dev);
        void (*remove)          (struct pcmcia_device *dev);

        int (*suspend)          (struct pcmcia_device *dev);
        int (*resume)           (struct pcmcia_device *dev);

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: remove dev_list from drivers
Dominik Brodowski [Mon, 14 Nov 2005 20:25:35 +0000 (21:25 +0100)]
[PATCH] pcmcia: remove dev_list from drivers

The linked list of devices managed by each PCMCIA driver is, in very most
cases, unused. Therefore, remove it from many drivers.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: remove old detach mechanism
Dominik Brodowski [Mon, 14 Nov 2005 20:25:23 +0000 (21:25 +0100)]
[PATCH] pcmcia: remove old detach mechanism

Remove the old "detach" mechanism as it is unused now.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: unify detach, REMOVAL_EVENT handlers into one remove callback
Dominik Brodowski [Mon, 14 Nov 2005 20:23:14 +0000 (21:23 +0100)]
[PATCH] pcmcia: unify detach, REMOVAL_EVENT handlers into one remove callback

Unify the "detach" and REMOVAL_EVENT handlers to one "remove" function.
Old functionality is preserved, for the moment.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: merge suspend into device model
Dominik Brodowski [Thu, 5 Jan 2006 23:02:03 +0000 (00:02 +0100)]
[PATCH] pcmcia: merge suspend into device model

Merge the suspend and resume methods for 16-bit PCMCIA cards into the
device model -- for both runtime power management and suspend to ram/disk.

Bugfix in ds.c by Richard Purdie
Signed-Off-By: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: new suspend core
Dominik Brodowski [Mon, 14 Nov 2005 20:21:18 +0000 (21:21 +0100)]
[PATCH] pcmcia: new suspend core

Move the suspend and resume methods out of the event handler, and into
special functions. Also use these functions for pre- and post-reset, as
almost all drivers already do, and the remaining ones can easily be
converted.

Bugfix to include/pcmcia/ds.c
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] yenta: make bridge specific init code configurable
Daniel Ritz [Thu, 3 Nov 2005 20:12:14 +0000 (21:12 +0100)]
[PATCH] yenta: make bridge specific init code configurable

Make the bridge specific initialization code config options depending on
CONFIG_EMBEDDED. Config options for TI/EnE, Toshiba, Ricoh and O2Micro are
available. Disabling all of the specific tweaks cuts off more than half
of yenta_socket.ko.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: validate_mem fix
Andrew Morton [Thu, 17 Nov 2005 05:29:26 +0000 (21:29 -0800)]
[PATCH] pcmcia: validate_mem fix

Also return a value if CONFIG_PCMCIA_PROBE is not set.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: validate_mem shouldn't be void
Dominik Brodowski [Wed, 28 Sep 2005 17:41:56 +0000 (19:41 +0200)]
[PATCH] pcmcia: validate_mem shouldn't be void

Add a return value to pcmcia_validate_mem.  Only if we have enough memory
available to map the CIS, we should proceed in trying to determine information
about the device.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: remove get_socket callback
Dominik Brodowski [Sat, 12 Nov 2005 22:56:33 +0000 (23:56 +0100)]
[PATCH] pcmcia: remove get_socket callback

The .get_socket callback is never used by the PCMCIA core, therefore remove
it.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: remove socket register_callback
Dominik Brodowski [Wed, 28 Sep 2005 17:41:55 +0000 (19:41 +0200)]
[PATCH] pcmcia: remove socket register_callback

Remove the register_callback declaration in struct pccard_operations as it is
unused.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] yenta: optimize interrupt handler
Daniel Ritz [Tue, 20 Sep 2005 21:17:37 +0000 (14:17 -0700)]
[PATCH] yenta: optimize interrupt handler

Don't waste cpu time in yenta interrupt handler when the interrupt was for
another device.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years ago[PATCH] pcmcia: avoid macro usage in cistpl
Pavel Machek [Wed, 7 Sep 2005 23:00:26 +0000 (16:00 -0700)]
[PATCH] pcmcia: avoid macro usage in cistpl

Fix macro abuse in pcmcia.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Thu, 5 Jan 2006 22:18:15 +0000 (14:18 -0800)]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Thu, 5 Jan 2006 22:01:23 +0000 (14:01 -0800)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

18 years ago[IA64] Fix compile warnings in setup.c
Tony Luck [Thu, 5 Jan 2006 21:30:52 +0000 (13:30 -0800)]
[IA64] Fix compile warnings in setup.c

arch/ia64/kernel/setup.c: In function `show_cpuinfo':
arch/ia64/kernel/setup.c:576: warning: long unsigned int format, different type arg (arg 12)
arch/ia64/kernel/setup.c:576: warning: long unsigned int format, different type arg (arg 13)

Introduced by 95235ca2c20ac0b31a8eb39e2d599bcc3e9c9a10

Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years ago[ATYFB]: Fix onboard video on SPARC Blade 100 for 2.6.{13,14,15}
Luis F. Ortiz [Thu, 5 Jan 2006 21:12:41 +0000 (13:12 -0800)]
[ATYFB]: Fix onboard video on SPARC Blade 100 for 2.6.{13,14,15}

I have recently been switching from using 2.4.32 on my trusty
old Sparc Blade 100 to using 2.6.15 .  Some of the problems I ran into
were distorted video when the console was active (missing first
character, skipped dots) and when running X windows (colored snow,
stripes, missing pixels).  A quick examination of the 2.6 versus 2.4
source for the ATY driver revealed alot of changes.

         A closer look at the code/data for the 64GR/XL chip revealed
two minor "typos" that the rewriter(s) of the code made.  The first is
a incorrect clock value (230 .vs. 235) and the second is a missing
flag (M64F_SDRAM_MAGIC_PLL).  Making both these changes seems to have
fixed my problem.  I tend to think the 235 value is the correct one,
as there is a 29.4 Mhz clock crystal close to the video chip and 235.2
(29.4*8) is too close to 235 to make it a coincidence.

The flag for M64F_SDRAM_MAGIC_PLL was dropped during the
changes made by adaplas in file revision 1.72 on the old bitkeeper
repository.

The change relating to the clock rate has been there forever,
at least in the 2.6 tree.  I'm not sure where to look for the old 2.5
tree or if anyone cares when it happened.

On SPARC Blades 100's, which use the ATY MACH64GR video chipset, the
clock crystal frequency is 235.2 Mhz, not 230 Mhz.  The chipset also
requires the use of M64F_SDRAM_MAGIC_PLL in order to setup the PLL
properly for the DRAM.

Signed-off-by: Luis F. Ortiz <lfo@Polyad.Org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: Use HOPLIMIT metric as TTL of TCP reset sent by REJECT
Yasuyuki Kozakai [Thu, 5 Jan 2006 20:28:57 +0000 (12:28 -0800)]
[NETFILTER]: Use HOPLIMIT metric as TTL of TCP reset sent by REJECT

HOPLIMIT metric is appropriate to TCP reset sent by REJECT target
than hard-coded max TTL. Thanks to David S. Miller for hint.

Signed-off-by: Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: nf_conntrack_l3proto_ipv4.c needs net/route.h
Patrick McHardy [Thu, 5 Jan 2006 20:21:52 +0000 (12:21 -0800)]
[NETFILTER]: nf_conntrack_l3proto_ipv4.c needs net/route.h

CC [M]  net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.o
net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c: In function 'ipv4_refrag':
net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c:198: error: dereferencing pointer to incomplete type
make[3]: *** [net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.o] Error 1

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: Export ip6_masked_addrcmp, don't pass IPv6 addresses on stack
Patrick McHardy [Thu, 5 Jan 2006 20:21:34 +0000 (12:21 -0800)]
[NETFILTER]: Export ip6_masked_addrcmp, don't pass IPv6 addresses on stack

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: make ipv6_find_hdr() find transport protocol header
Patrick McHardy [Thu, 5 Jan 2006 20:21:16 +0000 (12:21 -0800)]
[NETFILTER]: make ipv6_find_hdr() find transport protocol header

The original ipv6_find_hdr() finds the specified header in IPv6 packets.
This makes it possible to get transport header so that we can kill similar
loop in ip6_match_packet().

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: Call POST_ROUTING hook before fragmentation
Patrick McHardy [Thu, 5 Jan 2006 20:20:59 +0000 (12:20 -0800)]
[NETFILTER]: Call POST_ROUTING hook before fragmentation

Call POST_ROUTING hook before fragmentation to get rid of the okfn use
in ip_refrag and save the useless fragmentation/defragmentation step
when NAT is used.

The patch introduces one user-visible change, the POSTROUTING chain
in the mangle table gets entire packets, not fragments, which should
simplify use of the MARK and CLASSIFY targets for queueing as a nice
side-effect.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: Remove okfn usage in ip_vs_core.c
Patrick McHardy [Thu, 5 Jan 2006 20:20:40 +0000 (12:20 -0800)]
[NETFILTER]: Remove okfn usage in ip_vs_core.c

okfn should only be used from different contexts to avoid deep call chains,
i.e. by nf_queue.

Acked-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: ctnetlink: Fix dumping of helper name
Patrick McHardy [Thu, 5 Jan 2006 20:20:02 +0000 (12:20 -0800)]
[NETFILTER]: ctnetlink: Fix dumping of helper name

Properly dump the helper name instead of internal kernel data.
Based on patch by Marcus Sundberg <marcus@ingate.com>.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: Fix module_param types and permissions
Patrick McHardy [Thu, 5 Jan 2006 20:19:46 +0000 (12:19 -0800)]
[NETFILTER]: Fix module_param types and permissions

Fix netfilter module_param types and permissions. Also fix an off-by-one in
the ipt_ULOG nlbufsiz < 128k check.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: Filter dumped entries based on the layer 3 protocol number
Pablo Neira Ayuso [Thu, 5 Jan 2006 20:19:23 +0000 (12:19 -0800)]
[NETFILTER]: Filter dumped entries based on the layer 3 protocol number

Dump entries of a given Layer 3 protocol number.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: Add ctnetlink port for nf_conntrack
Pablo Neira Ayuso [Thu, 5 Jan 2006 20:19:05 +0000 (12:19 -0800)]
[NETFILTER]: Add ctnetlink port for nf_conntrack

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: ctnetlink: remove unused variable
Pablo Neira Ayuso [Thu, 5 Jan 2006 20:18:44 +0000 (12:18 -0800)]
[NETFILTER]: ctnetlink: remove unused variable

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: ctnetlink: fix conntrack mark race
Pablo Neira Ayuso [Thu, 5 Jan 2006 20:18:25 +0000 (12:18 -0800)]
[NETFILTER]: ctnetlink: fix conntrack mark race

Set conntrack mark before it is in hashes.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: ctnetlink: ctnetlink_event cleanup
Pablo Neira Ayuso [Thu, 5 Jan 2006 20:18:08 +0000 (12:18 -0800)]
[NETFILTER]: ctnetlink: ctnetlink_event cleanup

Cleanup: Use 'else if' instead of a ugly 'goto' statement.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: ctnetlink: use u_int32_t instead of unsigned int
Pablo Neira Ayuso [Thu, 5 Jan 2006 20:17:50 +0000 (12:17 -0800)]
[NETFILTER]: ctnetlink: use u_int32_t instead of unsigned int

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: ctnetlink: propagate ctnetlink_dump_tuples_proto return value back
Pablo Neira Ayuso [Thu, 5 Jan 2006 20:17:29 +0000 (12:17 -0800)]
[NETFILTER]: ctnetlink: propagate ctnetlink_dump_tuples_proto return value back

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: ctnetlink: Add sanity checkings for ICMP
Yasuyuki Kozakai [Thu, 5 Jan 2006 20:17:03 +0000 (12:17 -0800)]
[NETFILTER]: ctnetlink: Add sanity checkings for ICMP

Signed-off-by: Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: ctnetlink: remove bogus checks in ICMP protocol at dumping
Pablo Neira Ayuso [Thu, 5 Jan 2006 20:16:41 +0000 (12:16 -0800)]
[NETFILTER]: ctnetlink: remove bogus checks in ICMP protocol at dumping

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: Decrease number of pointer derefs in nf_conntrack_core.c
Jesper Juhl [Thu, 5 Jan 2006 20:16:16 +0000 (12:16 -0800)]
[NETFILTER]: Decrease number of pointer derefs in nf_conntrack_core.c

Benefits of the patch:
 - Fewer pointer dereferences should make the code slightly faster.
 - Size of generated code is smaller
 - improved readability

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: Decrease number of pointer derefs in nfnetlink_queue.c
Jesper Juhl [Thu, 5 Jan 2006 20:15:58 +0000 (12:15 -0800)]
[NETFILTER]: Decrease number of pointer derefs in nfnetlink_queue.c

Benefits of the patch:
 - Fewer pointer dereferences should make the code slightly faster.
 - Size of generated code is smaller
 - improved readability

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPVS]: Fix compilation
Adrian Bunk [Thu, 5 Jan 2006 20:14:43 +0000 (12:14 -0800)]
[IPVS]: Fix compilation

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agoAuto-update from upstream
Tony Luck [Thu, 5 Jan 2006 16:52:11 +0000 (08:52 -0800)]
Auto-update from upstream

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6
Linus Torvalds [Thu, 5 Jan 2006 02:44:12 +0000 (18:44 -0800)]
Merge git://git./linux/kernel/git/gregkh/driver-2.6

Trivial manual merge fixup for usb_find_interface clashes.

18 years ago[PATCH] i386: "invalid operand" -> "invalid opcode"
Chuck Ebbert [Wed, 4 Jan 2006 03:36:14 +0000 (22:36 -0500)]
[PATCH] i386: "invalid operand" -> "invalid opcode"

According to the manual, INT 6 is "invalid opcode", not "invalid operand".

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Fix IXP4xx watchdog errata workaround
Deepak Saxena [Tue, 3 Jan 2006 20:50:30 +0000 (12:50 -0800)]
[PATCH] Fix IXP4xx watchdog errata workaround

The IXP4xx driver bails out on all A0 CPUs, but it should only do
so on IXP42x as IXP46x has functioning HW.

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsa
Linus Torvalds [Thu, 5 Jan 2006 00:38:36 +0000 (16:38 -0800)]
Merge git://git./linux/kernel/git/perex/alsa

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
Linus Torvalds [Thu, 5 Jan 2006 00:36:52 +0000 (16:36 -0800)]
Merge git://git./linux/kernel/git/sam/kbuild

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial
Linus Torvalds [Thu, 5 Jan 2006 00:34:57 +0000 (16:34 -0800)]
Merge git://git./linux/kernel/git/bunk/trivial

18 years agoMerge branch 'upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
Linus Torvalds [Thu, 5 Jan 2006 00:32:33 +0000 (16:32 -0800)]
Merge branch 'upstream' of /linux/kernel/git/jgarzik/libata-dev

18 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Thu, 5 Jan 2006 00:31:56 +0000 (16:31 -0800)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
Linus Torvalds [Thu, 5 Jan 2006 00:30:12 +0000 (16:30 -0800)]
Merge git://git./linux/kernel/git/jejb/scsi-misc-2.6

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Thu, 5 Jan 2006 00:27:41 +0000 (16:27 -0800)]
Merge git://git./linux/kernel/git/davem/net-2.6

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Thu, 5 Jan 2006 00:25:44 +0000 (16:25 -0800)]
Merge git://git./linux/kernel/git/gregkh/usb-2.6

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq
Linus Torvalds [Thu, 5 Jan 2006 00:21:26 +0000 (16:21 -0800)]
Merge /pub/scm/linux/kernel/git/davej/cpufreq

18 years agoRelax the rw_verify_area() error checking.
Linus Torvalds [Thu, 5 Jan 2006 00:20:40 +0000 (16:20 -0800)]
Relax the rw_verify_area() error checking.

In particular, allow over-large read- or write-requests to be downgraded
to a more reasonable range, rather than considering them outright errors.

We want to protect lower layers from (the sadly all too common) overflow
conditions, but prefer to do so by chopping the requests up, rather than
just refusing them outright.

Cc: Peter Anvin <hpa@zytor.com>
Cc: Ulrich Drepper <drepper@redhat.com>
Cc: Andi Kleen <ak@suse.de>
Cc: Al Viro <viro@ftp.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] net: swich device attribute creation to default attrs
Kay Sievers [Mon, 19 Dec 2005 00:42:56 +0000 (01:42 +0100)]
[PATCH] net: swich device attribute creation to default attrs

Recent udev versions don't longer cover bad sysfs timing with built-in
logic. Explicit rules are required to do that. For net devices, the
following is needed:
  ACTION=="add", SUBSYSTEM=="net", WAIT_FOR_SYSFS="address"
to handle access to net device properties from an event handler without
races.

This patch changes the main net attributes to be created by the driver
core, which is done _before_ the event is sent out and will not require
the stat() loop of the WAIT_FOR_SYSFS key.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] drivers/base/power/runtime.c: #if 0 dpm_set_power_state()
Adrian Bunk [Mon, 12 Dec 2005 09:31:03 +0000 (01:31 -0800)]
[PATCH] drivers/base/power/runtime.c: #if 0 dpm_set_power_state()

This patch #if 0's an unused global function.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] sysfs: handle failures in sysfs_make_dirent
Steven Rostedt [Wed, 23 Nov 2005 14:15:44 +0000 (09:15 -0500)]
[PATCH] sysfs: handle failures in sysfs_make_dirent

I noticed that if sysfs_make_dirent fails to allocate the sd, then a
null will be passed to sysfs_put.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] Driver core: Make block devices create the proper symlink name
Greg Kroah-Hartman [Tue, 13 Dec 2005 23:17:34 +0000 (15:17 -0800)]
[PATCH] Driver core: Make block devices create the proper symlink name

Block devices need to add the block device name to the symlink they put
in the device directory, otherwise multiple symlinks of the same name
can be created.  This matches the class system, which works the same
way, we just forgot to convert block at the same time.

Cc: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] Driver core: only all userspace bind/unbind if CONFIG_HOTPLUG is enabled
Greg Kroah-Hartman [Tue, 13 Dec 2005 23:17:34 +0000 (15:17 -0800)]
[PATCH] Driver core: only all userspace bind/unbind if CONFIG_HOTPLUG is enabled

Thanks to drivers making their id tables __devinit, we can't allow
userspace to bind or unbind drivers from devices manually through sysfs.
So we only allow this if CONFIG_HOTPLUG is enabled.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] Driver Core: Rearrange exports in platform.c
Dmitry Torokhov [Sat, 10 Dec 2005 06:36:28 +0000 (01:36 -0500)]
[PATCH] Driver Core: Rearrange exports in platform.c

Driver core: rearrange exports in platform.c

The new way is to specify export right after symbol definition.
Rearrange exports to follow new style to avoid mixing two styles
in one file.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] Driver Core: Add platform_device_del()
Dmitry Torokhov [Sat, 10 Dec 2005 06:36:27 +0000 (01:36 -0500)]
[PATCH] Driver Core: Add platform_device_del()

Driver core: add platform_device_del function

Having platform_device_del90 allows more straightforward error
handling code in drivers registering platform devices.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] Input: fix add modalias support build error
Rusty Russell [Sat, 10 Dec 2005 11:48:20 +0000 (22:48 +1100)]
[PATCH] Input: fix add modalias support build error

Fix build when scripts/mod/file2alias.c includes linux/input.h, which
tries to include /usr/include/linux/mod_devicetable.h:

 In file included from scripts/mod/file2alias.c:40:
 include/linux/input.h:21:35: linux/mod_devicetable.h: No such file or directory
 make[2]: *** [scripts/mod/file2alias.o] Error 1

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] Input: add modalias support
Rusty Russell [Wed, 7 Dec 2005 20:40:34 +0000 (21:40 +0100)]
[PATCH] Input: add modalias support

Here's the patch for modalias support for input classes.  It uses
comma-separated numbers, and doesn't describe all the potential keys (no
module currently cares, and that would make the strings huge).  The
changes to input.h are to move the definitions needed by file2alias
outside __KERNEL__.  I chose not to move those definitions to
mod_devicetable.h, because there are so many that it might break compile
of something else in the kernel.

The rest is fairly straightforward.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
CC: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] ide: MODALIAS support for autoloading of ide-cd, ide-disk, ...
Kay Sievers [Mon, 12 Dec 2005 17:03:44 +0000 (18:03 +0100)]
[PATCH] ide: MODALIAS support for autoloading of ide-cd, ide-disk, ...

IDE: MODALIAS support for autoloading of ide-cd, ide-disk, ...

Add MODULE_ALIAS to IDE midlayer modules: ide-disk, ide-cd, ide-floppy and
ide-tape, to autoload these modules depending on the probed media type of
the IDE device.

It is used by udev and replaces the former agent shell script of the hotplug
package, which was required to lookup the media type in the proc filesystem.
Using proc was racy, cause the media file is created after the hotplug event
is sent out.

The module autoloading does not take any effect, until something like the
following udev rule is configured:
  SUBSYSTEM=="ide",  ACTION=="add", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"

The module ide-scsi will not be autoloaded, cause it requires manual
configuration. It can't be, and never was supported for automatic setup in
the hotplug package. Adding a MODULE_ALIAS to ide-scsi for all supported
media types, would just lead to a default blacklist entry anyway.

  $ modinfo ide-disk
  filename:       /lib/modules/2.6.15-rc4-g1b0997f5/kernel/drivers/ide/ide-disk.ko
  description:    ATA DISK Driver
  alias:          ide:*m-disk*
  license:        GPL
  ...

  $ modprobe -vn ide:m-disk
  insmod /lib/modules/2.6.15-rc4-g1b0997f5/kernel/drivers/ide/ide-disk.ko

  $ cat /sys/bus/ide/devices/0.0/modalias
  ide:m-disk

It also adds attributes to the IDE device:
  $ tree /sys/bus/ide/devices/0.0/
  /sys/bus/ide/devices/0.0/
  |-- bus -> ../../../../../../../bus/ide
  |-- drivename
  |-- media
  |-- modalias
  |-- power
  |   |-- state
  |   `-- wakeup
  `-- uevent

  $ cat /sys/bus/ide/devices/0.0/{modalias,drivename,media}
  ide:m-disk
  hda
  disk

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] kobject_uevent CONFIG_NET=n fix
akpm@osdl.org [Wed, 23 Nov 2005 07:36:13 +0000 (23:36 -0800)]
[PATCH] kobject_uevent CONFIG_NET=n fix

lib/lib.a(kobject_uevent.o)(.text+0x25f): In function `kobject_uevent':
: undefined reference to `__alloc_skb'
lib/lib.a(kobject_uevent.o)(.text+0x2a1): In function `kobject_uevent':
: undefined reference to `skb_over_panic'
lib/lib.a(kobject_uevent.o)(.text+0x31d): In function `kobject_uevent':
: undefined reference to `skb_over_panic'
lib/lib.a(kobject_uevent.o)(.text+0x356): In function `kobject_uevent':
: undefined reference to `netlink_broadcast'
lib/lib.a(kobject_uevent.o)(.init.text+0x9): In function `kobject_uevent_init':
: undefined reference to `netlink_kernel_create'
make: *** [.tmp_vmlinux1] Error 1

Netlink is unconditionally enabled if CONFIG_NET, so that's OK.

kobject_uevent.o is compiled even if !CONFIG_HOTPLUG, which is lazy.

Let's compound the sin.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] Allow overlapping resources for platform devices
Kumar Gala [Mon, 28 Nov 2005 16:15:39 +0000 (10:15 -0600)]
[PATCH] Allow overlapping resources for platform devices

There are cases in which a device's memory mapped registers overlap
with another device's memory mapped registers.  On several PowerPC
devices this occurs for the MDIO bus, whose registers tended to overlap
with one of the ethernet controllers.

By switching from request_resource to insert_resource we can register
the MDIO bus as a proper platform device and not hack around how we
handle its memory mapped registers.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] klist: Fix broken kref counting in find functions
Frank Pavlic [Sun, 27 Nov 2005 04:48:40 +0000 (20:48 -0800)]
[PATCH] klist: Fix broken kref counting in find functions

The klist reference counting in the find functions that use
klist_iter_init_node is broken.  If the function (for example
driver_find_device) is called with a NULL start object then everything is
fine, the first call to next_device()/klist_next increases the ref-count of
the first node on the list and does nothing for the start object which is
NULL.

If they are called with a valid start object then klist_next will decrement
the ref-count for the start object but nobody has incremented it.  Logical
place to fix this would be klist_iter_init_node because the function puts a
reference of the object into the klist_iter struct.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Frank Pavlic <pavlic@de.ibm.com>
Cc: Patrick Mochel <mochel@digitalimplant.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] Hold the device's parent's lock during probe and remove
Alan Stern [Thu, 17 Nov 2005 21:54:12 +0000 (16:54 -0500)]
[PATCH] Hold the device's parent's lock during probe and remove

This patch (as604) makes the driver core hold a device's parent's lock
as well as the device's lock during calls to the probe and remove
methods in a driver.  This facility is needed by USB device drivers,
owing to the peculiar way USB devices work:

A device provides multiple interfaces, and drivers are bound
to interfaces rather than to devices;

Nevertheless a reset, reset-configuration, suspend, or resume
affects the entire device and requires the caller to hold the
lock for the device, not just a lock for one of the interfaces.

Since a USB driver's probe method is always called with the interface
lock held, the locking order rules (always lock parent before child)
prevent these methods from acquiring the device lock.  The solution
provided here is to call all probe and remove methods, for all devices
(not just USB), with the parent lock already acquired.

Although currently only the USB subsystem requires these changes, people
have mentioned in prior discussion that the overhead of acquiring an
extra semaphore in all the prove/remove sequences is not overly large.

Up to now, the USB core has been using its own set of private
semaphores.  A followup patch will remove them, relying entirely on the
device semaphores provided by the driver core.

The code paths affected by this patch are:

device_add and device_del: The USB core already holds the parent
lock, so no actual change is needed.

driver_register and driver_unregister: The driver core will now
lock both the parent and the device before probing or removing.

driver_bind and driver_unbind (in sysfs): These routines will
now lock both the parent and the device before binding or
unbinding.

bus_rescan_devices: The helper routine will lock the parent
before probing a device.

I have not tested this patch for conflicts with other subsystems.  As
far as I can see, the only possibility of conflict would lie in the
bus_rescan_devices pathway, and it seems pretty remote.  Nevertheless,
it would be good for this to get a lot of testing in -mm.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] driver kill hotplug word from sn and others fix
Paul Jackson [Sat, 26 Nov 2005 04:04:26 +0000 (20:04 -0800)]
[PATCH] driver kill hotplug word from sn and others fix

The first of these changes s/hotplug/uevent/ was needed to
compile sn2_defconfig (ia64/sn).  The other three files
changed are blind changes of all remaining bus_type.hotplug
references I could find to bus_type.uevent.

This patch attempts to finish similar changes made in the
gregkh-driver-kill-hotplug-word-from-driver-core Nov 22 patch.

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] HOTPLUG: always enable the .config option, unless EMBEDDED
Greg Kroah-Hartman [Wed, 16 Nov 2005 19:27:07 +0000 (11:27 -0800)]
[PATCH] HOTPLUG: always enable the .config option, unless EMBEDDED

With modules, dynamic /dev, and uevents, people really want
CONFIG_HOTPLUG to be enabled in their kernels.  If not, they can still
disable it, but it is discouraged.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] driver core: replace "hotplug" by "uevent"
Kay Sievers [Wed, 16 Nov 2005 08:00:00 +0000 (09:00 +0100)]
[PATCH] driver core: replace "hotplug" by "uevent"

Leave the overloaded "hotplug" word to susbsystems which are handling
real devices. The driver core does not "plug" anything, it just exports
the state to userspace and generates events.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] merge kobject_uevent and kobject_hotplug
Kay Sievers [Fri, 11 Nov 2005 13:43:07 +0000 (14:43 +0100)]
[PATCH] merge kobject_uevent and kobject_hotplug

The distinction between hotplug and uevent does not make sense these
days, netlink events are the default.

udev depends entirely on netlink uevents. Only during early boot and
in initramfs, /sbin/hotplug is needed. So merge the two functions and
provide only one interface without all the options.

The netlink layer got a nice generic interface with named slots
recently, which is probably a better facility to plug events for
subsystem specific events.
Also the new poll() interface to /proc/mounts is a nicer way to
notify about changes than sending events through the core.
The uevents should only be used for driver core related requests to
userspace now.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] remove mount/umount uevents from superblock handling
Kay Sievers [Fri, 11 Nov 2005 05:09:55 +0000 (06:09 +0100)]
[PATCH] remove mount/umount uevents from superblock handling

The names of these events have been confusing from the beginning
on, as they have been more like claim/release events. We needed these
events for noticing HAL if storage devices have been mounted.

Thanks to Al, we have the proper solution now and can poll()
/proc/mounts instead to get notfied about mount tree changes.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] add uevent_helper control in /sys/kernel/
Kay Sievers [Fri, 11 Nov 2005 03:58:04 +0000 (04:58 +0100)]
[PATCH] add uevent_helper control in /sys/kernel/

This deprecates the /proc/sys/kernel/hotplug file, as all
this stuff should be in /sys some day, right? :)
In /sys/kernel/ we have now uevent_seqnum and uevent_helper.
The seqnum is no longer used by udev, as the version for this
kernel depends on netlink which events will never get
out-of-order.

Recent udev versions disable the /sbin/hotplug helper with
an init script, cause it leads to OOM on big boxes by running
hundreds of shells in parallel. It should be done now by:
  echo "" > /sys/kernel/uevent_helper

(Note that "-n" does not work, cause neighter proc nor sysfs
support truncate().)

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] remove CONFIG_KOBJECT_UEVENT option
Kay Sievers [Fri, 11 Nov 2005 04:33:52 +0000 (05:33 +0100)]
[PATCH] remove CONFIG_KOBJECT_UEVENT option

It makes zero sense to have hotplug, but not the netlink
events enabled today. Remove this option and merge the
kobject_uevent.h header into the kobject.h header file.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>