]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
11 years agoMerge branch 'i2c/master'
Stephen Rothwell [Tue, 6 Nov 2012 23:49:46 +0000 (10:49 +1100)]
Merge branch 'i2c/master'

11 years agoMerge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Tue, 6 Nov 2012 23:48:09 +0000 (10:48 +1100)]
Merge remote-tracking branch 'hid/for-next'

11 years agoMerge remote-tracking branch 'pci/next'
Stephen Rothwell [Tue, 6 Nov 2012 23:44:47 +0000 (10:44 +1100)]
Merge remote-tracking branch 'pci/next'

11 years agoMerge remote-tracking branch 'vfs/for-next'
Stephen Rothwell [Tue, 6 Nov 2012 23:43:15 +0000 (10:43 +1100)]
Merge remote-tracking branch 'vfs/for-next'

11 years agoMerge remote-tracking branch 'xfs/for-next'
Stephen Rothwell [Tue, 6 Nov 2012 23:41:40 +0000 (10:41 +1100)]
Merge remote-tracking branch 'xfs/for-next'

11 years agoMerge remote-tracking branch 'ubifs/linux-next'
Stephen Rothwell [Tue, 6 Nov 2012 23:40:00 +0000 (10:40 +1100)]
Merge remote-tracking branch 'ubifs/linux-next'

11 years agoMerge remote-tracking branch 'v9fs/for-next'
Stephen Rothwell [Tue, 6 Nov 2012 23:39:52 +0000 (10:39 +1100)]
Merge remote-tracking branch 'v9fs/for-next'

11 years agoMerge remote-tracking branch 'ocfs2/linux-next'
Stephen Rothwell [Tue, 6 Nov 2012 23:38:00 +0000 (10:38 +1100)]
Merge remote-tracking branch 'ocfs2/linux-next'

11 years agoMerge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Tue, 6 Nov 2012 23:36:24 +0000 (10:36 +1100)]
Merge remote-tracking branch 'nfs/linux-next'

11 years agoMerge remote-tracking branch 'logfs/master'
Stephen Rothwell [Tue, 6 Nov 2012 23:34:48 +0000 (10:34 +1100)]
Merge remote-tracking branch 'logfs/master'

11 years agoMerge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Tue, 6 Nov 2012 23:33:19 +0000 (10:33 +1100)]
Merge remote-tracking branch 'gfs2/master'

11 years agoMerge remote-tracking branch 'fuse/for-next'
Stephen Rothwell [Tue, 6 Nov 2012 23:31:36 +0000 (10:31 +1100)]
Merge remote-tracking branch 'fuse/for-next'

11 years agoMerge remote-tracking branch 'cifs/for-next'
Stephen Rothwell [Tue, 6 Nov 2012 23:30:00 +0000 (10:30 +1100)]
Merge remote-tracking branch 'cifs/for-next'

11 years agoMerge remote-tracking branch 'ceph/master'
Stephen Rothwell [Tue, 6 Nov 2012 23:28:21 +0000 (10:28 +1100)]
Merge remote-tracking branch 'ceph/master'

11 years agoMerge remote-tracking branch 'xtensa/for_next'
Stephen Rothwell [Tue, 6 Nov 2012 23:26:46 +0000 (10:26 +1100)]
Merge remote-tracking branch 'xtensa/for_next'

11 years agoMerge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Tue, 6 Nov 2012 23:25:17 +0000 (10:25 +1100)]
Merge remote-tracking branch 'unicore32/unicore32'

11 years agoMerge remote-tracking branch 's390/features'
Stephen Rothwell [Tue, 6 Nov 2012 23:23:41 +0000 (10:23 +1100)]
Merge remote-tracking branch 's390/features'

11 years agoMerge remote-tracking branch 'mpc5xxx/next'
Stephen Rothwell [Tue, 6 Nov 2012 23:22:11 +0000 (10:22 +1100)]
Merge remote-tracking branch 'mpc5xxx/next'

11 years agoMerge remote-tracking branch 'parisc/for-next'
Stephen Rothwell [Tue, 6 Nov 2012 23:22:08 +0000 (10:22 +1100)]
Merge remote-tracking branch 'parisc/for-next'

11 years agoMerge remote-tracking branch 'openrisc/for-upstream'
Stephen Rothwell [Tue, 6 Nov 2012 23:20:35 +0000 (10:20 +1100)]
Merge remote-tracking branch 'openrisc/for-upstream'

11 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Tue, 6 Nov 2012 23:19:06 +0000 (10:19 +1100)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

11 years agoMerge remote-tracking branch 'microblaze/next'
Stephen Rothwell [Tue, 6 Nov 2012 23:17:34 +0000 (10:17 +1100)]
Merge remote-tracking branch 'microblaze/next'

