GitHub/moto-9609/android_kernel_motorola_exynos9610.git
17 years agodev_dbg: check dev_dbg() arguments
Dan Williams [Thu, 26 Apr 2007 07:12:10 +0000 (00:12 -0700)]
dev_dbg: check dev_dbg() arguments

Duplicate what Zach Brown did for pr_debug in commit
8b2a1fd1b394c60eaa2587716102dd5e9b4e5990

[akpm@linux-foundation.org: fix a couple of things which broke]
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodrivers/base/attribute_container.c: use mutex instead of binary semaphore
Matthias Kaehlcke [Thu, 26 Apr 2007 07:12:09 +0000 (00:12 -0700)]
drivers/base/attribute_container.c: use mutex instead of binary semaphore

use mutex instead of binary semaphore in
drivers/base/attribute_container.c

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agomod_sysfs_setup() doesn't return errno when kobject_add_dir() failure occurs
Akinobu Mita [Thu, 26 Apr 2007 07:12:09 +0000 (00:12 -0700)]
mod_sysfs_setup() doesn't return errno when kobject_add_dir() failure occurs

mod_sysfs_setup() doesn't return an errno when kobject_add_dir() for module
"holders" directory fails.  So caller of mod_sysfs_setup() will keep going
and get oops.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agos2ram: add arch irq disable/enable hooks
Johannes Berg [Thu, 26 Apr 2007 09:43:58 +0000 (11:43 +0200)]
s2ram: add arch irq disable/enable hooks

After some more discussion this patch replaces it:

From: Johannes Berg <johannes@sipsolutions.net>
Subject: suspend: add arch irq disable/enable hooks

For powermac, we need to do some things between suspending devices and
device_power_off, for example setting the decrementer. This patch
allows architectures to define arch_s2ram_{en,dis}able_irqs in their
asm/suspend.h to have control over this step.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Pavel Machek <pavel@ucw.cz>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodefine platform wakeup hook, use in pci_enable_wake()
David Brownell [Thu, 26 Apr 2007 07:12:06 +0000 (00:12 -0700)]
define platform wakeup hook, use in pci_enable_wake()

This defines a platform hook to enable/disable a device as a wakeup event
source.  It's initially for use with ACPI, but more generally it could be used
whenever enable_irq_wake()/disable_irq_wake() don't suffice.