11 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Tue, 6 Nov 2012 23:16:00 +0000 (10:16 +1100)]
Merge remote-tracking branch 'm68knommu/for-next'

11 years agoMerge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Tue, 6 Nov 2012 23:14:25 +0000 (10:14 +1100)]
Merge remote-tracking branch 'cris/for-next'

11 years agoMerge remote-tracking branch 'blackfin/for-linus'
Stephen Rothwell [Tue, 6 Nov 2012 23:12:54 +0000 (10:12 +1100)]
Merge remote-tracking branch 'blackfin/for-linus'

11 years agoMerge remote-tracking branch 'arm64/upstream'
Stephen Rothwell [Tue, 6 Nov 2012 23:11:26 +0000 (10:11 +1100)]
Merge remote-tracking branch 'arm64/upstream'

11 years agoMerge remote-tracking branch 'xilinx/arm-next'
Stephen Rothwell [Tue, 6 Nov 2012 23:09:57 +0000 (10:09 +1100)]
Merge remote-tracking branch 'xilinx/arm-next'

11 years agoMerge remote-tracking branch 'arm-perf/for-next/perf'
Stephen Rothwell [Tue, 6 Nov 2012 23:08:28 +0000 (10:08 +1100)]
Merge remote-tracking branch 'arm-perf/for-next/perf'

11 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Tue, 6 Nov 2012 23:06:29 +0000 (10:06 +1100)]
Merge remote-tracking branch 'arm/for-next'

11 years agoMerge remote-tracking branch 'asm-generic/master'
Stephen Rothwell [Tue, 6 Nov 2012 23:05:00 +0000 (10:05 +1100)]
Merge remote-tracking branch 'asm-generic/master'

11 years agoMerge remote-tracking branch 'rr-fixes/fixes'
Stephen Rothwell [Tue, 6 Nov 2012 22:58:02 +0000 (09:58 +1100)]
Merge remote-tracking branch 'rr-fixes/fixes'

11 years agoMerge remote-tracking branch 'spi-current/spi/merge'
Stephen Rothwell [Tue, 6 Nov 2012 22:57:50 +0000 (09:57 +1100)]
Merge remote-tracking branch 'spi-current/spi/merge'

11 years agoMerge remote-tracking branch 'devicetree-current/devicetree/merge'
Stephen Rothwell [Tue, 6 Nov 2012 22:57:33 +0000 (09:57 +1100)]
Merge remote-tracking branch 'devicetree-current/devicetree/merge'

11 years agoMerge remote-tracking branch 'crypto-current/master'
Stephen Rothwell [Tue, 6 Nov 2012 22:57:24 +0000 (09:57 +1100)]
Merge remote-tracking branch 'crypto-current/master'

11 years agoMerge remote-tracking branch 'usb.current/usb-linus'
Stephen Rothwell [Tue, 6 Nov 2012 22:57:21 +0000 (09:57 +1100)]
Merge remote-tracking branch 'usb.current/usb-linus'

11 years agoMerge remote-tracking branch 'pci-current/for-linus'
Stephen Rothwell [Tue, 6 Nov 2012 22:57:20 +0000 (09:57 +1100)]
Merge remote-tracking branch 'pci-current/for-linus'

11 years agoMerge remote-tracking branch 'sound-current/for-linus'
Stephen Rothwell [Tue, 6 Nov 2012 22:57:19 +0000 (09:57 +1100)]
Merge remote-tracking branch 'sound-current/for-linus'

11 years agoMerge remote-tracking branch 'net/master'
Stephen Rothwell [Tue, 6 Nov 2012 22:57:18 +0000 (09:57 +1100)]
Merge remote-tracking branch 'net/master'

11 years agoMerge remote-tracking branch 'sparc/master'
Stephen Rothwell [Tue, 6 Nov 2012 22:57:18 +0000 (09:57 +1100)]
Merge remote-tracking branch 'sparc/master'

11 years agoMerge remote-tracking branch 'arm-current/fixes'
Stephen Rothwell [Tue, 6 Nov 2012 22:57:16 +0000 (09:57 +1100)]
Merge remote-tracking branch 'arm-current/fixes'

11 years agoMerge remote-tracking branch 'kbuild-current/rc-fixes'
Stephen Rothwell [Tue, 6 Nov 2012 22:57:15 +0000 (09:57 +1100)]
Merge remote-tracking branch 'kbuild-current/rc-fixes'

11 years agoi2c: Mention functionality flags in SMBus protocol documentation
Jean Delvare [Tue, 6 Nov 2012 22:15:51 +0000 (09:15 +1100)]
i2c: Mention functionality flags in SMBus protocol documentation

While the mapping between I2C adapter functionality flags and
i2c_smbus_*() helper functions is rather obvious, let's still document
it for clarity.

Also drop the reference to 2 command byte I2C block reads, there is no
support for that in the kernel at the moment.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
11 years agoi2c-piix4: Convert dev_printk(KERN_<LEVEL> to dev_<level>(
Joe Perches [Tue, 6 Nov 2012 22:15:50 +0000 (09:15 +1100)]
i2c-piix4: Convert dev_printk(KERN_<LEVEL> to dev_<level>(

dev_<level> calls take less code than dev_printk(KERN_<LEVEL>
and reducing object size is good.
Coalesce formats for easier grep.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
11 years agoi2c-i801: Enable interrupts for all post-ICH5 chips
Jean Delvare [Tue, 6 Nov 2012 22:15:50 +0000 (09:15 +1100)]
i2c-i801: Enable interrupts for all post-ICH5 chips

I did not receive a single bug report after interrupt support was
added for a limited number of chips. So I'd say the code is good and
should be enabled for all supported chips, that is: ICH5 and later.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Daniel Kurtz <djkurtz@chromium.org>
11 years agos390/mm: move kernel_page_present/kernel_map_pages to page_attr.c
Heiko Carstens [Fri, 2 Nov 2012 12:28:48 +0000 (13:28 +0100)]
s390/mm: move kernel_page_present/kernel_map_pages to page_attr.c

Keep related functions together and move to appropriate file.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
11 years agos390/memory hotplug: use pfmf instruction to initialize storage keys
Heiko Carstens [Fri, 2 Nov 2012 11:56:43 +0000 (12:56 +0100)]
s390/memory hotplug: use pfmf instruction to initialize storage keys

Move and rename init_storage_keys() to pageattr.c, so it can also be
used from the sclp memory hotplug code in order to initialize
storage keys.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
11 years agos390/zcrypt: msgType50 (RSA-CRT) fix
Ingo Tuchscherer [Wed, 31 Oct 2012 09:38:15 +0000 (10:38 +0100)]
s390/zcrypt: msgType50 (RSA-CRT) fix

The message request handling (type50 - clear key) for RSA operations
(in CRT format) are now handled correctly with respect to the crb
format container.

Signed-off-by: Ingo Tuchscherer <ingo.tuchscherer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
11 years agos390/mm: keep fault_init() private to fault.c
Heiko Carstens [Tue, 30 Oct 2012 13:49:37 +0000 (14:49 +0100)]
s390/mm: keep fault_init() private to fault.c

Just convert fault_init() to an early initcall. That's still early
enough since it only needs be called before user space processes get
executed. No reason to externalize it.
Also add the function to the init section and move the store_indication
variable to the read_mostly section.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
11 years agos390: use ccw_device_get_schid
Sebastian Ott [Mon, 29 Oct 2012 15:50:20 +0000 (16:50 +0100)]
s390: use ccw_device_get_schid

Let the dasd driver and qdio use ccw_device_get_schid and
get rid of other similar functions.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
11 years agos390/crypto: Don't panic after crypto instruction failures
Jan Glauber [Fri, 26 Oct 2012 13:06:12 +0000 (15:06 +0200)]
s390/crypto: Don't panic after crypto instruction failures

Remove the BUG_ON's that check for failure or incomplete
results of the s390 hardware crypto instructions.
Rather report the errors as -EIO to the crypto layer.

Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
11 years agos390/qdio: rework BUG's and WARN_ON's
Jan Glauber [Wed, 24 Oct 2012 10:38:35 +0000 (12:38 +0200)]
s390/qdio: rework BUG's and WARN_ON's

Remove or replace BUG/BUG_ON where possible and convert WARN_ON
to WARN_ON_ONCE if they can occur freqeuently as pointed out by:
https://lkml.org/lkml/2012/9/27/461

Checks have been removed if:
- the error condition leads to a hardware error which gets logged
  and in most cases stops the device
- the error condition is a null pointer access
- the error condition is just pointless or already handled at
  another location

Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
11 years agos390/dasd: fix multi-line printks with multiple KERN_<level>s
Sebastian Ott [Tue, 23 Oct 2012 18:28:37 +0000 (20:28 +0200)]
s390/dasd: fix multi-line printks with multiple KERN_<level>s

Do not use more than one KERN_<level> per printk.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Acked-by: Stefan Haberland <stefan.haberland@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
11 years agos390/traps: preinitialize program check table
Heiko Carstens [Thu, 18 Oct 2012 16:10:06 +0000 (18:10 +0200)]
s390/traps: preinitialize program check table

Preinitialize the program check table, so we can put it into the
read-only data section.
Also use only four byte entries for the table, since each program
check handler resides within the first 2GB. Therefore this reduces
the size of the table by 50% on 64 bit builds.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
11 years agos390/mm,vmemmap: use 1MB frames for vmemmap
Heiko Carstens [Wed, 17 Oct 2012 10:18:05 +0000 (12:18 +0200)]
s390/mm,vmemmap: use 1MB frames for vmemmap

Use 1MB frames for vmemmap if EDAT1 is available in order to
reduce TLB pressure
Always use a 1MB frame even if its only partially needed for
struct pages. Otherwise we would end up with a mix of large
frame and page mappings, because vmemmap_populate gets called
for each section (256MB -> 3.5MB memmap) separately.
Worst case is that we would waste 512KB.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
11 years agos390/mm,vmem: use 2GB frames for identity mapping
Heiko Carstens [Mon, 8 Oct 2012 07:18:26 +0000 (09:18 +0200)]
s390/mm,vmem: use 2GB frames for identity mapping

Use 2GB frames for indentity mapping if EDAT2 is
available to reduce TLB pressure.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
11 years agos390/cio: fix length calculation in idset.c
Sebastian Ott [Tue, 6 Nov 2012 14:10:05 +0000 (15:10 +0100)]
s390/cio: fix length calculation in idset.c

bitmap_or uses the number of bits as its length parameter and
not the number of words necessary to store those bits.

This fixes a regression introduced by:
aa92b33 s390/cio: use generic bitmap functions

Reported-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
Acked-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
11 years agos390/sclp: fix addressing mode clobber
Heiko Carstens [Wed, 31 Oct 2012 16:14:39 +0000 (17:14 +0100)]
s390/sclp: fix addressing mode clobber

The early mini sclp driver may be called in zArch mode either in
31 or 64 bit addressing mode.
If called in 31 bit addressing mode the new external interrupt psw
however would switch to 64 bit addressing mode. This would cause an
addressing exception within the interrupt handler, since the code
didn't expect the zArch/31 bit addressing mode combination.

Fix this by setting the new psw addressing mode bits so they fit
the current addressing mode.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
11 years agos390: Move css limits from drivers/s390/cio/ to include/asm/.
Cornelia Huck [Mon, 2 Apr 2012 16:22:45 +0000 (18:22 +0200)]
s390: Move css limits from drivers/s390/cio/ to include/asm/.

There's no need to keep __MAX_SUBCHANNEL and __MAX_SSID private to the
common I/O layer when __MAX_CSSID is usable by everybody.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
11 years agoMIPS: Fix harmlessly missing else statement.
Ralf Baechle [Tue, 6 Nov 2012 13:27:19 +0000 (14:27 +0100)]
MIPS: Fix harmlessly missing else statement.

The actual bug is a missing else statement - but really this should be
expressed using a switch() statement.

Found by Al Viro who writes "the funny thing is, it *does* work only
because r2 is syscall number and syscall number around 512 => return
value being ENOSYS and not one of ERESTART...  so we really can't hit
the first if and emerge from it with ERESTART_RESTARTBLOCK.  still
wrong to write it that way..."

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoGFS2: Don't call file_accessed() with a shared glock
Benjamin Marzinski [Tue, 6 Nov 2012 06:49:28 +0000 (00:49 -0600)]
GFS2: Don't call file_accessed() with a shared glock

file_accessed() was being called by gfs2_mmap() with a shared glock. If it
needed to update the atime, it was crashing because it dirtied the inode in
gfs2_dirty_inode() without holding an exclusive lock. gfs2_dirty_inode()
checked if the caller was already holding a glock, but it didn't make sure that
the glock was in the exclusive state. Now, instead of calling file_accessed()
while holding the shared lock in gfs2_mmap(), file_accessed() is called after
grabbing and releasing the glock to update the inode.  If file_accessed() needs
to update the atime, it will grab an exclusive lock in gfs2_dirty_inode().

gfs2_dirty_inode() now also checks to make sure that if the calling process has
already locked the glock, it has an exclusive lock.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
11 years agomodules: don't break modules_install on external modules with no key.
Rusty Russell [Tue, 6 Nov 2012 01:16:59 +0000 (11:46 +1030)]
modules: don't break modules_install on external modules with no key.

The script still spits out an error ("Can't read private key") but we
don't break modules_install.

Reported-by: Bruno Wolff III <bruno@wolff.to>
Original-patch-by: Josh Boyer <jwboyer@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
11 years agoPCI/portdrv: Don't create hotplug slots unless port supports hotplug
Taku Izumi [Wed, 31 Oct 2012 00:51:48 +0000 (09:51 +0900)]
PCI/portdrv: Don't create hotplug slots unless port supports hotplug

Commit 2dcfaf85 mistakenly dropped the "flags & PCI_EXP_FLAGS_SLOT" test,
so now we create hotplug slots even for PCIe port devices that don't
support hotplug.  This patch fixes this problem.

[bhelgaas: changelog]
Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Yinghai Lu <yinghai@kernel.org>
Reviewed-by: Jiang Liu <jiang.liu@huawei.com>
11 years agoMerge branch 'pci/huang-d3cold-fixes' into for-linus
Bjorn Helgaas [Mon, 5 Nov 2012 23:59:53 +0000 (16:59 -0700)]
Merge branch 'pci/huang-d3cold-fixes' into for-linus

* pci/huang-d3cold-fixes:
  PCI/PM: Fix proc config reg access for D3cold and bridge suspending
  PCI/PM: Resume device before shutdown
  PCI/PM: Fix deadlock when unbinding device if parent in D3cold

11 years agoi2c-i801: Add device tree support
Thierry Reding [Mon, 5 Nov 2012 22:54:40 +0000 (09:54 +1100)]
i2c-i801: Add device tree support

Add support for probing slave devices parsed from the device tree.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
11 years agoMerge branch 'pci/yinghai-for-pci-root-bus-hotplug' into next
Bjorn Helgaas [Mon, 5 Nov 2012 17:53:47 +0000 (10:53 -0700)]
Merge branch 'pci/yinghai-for-pci-root-bus-hotplug' into next

* pci/yinghai-for-pci-root-bus-hotplug:
  PCI/ACPI: Remove acpi_root_driver in reverse order
  PCI/ACPI: Delete host bridge _PRT during hot remove path
  PCI/ACPI: Make acpi_pci_root_remove() stop/remove pci root bus
  PCI: Add pci_stop_and_remove_root_bus()
  PCI/ACPI: Assign unassigned resource for hot-added root bus
  PCI: Move out pci_enable_bridges out of assign_unsigned_bus_res
  PCI: Move pci_rescan_bus() back to probe.c
  PCI: Separate out pci_assign_unassigned_bus_resources()

11 years agoMerge branch 'pci/misc' into next
Bjorn Helgaas [Mon, 5 Nov 2012 17:52:03 +0000 (10:52 -0700)]
Merge branch 'pci/misc' into next

* pci/misc:
  PCI: Convert dev_printk(KERN_<LEVEL> to dev_<level>(
  x86/PCI: Ignore _SEG on HP xw9300
  PCI: Don't touch card regs after runtime suspend D3
  PCI: Convert pci_resource_<foo> macros to static inlines

11 years agoPCI/PM: Fix proc config reg access for D3cold and bridge suspending
Huang Ying [Thu, 25 Oct 2012 01:36:03 +0000 (09:36 +0800)]
PCI/PM: Fix proc config reg access for D3cold and bridge suspending

In https://bugzilla.kernel.org/show_bug.cgi?id=48981
Peter reported that /proc/bus/pci/??/??.? does not work for 3.6.
This is because the device configuration space registers are
not accessible if the corresponding parent bridge is suspended or
the device is put into D3cold state.

This is the same as /sys/bus/pci/devices/0000:??:??.?/config access
issue.  So the function used to solve sysfs issue is used to solve
this issue.

This patch moves pci_config_pm_runtime_get()/_put() from pci/pci-sysfs.c
to pci/pci.c and makes them extern so they can be used by both the
sysfs and proc paths.

[bhelgaas: changelog, references, reporters]
Reference: https://bugzilla.kernel.org/show_bug.cgi?id=48981
Reference: https://bugzilla.kernel.org/show_bug.cgi?id=49031
Reported-by: Forrest Loomis <cybercyst@gmail.com>
Reported-by: Peter <lekensteyn@gmail.com>
Reported-by: Micael Dias <kam1kaz3@gmail.com>
Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
CC: stable@vger.kernel.org # v3.6+
11 years agoxtensa: add xtavnet DTS
Max Filippov [Sat, 3 Nov 2012 08:57:52 +0000 (12:57 +0400)]
xtensa: add xtavnet DTS

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
11 years agoxtensa: add support for the XTAVNET boards
Max Filippov [Mon, 5 Nov 2012 03:37:14 +0000 (07:37 +0400)]
xtensa: add support for the XTAVNET boards

The Avnet LX60/LX110/LX200 board is an FPGA board that can be configured with
an Xtensa processor and an OpenCores Ethernet device.

Signed-off-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
11 years agoxtensa: add device trees support
Max Filippov [Sat, 3 Nov 2012 20:30:13 +0000 (00:30 +0400)]
xtensa: add device trees support

Device trees allow specification of hardware topology and device
parameters at runtime instead of hard-coding them in platform setup
code. This allows running single binary kernel on a range of compatible
boards.

New boot parameters tag BP_TAG_FDT is allocated and a pointer to flat
device tree is passed in it.

Note that current interrupt mapping scheme uses single cell for
interrupt identification. That means that IRQ numbers used in DTS must
be CPU internal IRQ numbers, not external. It is possible to extend
interrupt identification to two cells, and use second cell to tell
external IRQ numbers form internal. That would allow to use single DTS
on multiple boards with different mapping of external IRQ numbers.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
11 years agoxtensa: add IRQ domains support
Max Filippov [Sat, 3 Nov 2012 20:29:12 +0000 (00:29 +0400)]
xtensa: add IRQ domains support

IRQ domains provide a mechanism for conversion of linux IRQ numbers to
hardware IRQ numbers and vice versus. It is used by OpenFirmware for
linking device tree objects to their respective interrupt controllers.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
11 years agoxtensa: add U-Boot image support (uImage).
Max Filippov [Mon, 5 Nov 2012 03:36:00 +0000 (07:36 +0400)]
xtensa: add U-Boot image support (uImage).

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
11 years agoxtensa: clean up boot make rules
Max Filippov [Mon, 5 Nov 2012 05:10:00 +0000 (09:10 +0400)]
xtensa: clean up boot make rules

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
11 years agoMerge branch 'hw-breakpoint' into for-next/perf
Will Deacon [Mon, 5 Nov 2012 16:26:52 +0000 (16:26 +0000)]
Merge branch 'hw-breakpoint' into for-next/perf

11 years agoMerge branch 'perf/updates' into for-next/perf
Will Deacon [Mon, 5 Nov 2012 16:26:46 +0000 (16:26 +0000)]
Merge branch 'perf/updates' into for-next/perf

11 years agoARM: PMU: fix runtime PM enable
Jon Hunter [Thu, 25 Oct 2012 20:23:18 +0000 (21:23 +0100)]
ARM: PMU: fix runtime PM enable

Commit 7be2958 (ARM: PMU: Add runtime PM Support) updated the ARM PMU code to
use runtime PM which was prototyped and validated on the OMAP devices. In this
commit, there is no call pm_runtime_enable() and for OMAP devices
pm_runtime_enable() is currently being called from the OMAP PMU code when the
PMU device is created. However, there are two problems with this:

1. For any other ARM device wishing to use runtime PM for PMU they will need
   to call pm_runtime_enable() for runtime PM to work.
2. When booting with device-tree and using device-tree to create the PMU
   device, pm_runtime_enable() needs to be called from within the ARM PERF
   driver as we are no longer calling any device specific code to create the
   device. Hence, PMU does not work on OMAP devices that use the runtime PM
   callbacks when using device-tree to create the PMU device.

Therefore,  call pm_runtime_enable() directly from the ARM PMU driver when
registering the device. For platforms that do not use runtime PM,
pm_runtime_enable() does nothing and for platforms that do use runtime PM but
may not require it specifically for PMU, this will just add a little overhead
when initialising and uninitialising the PMU device.

Tested with PERF on OMAP2420, OMAP3430 and OMAP4460.

Acked-by: Kevin Hilman <khilman@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
11 years agoarm64: perf: use architected event for CPU cycle counter
Will Deacon [Mon, 5 Nov 2012 12:34:47 +0000 (12:34 +0000)]
arm64: perf: use architected event for CPU cycle counter

We currently use a fake event encoding (0xFF) to indicate CPU cycles so
that we don't waste an event counter and can target the hardware cycle
counter instead.

The problem with this approach is that the event space defined by the
architecture permits an implementation to allocate 0xFF for some other
event.

This patch uses the architected cycle counter encoding (0x11) so that
we avoid potentially clashing with event encodings on future CPU
implementations.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
11 years agoarm64: Make the user fault reporting more specific
Catalin Marinas [Wed, 24 Oct 2012 15:34:02 +0000 (16:34 +0100)]
arm64: Make the user fault reporting more specific

For user space faults the kernel reports "unhandled page fault" and it
gives the ESR value. With this patch the error message looked up in the
fault info array to give a better description.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
11 years agoMerge tag 'v3.7-rc4' into upstream-master
Catalin Marinas [Mon, 5 Nov 2012 14:58:32 +0000 (14:58 +0000)]
Merge tag 'v3.7-rc4' into upstream-master

Linux 3.7-rc4

11 years agoMerge branch 'for-3.8/roccat' into for-next
Jiri Kosina [Mon, 5 Nov 2012 12:21:04 +0000 (13:21 +0100)]
Merge branch 'for-3.8/roccat' into for-next

11 years agoHID: roccat: Cleanup of koneplus module
Stefan Achatz [Sun, 4 Nov 2012 08:39:09 +0000 (09:39 +0100)]
HID: roccat: Cleanup of koneplus module

Removed caching of profile data which lowers memory footprint,
speeds up init and fixes problems with device reset.
Removed unnecessary infos in header.
Code moved nearer to format of newer drivers.

Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
11 years agoHID: roccat: enable Koneplus device reset
Stefan Achatz [Sun, 4 Nov 2012 08:39:04 +0000 (09:39 +0100)]
HID: roccat: enable Koneplus device reset

Device can be reset to factory state by sending a command via info sysfs attr.
Added binary attribute info for this purpose, which obsoletes firmware_version
attribute.

Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
11 years agoHID: roccat: enable Savu device reset
Stefan Achatz [Sun, 4 Nov 2012 08:38:58 +0000 (09:38 +0100)]
HID: roccat: enable Savu device reset

Device can be reset to factory state by sending a command via info sysfs attr.
Changed from ro to rw to enable this feature.

Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
11 years agoHID: roccat: add support for KoneXTD
Stefan Achatz [Sun, 4 Nov 2012 08:38:52 +0000 (09:38 +0100)]
HID: roccat: add support for KoneXTD

KoneXTD is just a Kone[+] with updated sensor, so it's handled by
koneplus driver.

Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
11 years agocifs: fix SID binary to string conversion
Jeff Layton [Mon, 5 Nov 2012 11:47:05 +0000 (06:47 -0500)]
cifs: fix SID binary to string conversion

The authority fields are supposed to be represented by a single 48-bit
value. It's also supposed to represent the value as hex if it's equal to
or greater than 2^32. This is documented in MS-DTYP, section 2.4.2.1.

Also, fix up the max string length to account for this fix.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
11 years agocifs: deal with id_to_sid embedded sid reply corner case
Jeff Layton [Mon, 5 Nov 2012 11:47:05 +0000 (06:47 -0500)]
cifs: deal with id_to_sid embedded sid reply corner case

A SID could potentially be embedded inside of payload.value if there are
no subauthorities, and the arch has 8 byte pointers. Allow for that
possibility there.

While we're at it, rephrase the "embedding" check in terms of
key->payload to allow for the possibility that the union might change
size in the future.

Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
11 years agocifs: fix hardcoded default security descriptor length
Jeff Layton [Mon, 5 Nov 2012 11:47:04 +0000 (06:47 -0500)]
cifs: fix hardcoded default security descriptor length

It was hardcoded to 192 bytes, which was not enough when the max number
of subauthorities went to 15. Redefine this constant in terms of sizeof
the structs involved, and rename it for better clarity.

While we're at it, remove a couple more unused constants from cifsacl.h.

Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
11 years agocifs: extra sanity checking for cifs.idmap keys
Jeff Layton [Mon, 5 Nov 2012 11:47:04 +0000 (06:47 -0500)]
cifs: extra sanity checking for cifs.idmap keys

Now that we aren't so rigid about the length of the key being passed
in, we need to be a bit more rigorous about checking the length of
the actual data against the claimed length (a'la num_subauths field).

Check for the case where userspace sends us a seemingly valid key
with a num_subauths field that goes beyond the end of the array. If
that happens, return -EIO and invalidate the key.

Also change the other places where we check for malformed keys in this
code to invalidate the key as well.

Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
11 years agocifs: ensure we revalidate the inode after readdir if cifsacl is enabled
Jeff Layton [Mon, 5 Nov 2012 11:47:04 +0000 (06:47 -0500)]
cifs: ensure we revalidate the inode after readdir if cifsacl is enabled

Otherwise, "ls -l" will simply show the ownership of the files as
the default mnt_uid/gid. This may make "ls -l" performance on large
directories super-suck in some cases, but that's the cost of cifsacl.

One possibility to make it suck less would be to somehow proactively
dispatch the ACL requests asynchronously from readdir codepath, but
that's non-trivial to implement.

Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
11 years agocifs: don't override the uid/gid in getattr when cifsacl is enabled
Jeff Layton [Mon, 5 Nov 2012 11:47:03 +0000 (06:47 -0500)]
cifs: don't override the uid/gid in getattr when cifsacl is enabled

If we're using cifsacl, then we don't want to override the uid/gid with
the current uid/gid, since that would prevent you from being able to
upcall for this info.

Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
11 years agocifs: avoid extra allocation for small cifs.idmap keys
Jeff Layton [Mon, 5 Nov 2012 11:47:03 +0000 (06:47 -0500)]
cifs: avoid extra allocation for small cifs.idmap keys

The cifs.idmap keytype always allocates memory to hold the payload from
userspace. In the common case where we're translating a SID to a UID or
GID, we're allocating memory to hold something that's less than or equal
to the size of a pointer.

When the payload is the same size as a pointer or smaller, just store
it in the payload.value union member instead. That saves us an extra
allocation on the sid_to_id upcall.

Note that we have to take extra care to check the datalen when we
go to dereference the .data pointer in the union, but the callers
now check that as a matter of course anyway.

Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
11 years agocifs: simplify id_to_sid and sid_to_id mapping code
Jeff Layton [Mon, 5 Nov 2012 11:47:02 +0000 (06:47 -0500)]
cifs: simplify id_to_sid and sid_to_id mapping code

The cifs.idmap handling code currently causes the kernel to cache the
data from userspace twice. It first looks in a rbtree to see if there is
a matching entry for the given id. If there isn't then it calls
request_key which then checks its cache and then calls out to userland
if it doesn't have one. If the userland program establishes a mapping
and downcalls with that info, it then gets cached in the keyring and in
this rbtree.

Aside from the double memory usage and the performance penalty in doing
all of these extra copies, there are some nasty bugs in here too. The
code declares four rbtrees and spinlocks to protect them, but only seems
to use two of them. The upshot is that the same tree is used to hold
(eg) uid:sid and sid:uid mappings. The comparitors aren't equipped to
deal with that.

I think we'd be best off to remove a layer of caching in this code. If
this was originally done for performance reasons, then that really seems
like a premature optimization.

This patch does that -- it removes the rbtrees and the locks that
protect them and simply has the code do a request_key call on each call
into sid_to_id and id_to_sid. This greatly simplifies this code and
should roughly halve the memory utilization from using the idmapping
code.

Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
11 years agocifs: remove uneeded __KERNEL__ block from cifsacl.h
Jeff Layton [Mon, 5 Nov 2012 11:47:02 +0000 (06:47 -0500)]
cifs: remove uneeded __KERNEL__ block from cifsacl.h

...and make those symbols static in cifsacl.c. Nothing outside
of that file refers to them.

Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
11 years agocifs: fix the format specifiers in sid_to_str
Jeff Layton [Mon, 5 Nov 2012 11:47:02 +0000 (06:47 -0500)]
cifs: fix the format specifiers in sid_to_str

The format specifiers are for signed values, but these are unsigned.
Given that '-' is a delimiter between fields, I don't think you'd get
what you'd expect if you got a value here that would overflow the sign
bit.

The version and authority fields are 8 bit values so use a "hh" length
modifier there. The subauths are 32 bit values, so there's no need to
use a "l" length modifier there.

Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
11 years agocifs: redefine NUM_SUBAUTH constant from 5 to 15
Jeff Layton [Mon, 5 Nov 2012 11:47:01 +0000 (06:47 -0500)]
cifs: redefine NUM_SUBAUTH constant from 5 to 15

According to several places on the Internet and the samba winbind code,
this is hard limited to 15 in windows, not 5. This does balloon out
the allocation of each by 40 bytes, but I don't see any alternative.

Also, rename it to SID_MAX_SUB_AUTHORITIES to match the alleged name
of this constant in the windows header files

Finally, rename SIDLEN to SID_STRING_MAX, fix the value to reflect
the change to SID_MAX_SUB_AUTHORITIES and document how it was
determined.

Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
11 years agocifs: make cifs_copy_sid handle a source sid with variable size subauth arrays
Jeff Layton [Mon, 5 Nov 2012 11:47:01 +0000 (06:47 -0500)]
cifs: make cifs_copy_sid handle a source sid with variable size subauth arrays

...and lift the restriction in id_to_sid upcall that the size must be
at least as big as a full cifs_sid.

Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
11 years agocifs: make compare_sids static
Jeff Layton [Mon, 5 Nov 2012 11:47:00 +0000 (06:47 -0500)]
cifs: make compare_sids static

..nothing outside of cifsacl.c calls it. Also fix the incorrect
comment on the function. It returns 0 when they match.

Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
11 years agocifs: use the NUM_AUTHS and NUM_SUBAUTHS constants in cifsacl code
Jeff Layton [Mon, 5 Nov 2012 11:47:00 +0000 (06:47 -0500)]
cifs: use the NUM_AUTHS and NUM_SUBAUTHS constants in cifsacl code

...instead of hardcoding in '5' and '6' all over the place.

Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
11 years agocifs: move num_subauth check inside of CONFIG_CIFS_DEBUG2 check in parse_sid()
Jeff Layton [Mon, 5 Nov 2012 11:47:00 +0000 (06:47 -0500)]
cifs: move num_subauth check inside of CONFIG_CIFS_DEBUG2 check in parse_sid()

Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
11 years agocifs: clean up id_mode_to_cifs_acl
Jeff Layton [Mon, 5 Nov 2012 11:46:59 +0000 (06:46 -0500)]
cifs: clean up id_mode_to_cifs_acl

Add a label we can goto on error, and get rid of some excess indentation.
Also move to kernel-style comments.

Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>