The hook is called -- if available -- inside pci_enable_wake(); and the
semantics of that call are enhanced so that support for PCI PME# is no longer
needed.  It can now work for devices with "legacy PCI PM", when platform
support allows it.  (That support would use some board-specific signal for for
the same purpose as PME#.)

[akpm@linux-foundation.org: Make it compile with CONFIG_PM=n]
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Cc: Len Brown <lenb@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agosecurity: prevent permission checking of file removal via sysfs_remove_group()
James Morris [Thu, 26 Apr 2007 07:12:05 +0000 (00:12 -0700)]
security: prevent permission checking of file removal via sysfs_remove_group()

Prevent permission checking from being performed when the kernel wants to
unconditionally remove a sysfs group, by introducing an kernel-only variant
of lookup_one_len(), lookup_one_len_kern().

Additionally, as sysfs_remove_group() does not check the return value of
the lookup before using it, a BUG_ON has been added to pinpoint the cause
of any problems potentially caused by this (and as a form of annotation).

Signed-off-by: James Morris <jmorris@namei.org>
Cc: Nagendra Singh Tomar <nagendra_tomar@adaptec.com>
Cc: Tejun Heo <htejun@gmail.com>
Cc: Stephen Smalley <sds@tycho.nsa.gov>
Cc: Eric Paris <eparis@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodevice_schedule_callback() needs a module reference
Alan Stern [Thu, 26 Apr 2007 07:12:04 +0000 (00:12 -0700)]
device_schedule_callback() needs a module reference

This patch (as896b) fixes an oversight in the design of
device_schedule_callback().  It is necessary to acquire a reference to the
module owning the callback routine, to prevent the module from being
unloaded before the callback can run.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: Satyam Sharma <satyam.sharma@gmail.com>
Cc: Neil Brown <neilb@suse.de>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agos390: cio: Delay uevents for subchannels
Cornelia Huck [Thu, 26 Apr 2007 07:12:03 +0000 (00:12 -0700)]
s390: cio: Delay uevents for subchannels

We often have the situation that we register a subchannel and start device
recognition, only to find out that the device is not usable after all, which
triggers an unregister of the subchannel.  This often happens on hundreds of
subchannels on a LPAR, leading to a storm of events which aren't of any use.
Therefore, use uevent_suppress to delay the KOBJ_ADD uevent for a subchannel
until we know that its ccw_device is to be registered.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Eric Rannaud <eric.rannaud@gmail.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agosysfs: bin.c printk fix
Andrew Morton [Thu, 26 Apr 2007 07:12:10 +0000 (00:12 -0700)]
sysfs: bin.c printk fix

fs/sysfs/bin.c: In function 'read':
fs/sysfs/bin.c:77: warning: format '%zd' expects type 'signed size_t', but argument 4 has type 'int'

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver core: use mutex instead of semaphore in DMA pool handler
Matthias Kaehlcke [Tue, 24 Apr 2007 20:45:25 +0000 (22:45 +0200)]
Driver core: use mutex instead of semaphore in DMA pool handler

the DMA pool handler uses a semaphore as mutex. use the mutex API
instead of the (binary) semaphore

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodriver core: bus_add_driver should return an error if no bus
Greg Kroah-Hartman [Fri, 20 Apr 2007 18:29:52 +0000 (11:29 -0700)]
driver core: bus_add_driver should return an error if no bus

As pointed out by Dave Jones.

Cc: Dave Jones <davej@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodebugfs: Add debugfs_create_u64()
Michael Ellerman [Tue, 17 Apr 2007 05:59:36 +0000 (15:59 +1000)]
debugfs: Add debugfs_create_u64()

I went to use this the other day, only to find it didn't exist.

It's a straight copy of the debugfs u32 code, then s/u32/u64/. A quick
test shows it seems to be working.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agothe overdue removal of the mount/umount uevents
Adrian Bunk [Fri, 6 Apr 2007 10:21:45 +0000 (12:21 +0200)]
the overdue removal of the mount/umount uevents

This patch contains the overdue removal of the mount/umount uevents.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agokobject: Comment and warning fixes to kobject.c
Eric W. Biederman [Fri, 6 Apr 2007 16:47:11 +0000 (10:47 -0600)]
kobject: Comment and warning fixes to kobject.c

This dots some i's and crosses some t's after left over from when
kobject_kset_add_dir was built from kobject_add_dir.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver core: warn when userspace writes to the uevent file in a non-supported way
Kay Sievers [Thu, 5 Apr 2007 23:40:38 +0000 (01:40 +0200)]
Driver core: warn when userspace writes to the uevent file in a non-supported way

In the future we will allow the uevent type to be written to the uevent
file to trigger the different types of uevents.  But for now, as we only
support the ADD event, warn if userspace tries to write anything else to
this file.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver core: make uevent-environment available in uevent-file
Kay Sievers [Thu, 5 Apr 2007 23:40:38 +0000 (01:40 +0200)]
Driver core: make uevent-environment available in uevent-file

This allows sysfs to show the environment variables that are available
if the uevent happens.  This lets userspace not have to cache all of
this information as the kernel already knows it.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agokobject core: remove rwsem from struct subsystem
Greg Kroah-Hartman [Mon, 9 Apr 2007 15:52:31 +0000 (11:52 -0400)]
kobject core: remove rwsem from struct subsystem

It isn't used at all by the driver core anymore, and the few usages of
it within the kernel have now all been fixed as most of them were using
it incorrectly.  So remove it.

Now the whole struct subsys can be removed from the system, but that's
for a later patch...

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoqeth: Remove usage of subsys.rwsem
Cornelia Huck [Tue, 17 Apr 2007 11:01:38 +0000 (13:01 +0200)]
qeth: Remove usage of subsys.rwsem

the current driver tree contains the removal of subsys.rwsem.
Unfortunately, this breaks qeth. However, it should be no problem to
fix the walking of the devices for /proc/qeth:

No need to take subsys.rwsem during walking the devices,
driver_find_devices() should already suffice.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoPHY: remove rwsem use from phy core
Greg Kroah-Hartman [Mon, 9 Apr 2007 15:52:31 +0000 (11:52 -0400)]
PHY: remove rwsem use from phy core

The subsystem rwsem is not used by the driver core at all, so the use of
it in the phy code doesn't make any sense.  They might possibly
want to use a local lock, but I am unsure about that.

Cc: netdev <netdev@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoIEEE1394: remove rwsem use from ieee1394 core
Greg Kroah-Hartman [Mon, 9 Apr 2007 15:52:31 +0000 (11:52 -0400)]
IEEE1394: remove rwsem use from ieee1394 core

The subsystem rwsem is not used by the driver core at all, so the use of
it in the ieee1394 code doesn't make any sense.  They might possibly
want to use a local lock, but as most of these operations are already
protected by a local lock, it really doesn't look like it would be
needed.

Cc: Ben Collins <bcollins@debian.org>
Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: linux1394-devel <linux1394-devel@lists.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoIDE: remove rwsem use from ide-proc core
Greg Kroah-Hartman [Mon, 9 Apr 2007 15:52:31 +0000 (11:52 -0400)]
IDE: remove rwsem use from ide-proc core

The subsystem rwsem is not used by the driver core at all, so the use of
it in the ide-proc code of it doesn't make any sense.  Perhaps a local
lock might be needed, but I do not really think so.

Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: linux ide <linux-ide@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoInput: gameport - do not touch bus's rwsem
Dmitry Torokhov [Tue, 10 Apr 2007 04:40:48 +0000 (00:40 -0400)]
Input: gameport - do not touch bus's rwsem

The subsystem rwsem is not used by the driver core at all, so there is
no point in trying to access it.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoInput: serio - do not touch bus's rwsem
Dmitry Torokhov [Tue, 10 Apr 2007 04:40:27 +0000 (00:40 -0400)]
Input: serio - do not touch bus's rwsem

The subsystem rwsem is not used by the driver core at all, so there is
no point in trying to access it.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoPNP: stop using the subsystem rwsem
Greg Kroah-Hartman [Mon, 9 Apr 2007 15:52:31 +0000 (11:52 -0400)]
PNP: stop using the subsystem rwsem

The rwsem is not used to protect anything, so the use of it by the PNP
subsystem isn't really useful, and it's doubtful if it really did anything or
not.  So I've removed it.

Cc: Adam Belay <ambx1@neo.rr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: remove use of the bus rwsem, as it doesn't really protect anything.
Greg Kroah-Hartman [Mon, 9 Apr 2007 15:52:31 +0000 (11:52 -0400)]
USB: remove use of the bus rwsem, as it doesn't really protect anything.

The driver core stopped using the rwsem a long time ago, yet the USB
core still grabbed the lock, thinking it protected something.  This
patch removes that useless use.

Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Oliver Neukum <oneukum@suse.de>
Cc: David Brownell <david-b@pacbell.net>
Cc: linux-usb-devel <linux-usb-devel@lists.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoSCSI: use the proper semaphore to protect the class lists
Greg Kroah-Hartman [Mon, 9 Apr 2007 15:52:31 +0000 (11:52 -0400)]
SCSI: use the proper semaphore to protect the class lists

SCSI was using the incorrect lock to protect walking the list of all
devices in the class.  This patch fixes this.

Cc: James Bottomley <James.Bottomley@SteelEye.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver core: remove use of rwsem
Greg Kroah-Hartman [Mon, 9 Apr 2007 15:52:31 +0000 (11:52 -0400)]
Driver core: remove use of rwsem

This lock is never used by the rest of the driver core, so the fact that
we are grabbing it here means it isn't correct...

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agokobject: kobject_add() reference leak
Cornelia Huck [Tue, 10 Apr 2007 12:35:27 +0000 (14:35 +0200)]
kobject: kobject_add() reference leak

We leak a reference if we attempt to add a kobject with no name.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoKobject: kobject_uevent.c: Collapse unnecessary loop nesting (top_kobj)
John Anthony Kazos Jr [Wed, 4 Apr 2007 11:39:17 +0000 (07:39 -0400)]
Kobject: kobject_uevent.c: Collapse unnecessary loop nesting (top_kobj)

Collapses a do..while() loop within an if() to a simple while() loop for
simplicity and readability.

Signed-off-by: John Anthony Kazos Jr. <jakj@j-a-k-j.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver core: add suspend() and resume() to struct device_type
Dmitry Torokhov [Tue, 3 Apr 2007 05:08:40 +0000 (01:08 -0400)]
Driver core: add suspend() and resume() to struct device_type

Driver core: add suspend() and resume() to struct device_type

In cases when there are devices of different types in the same class
we can't use class's implementation of suspend and resume methods and
we need to add them to struct device_type instead.

Also fix error handling in resume code (we should not try to call
class's resume method iof bus's resume method for the device failed.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agouevent: use add_uevent_var() instead of open coding it
Eric Rannaud [Sat, 31 Mar 2007 05:23:12 +0000 (22:23 -0700)]
uevent: use add_uevent_var() instead of open coding it

Make use of add_uevent_var() instead of (often incorrectly) open coding it.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Eric Rannaud <eric.rannaud@gmail.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver core: switch firmware_class to uevent_suppress.
Cornelia Huck [Thu, 29 Mar 2007 09:12:14 +0000 (11:12 +0200)]
Driver core: switch firmware_class to uevent_suppress.

Use uevent_suppress instead of returning an error code in
firmware_uevent(). Get rid of the now unneeded FW_STATUS_READY
and FW_STATUS_READY_NOHOTPLUG.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver core: suppress uevents via filter
Cornelia Huck [Thu, 29 Mar 2007 09:12:11 +0000 (11:12 +0200)]
Driver core: suppress uevents via filter

Suppress uevents for devices if uevent_suppress is set via
dev_uevent_filter(). This makes the driver core suppress all device
uevents, not just the add event in device_add().

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver core: notify userspace of network device renames
Jean Tourrilhes [Wed, 7 Mar 2007 18:49:30 +0000 (10:49 -0800)]
Driver core: notify userspace of network device renames

Provide rename event for when we rename network devices.

Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agokref: fix CPU ordering with respect to krefs
Oliver Neukum [Mon, 2 Apr 2007 12:47:59 +0000 (14:47 +0200)]
kref: fix CPU ordering with respect to krefs

some atomic operations are only atomic, not ordered. Thus a CPU is allowed
to reorder memory references to an object to before the reference is
obtained. This fixes it.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver core: remove unneeded completion from driver release path
Greg Kroah-Hartman [Tue, 9 Apr 2002 19:14:34 +0000 (12:14 -0700)]
Driver core: remove unneeded completion from driver release path

The completion in the driver release path is due to ancient history in
the _very_ early 2.5 days when we were not tracking the module reference
count of attributes.  It is not needed at all and can be removed.

Note, we now have an empty release function for the driver structure.
This is due to the fact that drivers are statically allocated in the
system at this point in time, something which I want to change in the
future.  But remember, drivers are really code, which is reference
counted by the module, unlike devices, which are data and _must_ be
reference counted properly in order to work correctly.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodriver core: don't fail attaching the device if it cannot be bound
Cornelia Huck [Tue, 6 Feb 2007 00:15:26 +0000 (16:15 -0800)]
driver core: don't fail attaching the device if it cannot be bound

Don't fail bus_attach_device() if the device cannot be bound.

If dev->driver has been specified, reset it to NULL if device_bind_driver()
failed and add the device as an unbound device.  As a result,
bus_attach_device() now cannot fail, and we can remove some checking from
device_add().

Also remove an unneeded check in bus_rescan_devices_helper().

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agopowerpc: make it compile for multithread change
Andrew Morton [Tue, 6 Feb 2007 00:15:25 +0000 (16:15 -0800)]
powerpc: make it compile for multithread change

arch/powerpc/kernel/of_platform.c:479: error: unknown field `multithread_probe' specified in initializer

Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodriver core: per-subsystem multithreaded probing
Cornelia Huck [Tue, 6 Feb 2007 00:15:25 +0000 (16:15 -0800)]
driver core: per-subsystem multithreaded probing

Make multithreaded probing work per subsystem instead of per driver.

It doesn't make much sense to probe the same device for multiple drivers in
parallel (after all, only one driver can bind to the device).  Instead, create
a probing thread for each device that probes the drivers one after another.
Also make the decision to use multi-threaded probe per bus instead of per
device and adapt the pci code.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agokobject: kobject_shadow_add cleanup
Dmitriy Monakhov [Sat, 10 Mar 2007 11:00:10 +0000 (14:00 +0300)]
kobject: kobject_shadow_add cleanup

 - correct function name in comments
 - parrent assignment does metter only inside "if" block,
   so move it inside this block.

Signed-off-by: Monakhov Dmitriy <dmonakhov@openvz.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver core: add name to device_type
Kay Sievers [Mon, 12 Mar 2007 20:08:57 +0000 (21:08 +0100)]
Driver core: add name to device_type

If "name" of a device_type is specified, the uevent will
contain the device_type name in the DEVTYPE variable.
This helps userspace to distingiush between different types
of devices, belonging to the same subsystem.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodriver core: Use attribute groups in struct device_type
Dmitry Torokhov [Sat, 10 Mar 2007 06:37:34 +0000 (01:37 -0500)]
driver core: Use attribute groups in struct device_type

Driver core: use attribute groups in struct device_type

Attribute groups are more flexible than attribute lists
(an attribute list can be represented by anonymous group)
so switch struct device_type to use them.

Also rework attribute creation for devices so that they all
cleaned up properly in case of errors.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Cc: Kay Sievers <kay.sievers@novell.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver core: udev triggered device-<>driver binding
Kay Sievers [Fri, 16 Feb 2007 16:33:36 +0000 (17:33 +0100)]
Driver core: udev triggered device-<>driver binding

We get two per-bus sysfs files:
  ls-l /sys/subsystem/usb
  drwxr-xr-x 2 root root    0 2007-02-16 16:42 devices
  drwxr-xr-x 7 root root    0 2007-02-16 14:55 drivers
  -rw-r--r-- 1 root root 4096 2007-02-16 16:42 drivers_autoprobe
  --w------- 1 root root 4096 2007-02-16 16:42 drivers_probe

The flag "drivers_autoprobe" controls the behavior of the bus to bind
devices by default, or just initialize the device and leave it alone.

The command "drivers_probe" accepts a bus_id and the bus tries to bind a
driver to this device.

Systems who want to control the driver binding with udev, switch off the
bus initiated probing:
  echo 0 > /sys/subsystem/usb/drivers_autoprobe
  echo 0 > /sys/subsystem/pcmcia/drivers_autoprobe
  ...

and initiate the probing with udev rules like:
  ACTION=="add", SUBSYSTEM=="usb", ATTR{subsystem/drivers_probe}="$kernel"
  ACTION=="add", SUBSYSTEM=="pcmcia", ATTR{subsystem/drivers_probe}="$kernel"
  ...

Custom driver binding can happen in earlier rules by something like:
  ACTION=="add", SUBSYSTEM=="usb", \
  ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678" \
  ATTR{subsystem/drivers/<custom-driver>/bind}="$kernel"

This is intended to solve the modprobe.conf mess with "install-rules", custom
bind/unbind-scripts and all the weird things people invented over the years.
It should also provide the functionality "libusual" was supposed to do.

With udev, one can just write a udev rule to drive all USB-disks at the
third port of USB-hub by the "ub" driver, and everything else by
usb-storage. One can also instruct udev to bind different wireless
drivers to identical cards - just selected by the pcmcia slot-number, and
whatever ...

To use the mentioned rules, it needs udev version 106, to be able to
write ATTR{}="$kernel" to sysfs files.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodev_printk and new-style class devices
Jean Delvare [Fri, 9 Mar 2007 15:33:10 +0000 (16:33 +0100)]
dev_printk and new-style class devices

As the new-style class devices (as opposed to old-style struct
class_device) are becoming more widely used, I noticed that the
dev_printk-based functions are not working properly with these.
New-style class devices have no driver nor bus, almost by definition,
and as a result dev_driver_string(), which is used as the first
parameter of dev_printk, resolves to an empty string. This causes
entries like the following to show in my logs:

 i2c-2: adapter [SMBus stub driver] registered

Notice the unaesthetical leading whitespace. In order to fix this
problem, I suggest that we extend dev_driver_string to deal with
new-style class devices:

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodriver core: fix namespace issue with devices assigned to classes
Kay Sievers [Wed, 14 Mar 2007 02:25:56 +0000 (03:25 +0100)]
driver core: fix namespace issue with devices assigned to classes

  - uses a kset in "struct class" to keep track of all directories
    belonging to this class
  - merges with the /sys/devices/virtual logic.
  - removes the namespace-dir if the last member of that class
    leaves the directory.

There may be locking or refcounting fixes left, I stopped when it seemed
to work with network and sound modules. :)

From: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodriver core: fix device_add error path
Dmitriy Monakhov [Sun, 11 Mar 2007 12:36:19 +0000 (15:36 +0300)]
driver core: fix device_add error path

 - At the moment we jump here device was't added to
   dev->class->devices list yet.

Signed-off-by: Monakhov Dmitriy <dmonakhov@openvz.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoMerge branch 'e1000-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Fri, 27 Apr 2007 17:14:53 +0000 (10:14 -0700)]
Merge branch 'e1000-fixes' of /linux/kernel/git/jgarzik/netdev-2.6

* 'e1000-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  e1000: FIX: Stop raw interrupts disabled nag from RT
  e1000: FIX: firmware handover bits
  e1000: FIX: be ready for incoming irq at pci_request_irq

17 years agoMerge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
Linus Torvalds [Fri, 27 Apr 2007 16:39:27 +0000 (09:39 -0700)]
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband

* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband: (49 commits)
  IB: Set class_dev->dev in core for nice device symlink
  IB/ehca: Implement modify_port
  IB/umad: Clarify documentation of transaction ID
  IPoIB/cm: spin_lock_irqsave() -> spin_lock_irq() replacements
  IB/mad: Change SMI to use enums rather than magic return codes
  IB/umad: Implement GRH handling for sent/received MADs
  IB/ipoib: Use ib_init_ah_from_path to initialize ah_attr
  IB/sa: Set src_path_bits correctly in ib_init_ah_from_path()
  IB/ucm: Simplify ib_ucm_event()
  RDMA/ucma: Simplify ucma_get_event()
  IB/mthca: Simplify CQ cleaning in mthca_free_qp()
  IB/mthca: Fix mthca_write_mtt() on HCAs with hidden memory
  IB/mthca: Update HCA firmware revisions
  IB/ipath: Fix WC format drift between user and kernel space
  IB/ipath: Check that a UD work request's address handle is valid
  IB/ipath: Remove duplicate stuff from ipath_verbs.h
  IB/ipath: Check reserved memory keys
  IB/ipath: Fix unit selection when all CPU affinity bits set
  IB/ipath: Don't allow QPs 0 and 1 to be opened multiple times
  IB/ipath: Disable IB link earlier in shutdown sequence
  ...

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Fri, 27 Apr 2007 16:29:04 +0000 (09:29 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: (67 commits)
  [SCSI] SUNESP: Complete driver rewrite to version 2.0
  [SPARC64]: Convert PCI over to generic struct iommu/strbuf.
  [SPARC]: device_node name constification fallout
  [SPARC64]: Convert SBUS over to generic iommu/strbuf structs.
  [SPARC64]: Add generic iommu and strbuf structs to iommu.h
  [SPARC64]: Consolidate {sbus,pci}_iommu_arena.
  [SPARC]: Make device_node name and type const
  [SPARC64]: constify some paramaters of OF routines
  [TIGON3]: of_get_property() returns const.
  [SPARC64]: Fix PCI rework to adhere to of_get_property() const return.
  [SPARC64]: Document and fix calculation of pages_avail.
  [SPARC64]: Make sure pbm->prom_node is setup easly enough in psycho.c
  [SPARC64]: Use bootmem_bootmap_pages() in choose_bootmap_pfn().
  [SPARC64]: Add proper header file extern for cmdline_memory_size.
  [SPARC64]: Kill sparc_ultra_dump_{i,d}tlb()
  [SPARC64]: Use DECLARE_BITMAP and BITS_TO_LONGS in mm/init.c
  [SPARC64]: Give move verbose show_mem() output just like i386.
  [SPARC64]: Mark show_mem() printk's with KERN_INFO.
  [SPARC64]: Kill kvaddr_to_phys() and friends.
  [SPARC64]: Privatize sun4u_get_pte() and fix name.
  ...

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Fri, 27 Apr 2007 16:26:46 +0000 (09:26 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (448 commits)
  [IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(&res)
  [IPV6]: Fix thinko in ipv6_rthdr_rcv() changes.
  [IPV4]: Add multipath cached to feature-removal-schedule.txt
  [WIRELESS] cfg80211: Clarify locking comment.
  [WIRELESS] cfg80211: Fix locking in wiphy_new.
  [WEXT] net_device: Don't include wext bits if not required.
  [WEXT]: Misc code cleanups.
  [WEXT]: Reduce inline abuse.
  [WEXT]: Move EXPORT_SYMBOL statements where they belong.
  [WEXT]: Cleanup early ioctl call path.
  [WEXT]: Remove options.
  [WEXT]: Remove dead debug code.
  [WEXT]: Clean up how wext is called.
  [WEXT]: Move to net/wireless
  [AFS]: Eliminate cmpxchg() usage in vlocation code.
  [RXRPC]: Fix pointers passed to bitops.
  [RXRPC]: Remove bogus atomic_* overrides.
  [AFS]: Fix u64 printing in debug logging.
  [AFS]: Add "directory write" support.
  [AFS]: Implement the CB.InitCallBackState3 operation.
  ...

17 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Fri, 27 Apr 2007 16:20:51 +0000 (09:20 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (22 commits)
  [MIPS] Don't force frame pointers for lockdep on MIPS
  [MIPS] update vr41xx Kconfig
  [MIPS] remove 2 select entries for VR41xx
  [MIPS] rename VR41XX to VR4100 series
  [MIPS] Use DEFINE_SPINLOCK instead of SPIN_LOCK_UNLOCKED.
  [MIPS] Replace old fashioned "__typeof" with "__typeof__".
  [MIPS] Remove unused _THREAD_SIZE_ORDER from asm-offset.c.
  [MIPS] Change PCI host bridge setup/resources
  [MIPS] Register PCI host bridge resource earlier
  [MIPS] Remove pnx8550-v2pci_defconfig
  [MIPS] Add bcm1480 ZBus trace support, fix wait related bugs
  [MIPS] Updated Sibyte headers
  [MIPS] Remove unused argument from kunmap_coherent().
  [MIPS] Malta: Delete unused prototype of mips_timer_interrupt.
  [MIPS] Select ZONE_DMA only if GENERIC_ISA_DMA selected
  [MIPS] MIPS Tech: Get rid of volatile in core code.
  [MIPS] IP22: Get rid of volatile in IP22 core code.
  [MIPS] JMR3927 cleanup
  [MIPS] merge GT64111 PCI routines and GT64120 PCI_0 routines
  [MIPS] Cobalt: Split PCI codes from setup.c
  ...

17 years agoMerge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Fri, 27 Apr 2007 16:15:31 +0000 (09:15 -0700)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/linux-2.6

* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (38 commits)
  [S390] SPIN_LOCK_UNLOCKED cleanup in drivers/s390
  [S390] Clean up smp code in preparation for some larger changes.
  [S390] Remove debugging junk.
  [S390] Switch etr from tasklet to workqueue.
  [S390] split page_test_and_clear_dirty.
  [S390] Processor degradation notification.
  [S390] vtime: cleanup per_cpu usage.
  [S390] crypto: cleanup.
  [S390] sclp: fix coding style.
  [S390] vmlogrdr: stop IUCV connection in vmlogrdr_release.
  [S390] sclp: initialize early.
  [S390] ctc: kmalloc->kzalloc/casting cleanups.
  [S390] zfcpdump support.
  [S390] dasd: Add ipldev parameter.
  [S390] dasd: Add sysfs attribute status and generate uevents.
  [S390] Improved kernel stack overflow checking.
  [S390] Get rid of console setup functions.
  [S390] No execute support cleanup.
  [S390] Minor fault path optimization.
  [S390] Use generic bug.
  ...

17 years agoMerge branch 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32
Linus Torvalds [Fri, 27 Apr 2007 16:14:46 +0000 (09:14 -0700)]
Merge branch 'for-linus' of git://atmel.no/~hskinnemoen/linux/kernel/avr32

* 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32: (21 commits)
  [AVR32] Fix compile error with gcc 4.1
  avr32: remove unneeded cast in atomic.h
  AVR32: Remove useless config option "GENERIC_BUST_SPINLOCK".
  [AVR32] Optimize the TLB miss handler
  [AVR32] Board code for ATNGW100
  [AVR32] Use memcpy/memset in memcpy_{from,to}_io and memset_io
  [AVR32] Get rid of board_setup_fbmem()
  [AVR32] Reserve framebuffer memory in early_parse_fbmem()
  [AVR32] Simplify early handling of memory regions
  [AVR32] Move setup_bootmem() from mm/init.c to kernel/setup.c
  [AVR32] Make I/O access macros work with external devices
  [AVR32] Fix NMI handler
  [AVR32] Clean up exception handling code
  [AVR32] Clean up cpu identification and add features bitmap
  [AVR32] Clean up asm/sysreg.h
  [AVR32] Don't enable clocks with no users
  [AVR32] Put cpu in sleep 0 when idle.
  [AVR32] Change system timer from count-compare to Timer/Counter 0
  [AVR32] Add mach-specific Kconfig
  [AVR32] Add nwait and tdf parameters to SMC configuration
  ...

17 years agoChange default dirty-writeback limits
Linus Torvalds [Fri, 27 Apr 2007 16:10:47 +0000 (09:10 -0700)]
Change default dirty-writeback limits

Do this really early in the 2.6.22-rc series, so that we'll get
feedback.  And don't change by half measures.  Just cut the default
dirty limit to a quarter of what it was, and see if anybody even
notices.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[MIPS] Don't force frame pointers for lockdep on MIPS
Franck Bui-Huu [Thu, 26 Apr 2007 07:20:15 +0000 (00:20 -0700)]
[MIPS] Don't force frame pointers for lockdep on MIPS

Stacktrace support on MIPS doesn't use frame pointers.  Since this option
considerably increases the size of the kernel code, force lockdep to not
use it.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] update vr41xx Kconfig
Yoichi Yuasa [Thu, 26 Apr 2007 10:53:59 +0000 (19:53 +0900)]
[MIPS] update vr41xx Kconfig

This patch has updated vr41xx/Kconfig.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] remove 2 select entries for VR41xx
Yoichi Yuasa [Thu, 26 Apr 2007 10:51:31 +0000 (19:51 +0900)]
[MIPS] remove 2 select entries for VR41xx

This patch has removed 2 select entries for VR41xx.
These entries are selected in arch/mips/vr41xx/Kconfig.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] rename VR41XX to VR4100 series
Yoichi Yuasa [Thu, 26 Apr 2007 10:45:09 +0000 (19:45 +0900)]
[MIPS] rename VR41XX to VR4100 series

This patch has renamed VR41XX to VR4100 series.
That's better.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Use DEFINE_SPINLOCK instead of SPIN_LOCK_UNLOCKED.
Milind Arun Choudhary [Thu, 19 Apr 2007 09:35:16 +0000 (15:05 +0530)]
[MIPS] Use DEFINE_SPINLOCK instead of SPIN_LOCK_UNLOCKED.

Signed-off-by: Milind Arun Choudhary <milindchoudhary@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Replace old fashioned "__typeof" with "__typeof__".
Robert P. J. Day [Tue, 10 Apr 2007 10:23:27 +0000 (06:23 -0400)]
[MIPS] Replace old fashioned "__typeof" with "__typeof__".

[Robert's original log message said this was a bug but it isn't, it's
just very old fashioned syntax that is not (no longer?) documented in the
gcc documentation.  So for the sake of uniformity I'm applying his
patch but with a modified log message. -- Ralf]

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Remove unused _THREAD_SIZE_ORDER from asm-offset.c.
Ralf Baechle [Thu, 26 Apr 2007 14:46:28 +0000 (15:46 +0100)]
[MIPS] Remove unused _THREAD_SIZE_ORDER from asm-offset.c.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Change PCI host bridge setup/resources
Thomas Bogendoerfer [Sun, 8 Apr 2007 11:34:57 +0000 (13:34 +0200)]
[MIPS] Change PCI host bridge setup/resources

PCI host bridge setup for SNI RM machines with PCI is quite broken, now
that Linux does it's resource setup own its own. It will use IO addresses,
which are needed by the EISA config detection and assigns PCI memory
addresses, which overlap with ISA legacy addresses (video ram). Below
is a patch, which changes the way how the PCI memory addresses are
used and sets the minimum IO address to give enough IO space for
8 EISA slots). This patch needs the other PCI resource change, I've
posted.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Register PCI host bridge resource earlier
Thomas Bogendoerfer [Sun, 8 Apr 2007 11:28:44 +0000 (13:28 +0200)]
[MIPS] Register PCI host bridge resource earlier

PCI based SNI RM machines have their EISA bus behind an Intel PCI/EISA
bridge. So the PCI IO range must start at 0x0000. Changing that will
break the PCI bus, because i8259.c already has registered it's IO
addresses before the PCI bus gets initialized. Below is a patch,
which will register the PCI host bridge resources inside
register_pci_controller(). It also changes i8259.c to use insert_region(),
because request_resource() will fail, if the IO space of the PIT hanging
of the PCI host bridge (maybe passing the resource parent to
init_i8259_irqs() is a cleaner fix for that).

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Remove pnx8550-v2pci_defconfig
Yoichi Yuasa [Wed, 4 Apr 2007 07:40:52 +0000 (16:40 +0900)]
[MIPS] Remove pnx8550-v2pci_defconfig

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Add bcm1480 ZBus trace support, fix wait related bugs
Mark Mason [Thu, 29 Mar 2007 18:39:56 +0000 (11:39 -0700)]
[MIPS] Add bcm1480 ZBus trace support, fix wait related bugs

Make ZBus tracing generic - moving it to a common direcotry under
arch/mips/sibyte, add bcm1480 support and fix some wait related
bugs (thanks to Ralf for assistance on that).

Signed-off-by: Mark Mason <mason@broadcom.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Updated Sibyte headers
Mark Mason [Wed, 28 Mar 2007 21:40:25 +0000 (14:40 -0700)]
[MIPS] Updated Sibyte headers

This is an update to the earlier patch for the sibyte headers, and superceeds
the previous patch.  Changes were necessary to get the tbprof driver working
on the bcm1480.

Patch to update Sibyte header files to match master versions maintained
at Broadcom.  This patch also corrects some whitespace problems, and
(hopefully) shouldn't introduce any new ones.

Signed-off-by: Mark Mason <mason@broadcom.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Remove unused argument from kunmap_coherent().
Ralf Baechle [Thu, 26 Apr 2007 14:46:25 +0000 (15:46 +0100)]
[MIPS] Remove unused argument from kunmap_coherent().

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Malta: Delete unused prototype of mips_timer_interrupt.
Ralf Baechle [Thu, 26 Apr 2007 14:46:25 +0000 (15:46 +0100)]
[MIPS] Malta: Delete unused prototype of mips_timer_interrupt.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Select ZONE_DMA only if GENERIC_ISA_DMA selected
Atsushi Nemoto [Tue, 20 Mar 2007 15:36:02 +0000 (00:36 +0900)]
[MIPS] Select ZONE_DMA only if GENERIC_ISA_DMA selected

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] MIPS Tech: Get rid of volatile in core code.
Ralf Baechle [Thu, 26 Apr 2007 14:46:24 +0000 (15:46 +0100)]
[MIPS] MIPS Tech: Get rid of volatile in core code.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] IP22: Get rid of volatile in IP22 core code.
Ralf Baechle [Thu, 26 Apr 2007 14:46:24 +0000 (15:46 +0100)]
[MIPS] IP22: Get rid of volatile in IP22 core code.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] JMR3927 cleanup
Atsushi Nemoto [Wed, 14 Mar 2007 15:58:28 +0000 (00:58 +0900)]
[MIPS] JMR3927 cleanup

* Kill dead codes
* Rearrange irq chip handlers
* Minimize defconfig

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] merge GT64111 PCI routines and GT64120 PCI_0 routines
Yoichi Yuasa [Wed, 14 Mar 2007 12:51:26 +0000 (21:51 +0900)]
[MIPS] merge GT64111 PCI routines and GT64120 PCI_0 routines

This patch has merged GT64111 PCI routines and GT64120 PCI_0 routines.
GT64111 PCI is almost the same as GT64120's PCI_0.
This patch don't change GT64120 PCI routines.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Cobalt: Split PCI codes from setup.c
Yoichi Yuasa [Mon, 5 Mar 2007 10:10:03 +0000 (19:10 +0900)]
[MIPS] Cobalt: Split PCI codes from setup.c

It's removed #ifdef CONFIG_PCI/#endif from cobalt setup.c .

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Cobalt: clean up include files
Yoichi Yuasa [Tue, 6 Mar 2007 12:34:44 +0000 (21:34 +0900)]
[MIPS] Cobalt: clean up include files

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
17 years ago[MIPS] Fix AP/SP to work in the reality of modern kernels.
Ralf Baechle [Wed, 25 Apr 2007 14:08:57 +0000 (15:08 +0100)]
[MIPS] Fix AP/SP to work in the reality of modern kernels.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[S390] SPIN_LOCK_UNLOCKED cleanup in drivers/s390
Milind Arun Choudhary [Fri, 27 Apr 2007 14:02:01 +0000 (16:02 +0200)]
[S390] SPIN_LOCK_UNLOCKED cleanup in drivers/s390

SPIN_LOCK_UNLOCKED cleanup,use __SPIN_LOCK_UNLOCKED instead.

Signed-off-by: Milind Arun Choudhary <milindchoudhary@gmail.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] Clean up smp code in preparation for some larger changes.
Heiko Carstens [Fri, 27 Apr 2007 14:02:00 +0000 (16:02 +0200)]
[S390] Clean up smp code in preparation for some larger changes.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] Remove debugging junk.
Martin Schwidefsky [Fri, 27 Apr 2007 14:01:59 +0000 (16:01 +0200)]
[S390] Remove debugging junk.

arch/s390/appldata/appldata_base.c has some confusing debugging code left
over to allow compiling it as a module. In practice, it cannot be configured
as module and there is no need to keep that code.

Signed-off-by: Gerald Schaefer <geraldsc@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] Switch etr from tasklet to workqueue.
Martin Schwidefsky [Fri, 27 Apr 2007 14:01:58 +0000 (16:01 +0200)]
[S390] Switch etr from tasklet to workqueue.

The clock synchronization of the ETR code requires an smp_call_function
to synchronize all cpus. Calling smp_call_function from a tasklet is
illegal. Replace the tasklet with a job on the global workqueue.
ETR work is rare and can be postponed to a be done by a kernel thread.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] split page_test_and_clear_dirty.
Martin Schwidefsky [Fri, 27 Apr 2007 14:01:57 +0000 (16:01 +0200)]
[S390] split page_test_and_clear_dirty.

The page_test_and_clear_dirty primitive really consists of two
operations, page_test_dirty and the page_clear_dirty. The combination
of the two is not an atomic operation, so it makes more sense to have
two separate operations instead of one.
In addition to the improved readability of the s390 version of
SetPageUptodate, it now avoids the page_test_dirty operation which is
an insert-storage-key-extended (iske) instruction which is an expensive
operation.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] Processor degradation notification.
Heiko Carstens [Fri, 27 Apr 2007 14:01:56 +0000 (16:01 +0200)]
[S390] Processor degradation notification.

Generate uevents for all cpus if cpu capability changes. This can
happen e.g. because the cpus are overheating. The cpu capability can
be read via /sys/devices/system/cpu/cpuN/capability.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] vtime: cleanup per_cpu usage.
Jan Glauber [Fri, 27 Apr 2007 14:01:55 +0000 (16:01 +0200)]
[S390] vtime: cleanup per_cpu usage.

Replace per_cpu(... , smp_processor_id()) with __get_cpu_var()

Signed-off-by: Jan Glauber <jan.glauber@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] crypto: cleanup.
Jan Glauber [Fri, 27 Apr 2007 14:01:54 +0000 (16:01 +0200)]
[S390] crypto: cleanup.

Cleanup code and remove obsolete documentation.

Signed-off-by: Jan Glauber <jan.glauber@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] sclp: fix coding style.
Stefan Haberland [Fri, 27 Apr 2007 14:01:53 +0000 (16:01 +0200)]
[S390] sclp: fix coding style.

Use only capital letters for defines.

Cc: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] vmlogrdr: stop IUCV connection in vmlogrdr_release.
Ursula Braun [Fri, 27 Apr 2007 14:01:52 +0000 (16:01 +0200)]
[S390] vmlogrdr: stop IUCV connection in vmlogrdr_release.

Reopen of /dev/account failed. The IUCV path has to be terminated
in vmlogrdr_release.

Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] sclp: initialize early.
Peter Oberparleiter [Fri, 27 Apr 2007 14:01:51 +0000 (16:01 +0200)]
[S390] sclp: initialize early.

Add explicit sclp initialization for those sclp users that do not
register with the interface.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] ctc: kmalloc->kzalloc/casting cleanups.
Ahmed S. Darwish [Fri, 27 Apr 2007 14:01:50 +0000 (16:01 +0200)]
[S390] ctc: kmalloc->kzalloc/casting cleanups.

A patch for the CTC / ESCON network driver.  Switch from kmalloc to kzalloc
when appropriate, remove some unnecessary kmalloc casts too.  Since I have no
s390 machine, I didn't compile it but I examined it carefully.

Signed-off-by: "Ahmed S. Darwish" <darwish.07@gmail.com>
Cc: Frank Pavlic <fpavlic@de.ibm.com>
Cc: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] zfcpdump support.
Michael Holzheu [Fri, 27 Apr 2007 14:01:49 +0000 (16:01 +0200)]
[S390] zfcpdump support.

s390 machines provide hardware support for creating Linux dumps on SCSI
disks. For creating a dump a special purpose dump Linux is used. The first
32 MB of memory are saved by the hardware before the dump Linux is
booted. Via an SCLP interface, the saved memory can be accessed from
Linux. This patch exports memory and registers of the crashed Linux to
userspace via a debugfs file. For more information refer to
Documentation/s390/zfcpdump.txt, which is included in this patch.

Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] dasd: Add ipldev parameter.
Peter Oberparleiter [Fri, 27 Apr 2007 14:01:48 +0000 (16:01 +0200)]
[S390] dasd: Add ipldev parameter.

Specifying 'ipldev' in the dasd= kernel parameter will automatically
activate the boot device for use by the dasd driver.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] dasd: Add sysfs attribute status and generate uevents.
Horst Hummel [Fri, 27 Apr 2007 14:01:47 +0000 (16:01 +0200)]
[S390] dasd: Add sysfs attribute status and generate uevents.

This patch adds a sysfs-attribute 'status' to make the DASD device-status
accessible from user-space. In addition, the DASD driver generates an
uevent(CHANGE) for the ccw-device on each device-status change.
This enables user-space applications (e.g. udev) to do related processing.

Signed-off-by: Horst Hummel <horst.hummel@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] Improved kernel stack overflow checking.
Martin Schwidefsky [Fri, 27 Apr 2007 14:01:46 +0000 (16:01 +0200)]
[S390] Improved kernel stack overflow checking.

Recent cvs versions of gcc have support for an improved stack overflow
checking that calculates the size of the guard size for each function.
If the compiler accepts -mstack-size without -mstack-guard then the
new stack check is available. We always want to use the new stack
checker.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] Get rid of console setup functions.
Heiko Carstens [Fri, 27 Apr 2007 14:01:45 +0000 (16:01 +0200)]
[S390] Get rid of console setup functions.

We get this:

Section mismatch: reference to .init.text:con3270_consetup from .data
  between 'con3270' (at offset 0x45c8) and 'con3270_fn'
Section mismatch: reference to .init.text:con3215_consetup from .data
  between 'con3215' (at offset 0x4678) and
  'raw3215_ccw_driver'

Since there is no difference between a non present console setup
function and one that returns only 0 remove them.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] No execute support cleanup.
Martin Schwidefsky [Fri, 27 Apr 2007 14:01:44 +0000 (16:01 +0200)]
[S390] No execute support cleanup.

Simplify the signal_return function that checks for the two special
system calls sigreturn and rt_sigreturn. No need to do a page table
walk, a call to copy_from_user while disabled page faults will work
as well.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] Minor fault path optimization.
Martin Schwidefsky [Fri, 27 Apr 2007 14:01:43 +0000 (16:01 +0200)]
[S390] Minor fault path optimization.

The minor fault path has grown a lot in terms of cycles. In particular
the kprobes hook is very costly. Optimize the path to save a couple of
cycles. If kprobes is enabled more than 300 cycles can be avoided if
kprobes_running() is false.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] Use generic bug.
Heiko Carstens [Fri, 27 Apr 2007 14:01:42 +0000 (16:01 +0200)]
[S390] Use generic bug.

Generic bug implementation for s390. Will increase the value of the
console output on BUG() statements since registers r0-r5,r14 will
not be clobbered by a printk() call that was previously done before
the illegal instruction of BUG() was hit.
Also implements an architecture specific WARN_ON(). Output of that
could be increased but requires common code change.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] Improved oops output.
Martin Schwidefsky [Fri, 27 Apr 2007 14:01:41 +0000 (16:01 +0200)]
[S390] Improved oops output.

This patch adds two improvements to the oops output. First it adds an
additional line after the PSW which decodes the different fields of it.
Second a disassembler is added that decodes the instructions surrounding
the faulting PSW. The output of a test oops now looks like this:

kernel BUG at init/main.c:419
illegal operation: 0001 [#1]
CPU:    0    Not tainted
Process swapper (pid: 0, task: 0000000000464968, ksp: 00000000004be000)
Krnl PSW : 0700000180000000 00000000000120b6 (rest_init+0x36/0x38)
           R:0 T:1 IO:1 EX:1 Key:0 M:0 W:0 P:0 AS:0 CC:0 PM:0 EA:3
Krnl GPRS: 0000000000000003 00000000004ba017 0000000000000022 0000000000000001
           000000000003a5f6 0000000000000000 00000000004be6a8 0000000000000000
           0000000000000000 00000000004b8200 0000000000003a50 0000000000008000
           0000000000516368 000000000033d008 00000000000120b2 00000000004bdee0
Krnl Code: 00000000000120a6e3e0f0980024       stg     %r14,152(%r15)
           00000000000120acc0e500014296       brasl   %r14,3a5d8
           00000000000120b2a7f40001           brc     15,120b4
          >00000000000120b6: 0707               bcr     0,%r7
           00000000000120b8eb7ff0500024       stmg    %r7,%r15,80(%r15)
           00000000000120bec0d000195825       larl    %r13,33d108
           00000000000120c4a7f13f00           tmll    %r15,16128
           00000000000120c8a7840001           brc     8,120ca
Call Trace:
([<00000000000120b2>] rest_init+0x32/0x38)
 [<00000000004be614>] start_kernel+0x37c/0x410
 [<0000000000012020>] _ehead+0x20/0x80

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] System call cleanup.
Martin Schwidefsky [Fri, 27 Apr 2007 14:01:40 +0000 (16:01 +0200)]
[S390] System call cleanup.

Remove system call glue for sys_clone, sys_fork, sys_vfork, sys_execve,
sys_sigreturn, sys_rt_sigreturn and sys_sigaltstack. Call do_execve from
kernel_execve directly, move pt_regs to the right place and branch to
sysc_return to start the user space program. This removes the last
in-kernel system call.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] cio: Unregister ccw devices directly.
Cornelia Huck [Fri, 27 Apr 2007 14:01:39 +0000 (16:01 +0200)]
[S390] cio: Unregister ccw devices directly.

We used to unregister ccw devices not directly from the I/O
subchannel remove function in order to avoid lifelocks on the
css bus semaphore. This semaphore is gone, and there is no reason
to not unregister the ccw device directly (it is even better since
it is more in keeping with the goal of immediate disconnect).

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] cio: cm_enable memory leak.
Cornelia Huck [Fri, 27 Apr 2007 14:01:38 +0000 (16:01 +0200)]
[S390] cio: cm_enable memory leak.

We allocage two pages when channel path measurements are enabled
via cm_enable. We must not forget to free them again when
channel path measurements are disabled again.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>